В настоящее время я работаю над интернет-магазином, и я хотел добавить Paypal в качестве способа оплаты. Я начал с Экспресс-оплаты, которая работала нормально, пока я не попытался добавить налоги. Проблема с Express Checkout заключается в том, что мне нужно будет рассчитать сумму налогов и отправить ее вместе с остальной информацией. Моя проблема в том, что мне нужно знать, откуда клиент, чтобы я мог скорректировать сумму налога. Я пытался использовать Adaptive Payments, но когда дело доходит до описания заказа, он показывает только получателей (например, [email protected]), поэтому я не могу добавить несколько элементов, как в Express. Оформить заказ, так как это не сработало, я не пытался проверить, работает ли налог с этим методом.
Итак, я хотел бы знать...
Как я могу получить адрес клиента, чтобы показать ему налоги в деталях заказа с помощью экспресс-оплаты?
Если это невозможно, могу ли я изменить детали заказа адаптивного платежа?
Предполагается, что есть способ получить адрес перед выполнением DoExpressCheckout и изменить там сумму налога, используя MAXAMT в SetExpressCheckout, но клиент увидит сумму налога только на моем веб-сайте, а не на странице Paypal, что, на мой взгляд, довольно странно.
Изменить 1
Теперь, когда я добавил обратный вызов, у меня запрашивается фиксированная ставка за доставку.
Вот строка моего запроса...
'&METHOD=SetExpressCheckout'.
'&AMT='.$subTotal.
'&MAXAMT='.round($subTotal*1.13, 2,PHP_ROUND_HALF_EVEN).
'&RETURNURL='.$returnUrl.
'&CANCELURL='.$cancelUrl.
'&CALLBACK='.$callbackUrl.
'&CALLBACKTIMEOUT=10'.
'&L_SHIPPINGOPTIONISDEFAULT0=true'.
'&L_SHIPPINGOPTIONNAME0=FreeShipping'.
'&l_shippingOptionLabel0=FreeShipping'.
'&L_SHIPPINGOPTIONAMOUNT0=0.00'.
'&SHIPPINGAMT=0.00'.
'&CURRENCYCODE='.$currencyCode.
$desc. //Contains every item description
'&TAXAMT=0.00'.
'&ITEMAMT='.$subTotal.
'&LOCALECODE=EN';
Изменить 2
Итак, теперь SetExpressCheckout работает, но мой запрос обратного вызова не...
'&METHOD=Callback'.
'&L_AMT0='.
'&PAYMENT_0_REQUESTAMT='.round($subTotal*1.13, 2,PHP_ROUND_HALF_EVEN).
'&CURRENCYCODE='.$_SESSION['Currency'].
'&L_TAXAMT0='.round($subTotal*0.13, 2,PHP_ROUND_HALF_EVEN).
'&ITEMAMT='.round($subTotal*1.13, 2,PHP_ROUND_HALF_EVEN).
'&LOCALECODE=EN';
Я попробовал Callback и CallbackRequest для метода, и когда я захожу на саму страницу, я всегда получаю "Указанный метод не поддерживается".
Я действительно не знаю, что попробовать на данный момент.