我目前正在网上商店工作,我想添加Paypal作为结帐方式。 我开始使用快速结帐,直到我尝试添加税款一直工作。 Express Checkout的问题在于我需要计算税额并将其余部分发送给信息。我的问题是我需要知道客户来自哪里,所以我可以调整税额。我尝试使用自适应付款,但是当涉及到订单的描述时,它只显示接收者(例如:OnlineShop@something.ye),所以我不能像我使用Express那样添加多个项目结账,因为这没有成功我没有试图看看税是否适用于这种方法。
所以我想知道的是......
如何获取客户的地址,以便我可以告诉他 快速结账时订单中的税金详情?
如果这不可能,有没有办法可以改变顺序 适应性付款的详细信息?
假设有一种方法可以在执行 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,当我进入页面本身时,我总是得到“不支持方法指定”。
我现在还不知道该尝试什么。
答案 0 :(得分:0)
您可以使用CallBack API在PayPal付款页面上正确更新。您将通过税/运费的初始金额。然后,一旦买方输入他们的地址或登录他们的帐户,CallBack API将发送信息以计算费用并将其显示给买方。您可以在第59页的developers guide中找到有关此内容的更多信息。