php - PayPal PHP SDK 错误 - 项目金额必须加到指定金额小计

标签 php paypal paypal-sandbox paypal-rest-sdk

我使用 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/

相关文章:

php - 如何在 php xpath 查询($xpath->query)中使用正则表达式?

php - 没有密码但 key 授权安全的Mysql服务器?

python - 如何在 Google App Engine 中将 "run"变成 "Paypal Subscriptions Service"?

paypal - 您可以将沙盒测试帐户与标准 Paypal 帐户一起使用吗?

asp.net - 实时 Paypal 错误

php - XPath:检索当前节点的所有祖先,但是在找到特定节点时停止

php - APC 是否适用于高度动态的 PHP 网站?

php - 如何使用 paypal webhooks 处理多个环境 : dev, 登台和生产?

paypal - Ipn 模拟器 Echeck 完成响应不发送 'subscr_id' 用于定期付款

paypal - 支付 REST API 生成无效的重定向 URL