我目前正在一家在线商店工作,我想将 Paypal 添加为结帐方式。我从使用Express Checkout开始,它工作得很好,直到我尝试加税。Express Checkout 的问题是我需要计算税额并将其与其余信息一起发送。我的问题是我需要知道客户来自哪里,以便调整税额。我尝试使用自适应付款,但在订单描述方面,它只显示收款人(例如:OnlineShop@something.ye),所以我无法像使用 Express Checkout 那样添加多个项目,因为这不起作用我没有尝试查看税收是否适用于这种方法。
所以我想知道的是...
如何获取客户的地址,以便我可以通过 Express Checkout 向他显示订单详细信息中的税金?
如果这是不可能的,有没有办法可以更改自适应付款的订单详细信息?
假设有一种方法可以在执行 DoExpressCheckout 之前获取地址并通过在SetExpressCheckout中使用MAXAMT更改税额,但客户只会在我的网站上看到税额,而不是在我认为的 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 ,当我进入页面本身时,我总是得到"Method Specified is not Supported"。
我现在真的不知道该尝试什么。