贝宝快递错误 "The totals of the cart item amounts do not match order amounts"

PayPal Express error "The totals of the cart item amounts do not match order amounts"

SO 和其他论坛上有很多关于此错误的内容,但我一直无法找到有帮助的答案。

当我提交以下没有税额的简化请求时它有效,但一旦添加税额就会发生错误。这是代码:

pdItem[0] = new PaymentDetailsItemType()
{
    Name = "xyz",
    Amount = new BasicAmountType() { currencyID = CurrencyCodeType.USD, Value = "10.00" },
    Tax = new BasicAmountType() { currencyID = CurrencyCodeType.USD, Value = "2.00" },
    Quantity = "1"
};

PaymentDetailsType pdt = new PaymentDetailsType()
{
    OrderDescription = orderDescription,
    PaymentDetailsItem = pdItem,
    OrderTotal = new BasicAmountType() { currencyID = CurrencyCodeType.USD, Value = "10.00" },
    TaxTotal = new BasicAmountType() { currencyID = CurrencyCodeType.USD, Value = "2.00" }
};

我尝试了所有可能的税收和(净)总额组合,但都失败了。将税收留在 pdItem[0] 和 pdt 中,它起作用了。

如果我不加税,只发送含税总额,会有问题吗?如果是这样,需要做什么才能让它发挥作用?

在您的示例中,您需要包括 ItemTotal 并确保包括含税和运费的订单总计。

  • 项目总数 = 10
  • 总税额 = 2
  • 订单总数 = 12

但是为了简化事情,我会省略税收。

如果您分别计算每件商品的税费和总订单价值的税费,那么您很容易受到小舍入误差的影响,这会使两者的总和相差 1 美分。

您不需要将税务信息发送到 Paypal,因此除非您的客户绝对需要,否则我会保留单独的税务信息,只发送所有含税总额。

我们已经在我们的网站上做到了这一点,它简化了事情,它阻止了所有这些错误,每个人都很高兴。