【问题标题】:PayPal API - discount?PayPal API - 折扣?
【发布时间】:2015-01-05 05:01:06
【问题描述】:

我正在尝试获得折扣以应用于我编写的购物车。我正在使用Adaptive API 系统,但我似乎无法正确使用它。我在 SetPaymentOptions 调用中尝试过:

      'receiverOptions' => [
                             {
                               'receiver' => {
                                               'email' => 'foo@live.co.uk'
                                             },
                               'invoiceData' => {
                                                  'totalShipping' => '8.00',
                                                  'totalTax' => 0,
                                                  'item' => [
                                                              {
                                                                'itemPrice' => '15.00',
                                                                'name' => 'Alice in Wonderland Mechanism Necklace',
                                                                'price' => '15',
                                                                'itemCount' => 1
                                                              },
                                                              {
                                                                'itemPrice' => '30.00',
                                                                'name' => '110 Year Old Unicorn Dial Necklace',
                                                                'price' => '30',
                                                                'itemCount' => 1
                                                              }
                                                            ],
                                                  'discount' => '0.15'
                                                }
                             }
                           ],
      'requestEnvelope' => {
                             'errorLanguage' => 'en_US',
                             'detailLevel' => 'ReturnAll'
                           },
      'payKey' => 'AP-2F6415163M814733M',
      'SenderOptions' => {
                           'requireShippingAddressSelection' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
                         }
    };

..甚至在最初的 Pay 通话中尝试过 - 但似乎都没有意识到折扣(并应用它)。

     'currencyCode' => 'GBP',
      'requestEnvelope' => {
                             'errorLanguage' => 'en_US',
                             'detailLevel' => 'ReturnAll'
                           },
      'cancelUrl' => 'https://sitedev.net/',
      'discount' => '0.15',
      'actionType' => 'CREATE',
      'ipnNotificationUrl' => 'https://sitedev.net/cgi-bin/ipn.cgi',
      'returnUrl' => 'https://sitedev.net/myorders',
      'reverseAllParallelPaymentsOnError' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ),
      'receiverList' => {
                          'receiver' => [
                                          {
                                            'email' => 'foo@live.co.uk',
                                            'amount' => '53.00',
                                            'invoiceId' => '47',
                                            'paymentType' => 'GOODS'
                                          }
                                        ]
                        }
    };

更新:嗯,好的 - 仍然有这个问题!

                         'item' => [
                                     {
                                       'itemPrice' => '25.00',
                                       'name' => 'Cryptex - 16Gb USB Drive',
                                       'price' => '25',
                                       'itemCount' => 1
                                     },
                                     {
                                       'name' => 'Special Discount',
                                       'price' => '-2.50',
                                       'itemCount' => 1
                                     },
                                     {
                                       'itemPrice' => '5.00',
                                       'name' => 'Shipping',
                                       'price' => '5.00',
                                       'itemCount' => 1
                                     }
                                   ]

这是我传入的值,但在购物车结束时,它显示为:

 Steampunk Junkies £27.50
 Cryptex - 16Gb USB Drive
 £25.00
 Shipping
 £5.00

 £0.00

奇怪的是 - 正在应用折扣...只是没有显示???

【问题讨论】:

    标签: paypal paypal-adaptive-payments


    【解决方案1】:

    我很好奇你在哪里看到这些调用中甚至还有一个“折扣”参数..??它未在Pay 或SetPaymentOptions 的API 参考中列出。

    您需要做的是在 SetPaymentOptions 中将折扣添加为一个带有负数的行项目。所以这将是一个额外的行项目,其值为 -0.15。您可以将项目命名为“折扣”或任何您想要的名称,但同样,这些 API 中没有可用的实际折扣参数。

    【讨论】:

    • 啊,这是个好主意 - 不知道为什么我没有想到 :) 我在另一个 API 中看到了 discount 参数(您在 URL 中传递,用于“标准”付款)...但只是假设它也可以在 JSON 中工作。他们的 API 文档对于 Adaptive 的东西来说有点蹩脚:(现在试一试,如果可行,然后投票=)
    • 嗯,好吧,这不起作用 - 尝试使用负数时出现错误:ERROR: Invalid request parameter: itemPrice cannot be negative at /var/home/user/site.net/cgi-bin/admin/Want/Cart.pm line 437.
    • 啊,我的错误 - 它不喜欢 itemPrice 被定义...如果我只使用 price 参数,那么它工作正常。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-07-11
    • 2012-12-05
    • 2012-03-31
    • 1970-01-01
    • 2013-10-11
    • 2014-01-09
    • 2020-04-04
    • 1970-01-01
    相关资源
    最近更新 更多