I'm using:


When there is more than the recurring item in the cart, only the recurring item shows up at Paypal. All other items in the cart are ignored.

The log, seen at: admin/store/orders//log doesn't make any mention of the non-recurring item(s) that were in the cart.

On the same web site, uc_recurring behaves as desired when it is the only item in the cart.

I get same result no matter whether "Submit the whole order as a single line item" or "Submit an itemized order showing each product and description" is set at Payment options => Paypal Website Standard is chosen.

I do have one clue: when there are no recurring item(s) in the cart, the Paypal screen looks recently designed and has choices for buyer to use a credit card OR login with Paypal. When there is a recurring item in the cart, the Paypal screen looks like it was designed a while ago, and it requires a Paypal login.

Might the problem be that this module only works if the web site owner's Paypal business account pays the extra $19.99/month for "Enhanced Recurring Payments"? Is PayPal's "Enhanced recurring payments" for PayPal WPS new?

Thanks for your help, I really appreciate it.



Shai’s picture

Okay, so I'm seeing this problem is documented and hasn't been solved. But the documentation and the trigger of the warning is limited to a situation where more than one recurring item is ordered. This issue is pointing out that the issue exists if ANY other kind of product is in the cart.

if (count($recurring_fees) > 1) {
drupal_set_message(t('Sorry recurring payments can only be setup for one product at a time when paying via paypal, only the first recurring payment will be setup when you click on Submit order.'), 'warning');

This warning only comes up if two recurring products are in the cart at the same time. But it needs to be triggered if a recurring item and ANY other item is in the cart.

Shai’s picture

This sort of solves the problem... although I'm not thrilled with the idea of deploying a cart that has this problem.

I replaced the code in the previous comment with this:

= count(uc_cart_get_contents()); //set a variable for the number of items in the cart
if (count($recurring_fees) > 0 &&  $number_of_items > 1) { // change the threshold for the number of recurring items condition from > 1 to > 0 and add a second condition that the total number of items in the cart is > 1
drupal_set_message(t('Sorry. Recurring payments can only be setup for one product at a time when paying via PayPal. Only the first recurring payment will be setup when you click on "Submit order." <strong>Any other item or items besides the first recurring item in the cart will be ignored</strong>.'), 'warning');
// be more explicit about what is going on in the warning message ?>
Nick Robillard’s picture

I've run into this exact issue. However it goes deeper. The Ubercart receipt that is sent to the customer incorrectly includes the non-recurring items that did not get processed or paid for. So the warning message is not enough. Logic is needed to remove the other products from the cart. Sigh...