PayPal PHP SDK错误 - 项目金额必须添加到指定的金额小计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PayPal PHP SDK错误 - 项目金额必须添加到指定的金额小计相关的知识,希望对你有一定的参考价值。
我使用php SDK从PayPal获取错误"Item amount must add up to specified amount subtotal (or total if amount details not specified)"
。
我从阅读文档中了解到,当项目总数与指定总数不匹配时会发生此错误。除了我的情况,他们确实加起来。
从阅读其他答案,我知道项目是按项目计算的。即物品的价格*数量,但错误仍然存在。
但更有趣的是,在用户登录并按下“立即付款”按钮后发生此错误。
这是事务对象(作为数组):
`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,我仍然会收到错误
对小计+运费征税。所以在这种情况下(465.40 + 0)* 1.2 = 558.48
同样,465.40 + 93.08 + 0 = 558.48
我解决了这个问题。
单击“立即付款”按钮后,您需要重新验证付款。在第二轮,我发送了错误的金额,这是造成错误的原因。这就是为什么在付款已经发送之后发生的原因。
您将值作为字符串而不是数字传递。可能会出现一些舍入错误或类似的错误。尝试数字,看看会发生什么。数量正确传递为数字
要么
您可能需要考虑PayPal费用,但我不太确定
要么
价格可能不是个人而是汇总,再次,我不太确定......仔细检查
要么
在PHP中,在声明数组时应该省略最后一个逗号(它可以是可选的,双重检查...... PHP在错误报告时非常松散)
和
PayPal SDK真的记录很差,并且工作繁琐,除非你做一些非常简单的事情,比如“立即付费”html按钮。去条纹 - > https://stripe.com
以上是关于PayPal PHP SDK错误 - 项目金额必须添加到指定的金额小计的主要内容,如果未能解决你的问题,请参考以下文章
PayPal 错误 10413 - 购物车项目总金额与订单金额不匹配
PayPal JavaScript SDK - 了解客户端的安全问题
使用 paypal/rest-api-sdk-php 的 laravel paypal 集成错误