c# - Paypal express 错误 "The totals of the cart item amounts do not match order amounts"

标签 c# paypal paypal-sandbox

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

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

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

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

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

关于c# - Paypal express 错误 "The totals of the cart item amounts do not match order amounts",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35055681/

相关文章:

html - 样式不适用于 iframe 内容

paypal - 没有值(value)传递给付款

paypal - 我如何找到用于 Paypal 集成的请求方法

c# - 从服务器下载zip文件并解析它

php - 同时提交 PayPal 表格并更新数据库

paypal - PayPal Payflow 链接中的商户设计识别错误

php - PayPal Rest SDK API - 获取 token

c# - 如何从字符串中删除重复的子字符串?

c# - Enum.Parse 返回意外成员

用于获取所有可能匹配项的 C# 正则表达式