2013-08-07 19 views
0

我目前在网上商店工作,我想添加贝宝作为结帐方法。 我开始使用快速结账工作正常,直到我试图增加税收。快速结帐的问题是我需要计算税额并将其余信息发送给它。我的问题是我需要知道客户来自哪里,所以我可以调整税额。我尝试使用自适应付款,但是当涉及到订单的描述时,它只显示接收者(例如:[email protected]),所以我无法像使用Express Checkout一样添加多个项目,吨工作了,我没有试图看看税收是否与这种方法一起工作。在PayPal上有商品描述和税收

所以我想知道什么是...

  1. 我怎样才能得到客户,所以我让他可以在订单详细信息与快速结账的 税的地址?

  2. 如果这是不可能的,是有办法,我可以更改订单的自适应支付的 细节?

有被假设是一种方式做DoExpressCheckout之前得到的地址,并通过在使用MAXAMT改变税额有SetExpressCheckout但客户只能看到税额我的网站,而不是在我认为有点奇怪的贝宝页面。

编辑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'; 

我为该方法尝试了回调和CallbackRequest,当我进入页面本身时,我总是得到“指定的方法不是支持“

在这一点上,我真的不知道该怎么尝试。

回答

0

您可以使用CallBack API在PayPal付款页面上正确更新。您将通过税款/运费的初始金额。然后,一旦买家输入他们的地址或登录到他们的账户,CallBack API将发送信息来计算费用并将其显示给买家。您可以在第59页开始的developers guide中找到更多信息。

+0

我无法让它工作之前,但与您链接我的文档我认为我做到了,但现在我得到 **平价运输选项丢失。 统一运费选项缺失;您必须在指定回拨网址时指定统一费率送货选项。** 我进入了我的贝宝个人资料,并且现在为加拿大(加拿大)增加了一些加拿大(测试)费率,但我仍然收到该消息,为什么? –

+0

您需要在SetExpressCheckout API rquest中传递装运。 –

+0

我通过请求传送传送......我用请求字符串编辑了问题。我已经尝试过0 $以上,总是出现同样的错误。 –