Closed (fixed)
Project:
PayPal Buttons for Ubercart
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
17 Feb 2010 at 17:45 UTC
Updated:
18 Sep 2010 at 21:20 UTC
Hi,
In "function uc_paypal_buttons_validate_ipn($order_id, $ipn, $order)"
l.1642:
// subscription-specific validation during sign-up stage
if ($options['subscription'] && $ipn['txn_type'] == 'subscr_signup') {
// Verify subscription settings from IPN
$orderopts = unserialize($rec->options);
if ((isset($orderopts['a1']) && uc_currency_format($orderopts['a1'], FALSE, FALSE) !== uc_currency_format($ipn['amount1'], FALSE, FALSE)) || (isset($orderopts['a2']) && uc_currency_format($orderopts['a2'], FALSE, FALSE) !== uc_currency_format($ipn['amount2'], FALSE, FALSE)) || (uc_currency_format($orderopts['a3'], FALSE, FALSE) !== uc_currency_format($ipn['amount3'], FALSE, FALSE))) {
watchdog('uc_paypal_button', 'PayPal Subscription sign-up IPN for order @order-id contains price amounts different than the initial product settings.', array('@order-id' => $order_id), WATCHDOG_WARNING);
return FALSE;
}
Will always return FALSE in case your currency is not USD. From IPN doc:
"amount3:
Amount of payment for regular subscription period for USD payments; otherwise blank."
You probably want to use mc_amount1-2-3 instead.
Comments
Comment #1
sdsheridanThis was causing me problems. Good catch!
Shawn
Comment #2
arithmetric commentedThanks for reporting this issue. I've committed this fix, and it will be included in the next development and stable releases.