Paypal快速结账:申请订单折扣

时间:2011-08-09 21:04:16

标签: c# paypal

让电子商务网站运行ZNode。我们发送税,运费,订单总额等。一切正常,直到应用订单级折扣(比如说50%)。我们收到PayPal的回复,说明如下:

购物车项目金额的总数与订单金额不匹配。

我正在遍历API,我找不到任何应用订单级别折扣的内容。 FWIW,用户在我们的网站上应用折扣代码,然后转移到PayPal。

2 个答案:

答案 0 :(得分:18)

我认为您的问题不是PayPal API。 您检查了在这个50%的折扣案例中,您的参数传递给PayPal的所有内容都完美无缺吗?

在PayPal文档之后,您应提供负值以反映订单的折扣。所以一切都会增加总额。

来源:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECCustomizing

enter image description here

使用代码更新:(由尼克)

我有一个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()
                                      }
                          });
        }

答案 1 :(得分:1)

通过PayPal API发送折扣的另一个选项是使用PAYMENTREQUEST_n_SHIPDISCAMT

这实际上是一个运费折扣,但工作得很好,并且是一行。

但它确实说PalPal端的运费折扣。