【发布时间】:2013-08-07 17:36:21
【问题描述】:
我目前正在经营一家在线商店,我想将 Paypal 添加为结帐方式。 我开始使用 Express Checkout,在我尝试加税之前效果很好。 Express Checkout 的问题是我需要计算税额并将其与其余信息一起发送。我的问题是我需要知道客户来自哪里,以便调整税额。我尝试使用 Adaptive Payments,但是当涉及到订单的描述时,它只显示接收者(例如:OnlineShop@something.ye)所以我不能像使用 Express 一样添加多个项目结帐,因为这没有成功,我没有尝试查看税收是否适用于这种方法。
所以我想知道的是……
如何获取客户的地址,以便向他展示 使用 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,当我进入页面本身时,我总是得到 “不支持指定的方法”。
我现在真的不知道该尝试什么。
【问题讨论】:
标签: php paypal paypal-adaptive-payments