I want to be able to make an order completely free
I have been successful in making the initial value of the order £0 but the product had a recurring payment attached to it and I want this to be £0 as well so the order goes through completely free as at the moment it goes to paypal still due to the recurring payment.

Comments

di3gopa’s picture

I am having the same problem, i have actually coupon codes + recurring payments, so if the user use a coupon to get lets say the first month free, uc still uses paypal as the payment method even if the order is $0.00 because of the recurring fee

Not sure what to do here.

peter.gosling’s picture

Anyone have any solutions to this problem?

sidharth_k’s picture

subscribing

lonehorseend’s picture

Subscribing

Anonymous’s picture

Status: Active » Needs review

Hi everyone, we were struggling with the same problem, and i think implemented a good solution.

The development was sponsored by Levia IT. The developers who worked on this are:

The free payment method needed to be recognized by recurring module as a payment method that could do recurring billing. so we implemented the hook_recurring_info.

here is what we needed to insert:

/*
 * Implementation of hook_recurring_info (from uc_recurring, optional support for CIM-style recurring payments)
 */
function uc_free_order_recurring_info() {
  $items = array();
  $items['free_order'] = array(
    'name' => t('Free Order standalone'),
    'payment method' => 'free_order',
    'module' => 'uc_recurring',
    'fee handler' => 'free_order',
    'renew callback' => 'uc_free_order_renew',
    'process callback' => 'uc_free_order_proc',
    'own handler' => FALSE,
    'menu' => array(
      'charge' => UC_RECURRING_MENU_DEFAULT,
      'edit' => UC_RECURRING_MENU_DEFAULT,
      'cancel' => UC_RECURRING_MENU_DEFAULT,
    ) // Use the default user operation defined in uc_recurring.
  );
  return $items;
}

function uc_free_order_renew($order, &$fee) { 	 return true; }
function uc_free_order_proc($order, &$fee) { 	 return true; }

Here are the steps:

  1. Add this code to the uc_free_order.module (if you are not sure how to do this download a patched version from here ).
  2. go to http://example.com/admin/store/settings/payment/edit/recurring and make sure where it says Valid payment methods for orders with recurring fees: that free payment method is selected

P.S. Also maybe someone with proper permission level could apply this as a patch to the module.

mattcasey’s picture

#5 works for me

spyderpie’s picture

subscribing - I am having this problem as well .. the error reports: A handler for processing and renewing recurring fees cannot be found for the free_order payment method. Your order cannot be completed, because we could not process your recurring payment. Please review your payment details and contact us to complete your order if the problem persists.

Is it possible this will be implemented in the module .. I don't like altering modules that might get overwritten later ... I am on Drupal 7 .. I realize this is for D6, but I didn't want to duplicate tickets.

Peace,
Julie