我正在尝试使用 PayPal Adaptive Payments API 的负数。首先,这似乎有效:
'item' => [
{
'itemPrice' => '25.00',
'name' => 'Cryptex - 16Gb USB Drive',
'price' => '25',
'itemCount' => 1
},
{
'quantity' => 1,
'name' => 'Special Discount',
'price' => '-2.50'
},
{
'itemPrice' => '5.00',
'name' => 'Shipping',
'price' => '5.00',
'itemCount' => 1
}
]
以下是我将此作为JSON提交并更新项目后所看到的示例:
正如您所看到的,价格 IS 正确...但是没有折扣金额的迹象?它显然考虑到了 - 否则价格将是30英镑,而不是27.50英镑(这是2.50英镑的折扣之后)
是什么给出的?这是PayPals系统中的错误吗?
FWIW,电子邮件也被破坏 - 他们根本没有显示折扣金额。
更新:我已经开通了PayPal技术支持的门票,因为我很确定这是他们系统的一个错误,而不是可以解决的问题:(该死的很烦人!
更新2:来自PayPal的回复:
PayPal自适应付款不支持负项目值。由于您没有传递< itemPrice>在您的API调用中,系统没有抛出以下错误消息:
[errorId] => 580022 [domain] => PLATFORM [subdomain] => Application [severity] => Error [category] => Application [message] => Invalid request parameter: itemPrice cannot be negative
我可以看到以下内容已提交给PayPal:
<item> <name>Special Discount</name> <identifier></identifier> <price>-2.50</price> <itemPrice></itemPrice> <itemCount></itemCount> <any>[quantity: null]</any> </item>
此对象基本上不完整,为了应用折扣,您应该应用它们&gt;到主要商品的价格,然后将其提交给PayPal。
我真的不确定他们的建议是什么?示例购物车将是:
Item 1 - £10
Item 2 - £20
Item 3 - £50
Item 4 - £10
Delivery - £5
Total - £95
作为鼓励,我们有时会提供优惠券......所以它可能是“超过50英镑的订单10英镑”。因此,在上述情况下,它会将整体价格降至85英镑。
我真的不确定他们的建议是什么?
答案 0 :(得分:0)
有趣。正常付款没有这个限制(我会像您经常描述的那样传递负数项目。)
他们告诉你要做的是从另一件商品上取下折扣。因此,具有该折扣的示例购物车将是
Item 1 - £10
Item 2 - £20
Item 3 - £40 <-- Removed £10 discount
Item 4 - £10
Delivery - £5
Total - £85 <-- total reflects this