Я пытаюсь внедрить купонные скидки.
Проблема, с которой я сталкиваюсь, заключается в том, что, хотя Paypal признает что запрашивается скидка, он игнорирует ее. Самое интересное, что Paypal отображает одну сумму для покупателя, но взимает другую. Как это возможно?
Пожалуйста, проверьте скриншоты ниже:
Вы можете четко наблюдать, что купон применяется, и сумма, которая будет взиматься 3,20 GBP.
Тем не менее, когда пользователь продолжает, он взимается 4,00 GBP, полная сумма:
Вот значения соответствующая строка NVP (как раз перед curl_exec()
называется) отправлено в Paypal:
METHOD=SetExpressCheckout
VERSION=76.0
PWD=*something*
USER=e-shop_api1.somesite.com
SIGNATURE=somesignature
ReturnUrl=http%3A%2F%2Fwww.example.com%2Fcheckout.php%3Faction%3Dnotify
CANCELURL=http%3A%2F%2Fwww.example.com%2Fshopping-bag%2F
PAYMENTACTION=Sale
CURRENCYCODE=GBP
PAYMENTREQUEST_0_CURRENCYCODE=GBP
ALLOWNOTE=1
PAYMENTREQUEST_0_SHIPPINGAMT=0.00
PAYMENTREQUEST_0_AMT=3.20
PAYMENTREQUEST_0_ITEMAMT=3.20
// Product
L_PAYMENTREQUEST_0_QTY0=1
L_PAYMENTREQUEST_0_AMT0=4
L_PAYMENTREQUEST_0_NAME0=Some+Item+-+SIZE+%2F+1+size
L_PAYMENTREQUEST_0_NUMBER0=THE+PRODUCT+02355
// Coupon
L_PAYMENTREQUEST_0_QTY1=1
L_PAYMENTREQUEST_0_AMT1=-0.80
L_PAYMENTREQUEST_0_NAME1=Coupon
Почему Paypal отображает одну сумму и взимает другую, и как это исправить?
Вполне вероятно, что общая сумма в запросе API DoExpressCheckoutPayment была установлена равной 4, как это PAYMENTREQUEST_0_AMT=4
, так что пользователь был обвинен как переданное значение. Может быть, вы можете опубликовать запрос API DoExpressCheckoutPayment, чтобы я мог посмотреть?
Других решений пока нет …