【问题标题】:Strange "The totals of the cart item amounts do not match order amounts"奇怪的“购物车项目总金额与订单金额不匹配”
【发布时间】:2016-01-23 10:44:14
【问题描述】:

我看了所有已经提出的答案,他们没有回应我的问题。搞了好几天,真的没看懂。

我使用 NVP 方法,我尝试了一个非常简单的测试 SetExpressCheckout 配置,如下所示:

    $param = array('METHOD'=>'SetExpressCheckout'
        , 'VERSION' =>74.0
        , 'USER' => $user
        , 'SIGNATURE' => $signature
        , 'PWD' => $password
        , 'RETURNURL' => 'http://localhost/paypaltest/index.html'
        , 'CANCELURL' => 'http://localhost/paypaltest/cancel.html'
        , 'PAYMENTREQUEST_0_AMT' => 83.00
        , 'PAYMENTREQUEST_0_CURRENCYCODE' => 'EUR'
        , 'PAYMENTREQUEST_0_SHIPPINGAMT' => 10.00
        , 'PAYMENTREQUEST_0_ITEAMT' => 73.00
        );

通常 AMT = ITEAMT + SHIPPINGAMT ?? 我尝试使用 1 或 2 位小数,但我有相同的“失败”错误。 奇怪的是,如果我删除了 SHIPPING AMT,它会起作用,而且我在沙盒上的总数等于 83。

感谢您的帮助!

【问题讨论】:

    标签: paypal checkout


    【解决方案1】:

    SHIPPINGAMT 字段已被弃用,因为版本 63 改用 PAYMENTREQUEST_n_SHIPPINGAMT。见https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/

    【讨论】:

    • 谢谢阿尼尔。我知道。在我的示例中,我使用“PAYMENTREQUEST_0_SHIPPINGAMT”(这就是我不明白的原因!)。我说错了。如果我删除“'PAYMENTREQUEST_0_SHIPPINGAMT' => 10.00”行,它会起作用。
    • array (size=9) 'TIMESTAMP' => string '2016-01-23T18:47:05Z' (length=20) 'CORRELATIONID' => string 'b4006fc53dc87' (length=13) 'ACK' => 字符串'Failure'(长度=7)'VERSION' => 字符串'74'(长度=2)'BUILD' => 字符串'18308778'(长度=8)'L_ERRORCODE0' => 字符串'10413 ' (length=5) 'L_SHORTMESSAGE0' => string '由于参数无效,交易被拒绝。有关详细信息,请参阅其他错误消息。 (length=94) 'L_LONGMESSAGE0' => string '购物车商品总金额与订单金额不符。 (长度=63) 'L_SEVERITYCODE0' => 字符串'错误' (长度=5)
    【解决方案2】:

    我发现了我的错误。我忘记了“PAYMENTREQUEST_0 ITEMAMT”的“M”。我在需要 ITEMAMT 时输入了“ITEAMT”。贝宝 答案并不恰当。它应该有一个错误“XXXXX_ITEAMT”不存在或类似的东西。我希望这可能对你们中的一些人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-11
      • 2012-11-29
      • 2021-01-20
      • 2013-01-08
      • 2021-04-26
      • 2012-05-21
      • 2016-05-05
      相关资源
      最近更新 更多