【问题标题】:Paypal setExpressCheckout nvp tax amount errorPaypal setExpressCheckout nvp 税额错误
【发布时间】:2012-08-08 11:30:28
【问题描述】:

我正在请求来自 paypal 的 setExpressCheckout 调用,但我收到错误代码 10413。它工作得非常好,直到我从项目总额中扣除税款并将 &PAYMENTREQUEST_0_TAXAMT 添加到请求中。这是请求网址:

https://api.sandbox.paypal.com/nvp?
METHOD=setExpressCheckout&VERSION=87.0
&USER=XXXXXXXXXX
&PWD=XXXXXXXXXX
&SIGNATURE=XXXXXXXXXX
&RETURNURL=XXXXXXXXXX
&CANCELURL=XXXXXXXXXX
&L_PAYMENTREQUEST_0_NAME0=Hy+Guardian+Fly+Rug
&L_PAYMENTREQUEST_0_NUMBER0=HY-FLY
&L_PAYMENTREQUEST_0_DESC0=Size%3A+4+ft+6%2C+Size%3A+4+ft+6%2C+Size%3A+4+ft+6%2C+Size%3A+4+ft+6
&L_PAYMENTREQUEST_0_AMT0=47.00
&L_PAYMENTREQUEST_0_QTY0=1
&PAYMENTREQUEST_0_CURRENCYCODE=GBP
&PAYMENTREQUEST_0_ITEMAMT=37.60
&PAYMENTREQUEST_0_SHIPPINGAMT=11.25
&PAYMENTREQUEST_0_TAXAMT=9.40
&PAYMENTREQUEST_0_AMT=58.25

【问题讨论】:

  • 查看您的 PAYMENTREQUEST_0_ 变量,它们等于 58.25,但 L_PAYMENTREQUEST_0_AMT0 是 47.00... 这可能是原因吗?
  • 是的,就是这样!谢谢:)
  • 我已将上述内容添加到下面的答案中;)很高兴它有所帮助。

标签: php curl paypal


【解决方案1】:

根据我的cmets,

您的总金额似乎与您的商品总金额不同。

&PAYMENTREQUEST_0_CURRENCYCODE=GBP
&PAYMENTREQUEST_0_ITEMAMT=37.60
&PAYMENTREQUEST_0_SHIPPINGAMT=11.25
&PAYMENTREQUEST_0_TAXAMT=9.40
&PAYMENTREQUEST_0_AMT=58.25

显示 58.25

还是

L_PAYMENTREQUEST_0_AMT0=47.00

显示 47.00

价格不匹配很可能导致这个问题;)

【讨论】:

  • 没错。同样,在最近的一次集成中,我在每个行项目的基础上指定税,这导致了舍入错误,因为我的应用程序在订单级别而不是行项目级别上舍入销售税。一位 PayPal 工程师告诉我,该行项目税额实际上从未使用过,因此我认为没有任何理由在 API 请求中设置它。只需确保我们不包含在 ITEMAMT 中的销售税。 :)
猜你喜欢
  • 2012-08-11
  • 2013-04-17
  • 2015-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-02
  • 2011-11-08
  • 2012-01-21
相关资源
最近更新 更多