0

我目前正在一家在线商店工作,我想将 Paypal 添加为结帐方式。我从使用Express Checkout开始,它工作得很好,直到我尝试加税。Express Checkout 的问题是我需要计算税额并将其与其余信息一起发送。我的问题是我需要知道客户来自哪里,以便调整税额。我尝试使用自适应付款,但在订单描述方面,它只显示收款人(例如:OnlineShop@something.ye),所以我无法像使用 Express Checkout 那样添加多个项目,因为这不起作用我没有尝试查看税收是否适用于这种方法。

所以我想知道的是...

  1. 如何获取客户的地址,以便我可以通过 Express Checkout 向他显示订单详细信息中的税金?

  2. 如果这是不可能的,有没有办法可以更改自适应付款的订单详细信息?

假设有一种方法可以在执行 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"

我现在真的不知道该尝试什么。

4

1 回答 1

0

您可以使用 CallBack API 在 PayPal 支付页面上正确更新它。您将传递税费/运费的初始金额。然后,一旦买家输入他们的地址或登录他们的帐户,CallBack API 就会发送信息以计算费用并将这些信息显示给买家。您可以在从第 59 页开始的开发人员指南中找到更多相关信息。

于 2013-08-07T20:44:21.280 回答