PayPal经典API快递结账 - 税务问题

时间:2014-03-05 15:16:09

标签: api paypal

我正在尝试使用Express Checkout创建付款。如果我不包含TaxTotal,它可以正常工作。我一收到错误“税总计无效”。

        var itemTotal = new BasicAmountType(Enum.GetValues(typeof(CurrencyCodeType)).Cast<CurrencyCodeType>().FirstOrDefault(t => t.ToString() == cart.Item.Currency.ToString()), cart.NetTotal.ToString());
        var orderTotal = new BasicAmountType(Enum.GetValues(typeof(CurrencyCodeType)).Cast<CurrencyCodeType>().FirstOrDefault(t => t.ToString() == cart.Item.Currency.ToString()), cart.GrossTotal.ToString());
        var taxTotal = new BasicAmountType(Enum.GetValues(typeof(CurrencyCodeType)).Cast<CurrencyCodeType>().FirstOrDefault(t => t.ToString() == cart.Item.Currency.ToString()), cart.TaxTotal.ToString());

        paymentDetails.ItemTotal = itemTotal;
        paymentDetails.OrderTotal = orderTotal;
        paymentDetails.TaxTotal = taxTotal;

如果我删除了ItemTotal和TaxTotal,付款处理正常,但我需要显示税务细分。

仅供参考,金额为,ItemTotal = 175,OrderTotal = 210,TaxTotal = 35.

任何人都可以确认问题是什么或我的代码中缺少什么?

谢谢, 安迪

2 个答案:

答案 0 :(得分:0)

尝试添加小数,使其变为175.00。在使用PayPal的API时,我会为所有金额字段执行此操作。

如果这不起作用,请发布您要发送的实际请求的副本,以便我们可以验证实际发送的内容。

答案 1 :(得分:0)

我解决了这个问题,它类似于安德鲁建议的解决方案。

我使用的是十进制数,订单总数是210.000。我把它四舍五入到210.00以敲掉小数,它工作正常。