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费用,但我不太确定

价格可能不是个体,而是总计,我不确定... double check

在PHP中,应在声明数组时省略最后一个逗号(可能是可选的,双检查... PHP在错误报告时非常松散)

PayPal SDK确实确实很难记录和笨拙地使用,除非您做非常简单的事情,例如"立即付款" HTML按钮。进行条纹 -> https://stripe.com

我解决了这个问题。

单击"立即付款"按钮后,您需要重新验证付款。在第二轮,我发送了错误的金额,这就是导致错误的原因。这就是为什么付款已经发送后发生的原因。

相关内容

  • 没有找到相关文章

最新更新