API мгновенного обновления Paypal - ошибка MAXAMT - PullRequest
0 голосов
/ 24 февраля 2012

с тех пор, как я пытаюсь решить следующую ошибку из PayPal Instant Update API

[L_ERRORCODE0] => 11832
[L_SHORTMESSAGE0] => Maximum amount of order is less than itemized amounts.
[L_LONGMESSAGE0] => Maximum amount of order is less than itemized amounts.

Вот запрос:

Method: SetExpressCheckout
Request: 
Formatted Request: Array
(
    [PAYMENTREQUEST_0_AMT] => 3.00
    [PAYMENTREQUEST_0_CURRENCYCODE] => EUR
    [PAYMENTREQUEST_0_ITEMAMT] => 1.00
    [PAYMENTREQUEST_0_SHIPPINGAMT] => 1.00
    [PAYMENTREQUEST_0_NOTIFYURL] => http://www.eee.de/ipn.php
    [PAYMENTREQUEST_0_CALLBACK] => http://www.eee.de/ajax.php?action=eee
    [PAYMENTREQUEST_0_MAXAMT] => 11.00
    [LOGO] => https://www.eee.de/template/img/logo-eee.png
    [CANCELURL] => http://eee.de/bestellung.php?paypal_express=cancel
    [RETURNURL] => http://eee.de/bestellung.php?paypal_express=return
    [L_PAYMENTREQUEST_0_AMT0] => 1.00
    [L_PAYMENTREQUEST_0_NAME0] => Item
    [L_PAYMENTREQUEST_0_DESC0] => Desc
    [L_PAYMENTREQUEST_0_QTY0] => 1
    [L_PAYMENTREQUEST_0_NUMBER0] => 123
    [CALLBACKVERSION] => 82.0
    [CALLBACK] => http://www.eee.de/ajax.php?action=ppe_shipping
    [L_SHIPPINGOPTIONISDEFAULT0] => true
    [L_SHIPPINGOPTIONNAME0] => UPS0
    [L_SHIPPINGOPTIONAMOUNT0] => 1.00
    [L_SHIPPINGOPTIONISDEFAULT1] => false
    [L_SHIPPINGOPTIONNAME1] => UPS2
    [L_SHIPPINGOPTIONAMOUNT1] => 2.00
    [L_SHIPPINGOPTIONISDEFAULT2] => false
    [L_SHIPPINGOPTIONAMOUNT2] => 3.00
    [PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED] => true
    [PAYMENTREQUEST_0_INSURANCEAMT] => 1.00
)

Я пробовал каждую комбинацию значений

это ответ от Callbackurl:

METHOD=CallbackResponse
&OFFERINSURANCEOPTION=true
&L_SHIPPINGOPTIONNAME0=UPS0
&L_SHIPPINGOPTIONAMOUNT0=1.00
&L_INSURANCEAMOUNT0=1.00
&L_SHIPPINGOPTIONISDEFAULT0=true
&L_SHIPPINGOPTIONNAME1=UPS1
&L_SHIPPINGOPTIONAMOUNT1=2.00
&L_INSURANCEAMOUNT1=1.00
&L_SHIPPINGOPTIONISDEFAULT1=false
&L_SHIPPINGOPTIONNAME2=UPS2
&L_SHIPPINGOPTIONAMOUNT2=3.00
&L_INSURANCEAMOUNT2=1.00
&L_SHIPPINGOPTIONISDEFAULT2=false

Насколько я понимаю, значение MAXAMT - это сумма предметов + максимальная доставка + налог + коэффициент x, так почему, черт возьми, он сравнивает его таким образом? 11,00 <3,00 (3,00 = пункт + доставка + страховка) </p>

Я полностью потерян! Спасибо за любую подсказку!

1 Ответ

2 голосов
/ 13 марта 2012

Попробуйте использовать MAXAMT вместо PAYMENTREQUEST_0_MAXAMT.

На самом деле документация PayPal отстой, так как одни и те же вещи описаны в документации PayPal совершенно по-разному.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...