我目前正在网站上设置 Paypal 作为客户的替代付款方式。总的来说,它工作正常;我可以下订单,它会通过 Paypal 的网站,显示正确的信息,一切都很好。当用户对订单应用折扣时,一切仍然正常,完全不用担心。
当用户为全部订单值(value)应用折扣时(即订单为 20 英镑,他们有 20 英镑的折扣代码)我收到错误消息“项目总计无效。”从 Paypal 回来。发送费用为 0 英镑,发送运费为 5 英镑。
首先,我发送的字段有什么问题吗?如果有,问题是什么? :) 如果您需要更多信息,请随时询问。
示例快速结帐字段:
Array
(
[METHOD] => SetExpressCheckout
[RETURNURL] => /snip/
[CANCELURL] => /snip/
[NOTIFYURL] =>
[AMT] => 5.00
[DESC] =>
[CURRENCYCODE] => GBP
[MAXAMT] =>
[USERACTION] => commit
[INVNUM] =>
[ADDROVERRIDE] => 0
[SHIPTONAME] =>
[SHIPTOSTREET] =>
[SHIPTOSTREET2] =>
[SHIPTOCITY] =>
[SHIPTOSTATE] =>
[SHIPTOZIP] =>
[SHIPTOCOUNTRYCODE] =>
[LOCALECODE] => GB
[PAGESTYLE] =>
[HDRIMG] =>
[BUTTONSOURCE] => /snip/
[L_SHIPPINGOPTIONISDEFAULT0] => true
[L_SHIPPINGOPTIONNAME0] => Royal Mail Tracked Next Day Ref:/snip (int)/
[L_SHIPPINGOPTIONLABEL0] =>
[L_SHIPPINGOPTIONAMOUNT0] => 5.00
[L_SHIPPINGOPTIONISDEFAULT1] => false
[L_SHIPPINGOPTIONNAME1] => Interlink Express Next Day Delivery (Ord Ref:/snip (int)/
[L_SHIPPINGOPTIONLABEL1] =>
[L_SHIPPINGOPTIONAMOUNT1] => 7.00
[L_SHIPPINGOPTIONISDEFAULT2] => false
[L_SHIPPINGOPTIONNAME2] => Collect In Store Ref:/snip (int)/
[L_SHIPPINGOPTIONLABEL2] =>
[L_SHIPPINGOPTIONAMOUNT2] => 0.00
[L_NAME0] => /snip/
[L_NUMBER0] => /snip (item id)/
[L_DESC0] =>
[L_AMT0] => 8.33
[L_TAXAMT0] => 1.67
[L_QTY0] => 1
[L_NAME1] => /snip/
[L_NUMBER1] => /snip (item id)/
[L_DESC1] =>
[L_AMT1] => 8.33
[L_TAXAMT1] => 1.67
[L_QTY1] => 1
[L_AMT2] => -16.66
[L_TAXAMT2] => -3.34
[L_NAME2] => /snip/
[L_DESC2] => /snip/
[L_QTY2] => 1
[ALLOWNOTE] => 1
[BUYEREMAILOPTINENABLE] => 1
[CALLBACK] => /snip/
[CALLBACKURL] => /snip/
[CALLBACKTIMEOUT] => 6
[REQCONFIRMSHIPPING] => 0
[SHIPPINGAMT] => 5.00
[ITEMAMT] => 0.00
[TAXAMT] => 0.00
)
最佳答案
您不能向 PayPal 发送空金额或零金额。 0.01 美元是最低限度。
您可以尝试解决此问题,方法是从运费中扣除一分钱并将其添加到总额中,或者如果商品费用为零,则交换运费和商品费用。
关于api - Paypal 商品打折免费,运费仍需支付,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433683/