有一个运行ZNode的电子商务网站.我们发送税,运费,订单总额等.一切正常,直到应用订单级折扣(比如说50%).我们收到PayPal的回复,说明如下:
购物车项目金额的总计与订单金额不匹配.
我正在遍历API,我找不到任何应用订单级折扣的东西.FWIW,用户在我们的网站上应用折扣代码,然后转移到PayPal.
Sko*_*ski 18
我认为您的问题不是PayPal API.您检查了在这个50%折扣案例中传递给PayPal的参数一切正常吗?
在PayPal文档之后,您应该提供负值以反映订单的折扣.所以一切都会增加总额.
来源:https://cms.paypal.com/us/cgi-bin/?cmd = __render-content&content_ID = developer/e_howto_api_ECCustomizing

更新代码:(由尼克)
我有一个paypal服务,可以做各种各样的事情,但下面的代码应该让你知道折扣是如何工作的.折扣不是一种特殊的类型,它是一种产品,就像任何其他产品一样,只是通过将其命名为折扣并将其价格设置为负数来伪装.
List<PaymentDetailsItemType> items = paymentDetails.PaymentDetailsItem;
foreach (ShoppingCartItem item in cart.ShoppingCartItems)
{
items.Add(new PaymentDetailsItemType
{
Name = item.Book.Title,
Quantity = item.Quantity,
Number = item.BookId.ToString(),
Amount =
new BasicAmountType
{currencyID = CurrencyCodeType.USD,
value = (item.Book.Price).To2Places()}
});
}
if (cartTotals.Discount > 0)
{
items.Add(new PaymentDetailsItemType
{
Name = "Promo Code Discount",
Quantity = 1,
Number = "PromoCode",
Amount =
new BasicAmountType
{
currencyID = CurrencyCodeType.USD,
value = (cartTotals.Discount*-1).To2Places()
}
});
}
Run Code Online (Sandbox Code Playgroud)