我使用 PHP SDK 从 PayPal 收到错误 “项目金额必须加到指定金额小计(或总计,如果未指定金额详细信息)”
。
我通过阅读文档了解到,当项目总数与指定总数不匹配时会发生此错误。除了我的情况,它们确实加起来了。
通过阅读其他答案,我知道这些项目是按项目计算的。即商品的价格 * 数量,但错误仍然存在。
不过,更有趣的是,此错误发生在用户已经登录并按下“立即付款”按钮之后。
这是交易对象(作为数组):
`array (
'amount' => array (
'currency' => 'GBP',
'total' => '558.48',
'details' => array (
'shipping' => '0',
'tax' => '93.08',
'subtotal' => '465.40',
),
),
'item_list' => array (
'items' => array (
0 => array (
'name' => 'Q-Connect Premium White A4 90gsm Inkjet Paper (500 Pack) KF01090',
'currency' => 'GBP',
'quantity' => 50,
'price' => '7.49',
),
1 => array (
'name' => 'Stabilo Point 88 Fineliner Pen Black (Pack of 10 with 5 neon pens free) UK12/110-8846885',
'currency' => 'GBP',
'quantity' => 10,
'price' => '9.09',
),
),
),
)`
如果运费是 £0.00,请不要建议我取消运费,因为我已经尝试过了,但如果运费 > 0,我仍然会收到错误
Tax is done on the subtotal + shipping. So in this case (465.40 + 0) * 1.2 = 558.48
Similarly, 465.40 + 93.08 + 0 = 558.48
最佳答案
您将值作为字符串而不是数字传递。可能会发生一些舍入错误或类似的事情。尝试数字,看看会发生什么。数量作为数字正确传递
或
您可能需要考虑 PayPal 费用,但我不太确定
或
价格可能不是个别的而是综合的,同样,我不太确定......仔细检查
或
在 PHP 中,声明数组时应省略最后一个逗号(它可能是可选的,仔细检查......PHP 在错误报告方面相当宽松)
和
PayPal SDK 的文档非常少,使用起来也很麻烦,除非你做一些非常简单的事情,比如“立即付款”html 按钮。去条纹 -> https://stripe.com
关于php - PayPal PHP SDK 错误 - 项目金额必须加到指定金额小计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46339685/