【问题标题】:PayPal REST API - Coupon / Discount Code (Negative Numbers)PayPal REST API - 优惠券/折扣代码(负数)
【发布时间】:2014-01-09 17:31:07
【问题描述】:

我一直无法找到准确的答案。

我们已经知道,PayPal 的 REST API 没有应用折扣代码的选项。但是,我们可以将另一个项目附加到 item_list 的描述中,即促销/折扣代码。

例如将其分解为人类可读的数据,这就是我要传递给 API 的内容。

交易

Amount: 100
item_list: [ product1, 60 ], [ product2, 60 ], [ coupon_code, -20 ]

从视觉上看,这条路线应该可以工作(就像在经典 API 中一样)。但是,PayPal API 不允许负数

理想情况下,我们希望通过 PayPal REST API 使用签名/OAuth 路由。开放/经典 API。


2014 年 1 月 13 日更新 我注意到 Storenvy 能够对其连接用户的 PayPal 帐户应用折扣。但是,如果我记得 Storenvy 与 PayPal 有合作关系 - 我想知道他们是否在特定的内部 rest API 版本上提供折扣支持?

【问题讨论】:

  • 如果它根本不允许负数,您所能做的就是通知他们并希望有足够多的人抱怨他们要么修复它,要么最终给我们一个实际的折扣字段来使用。在那之前,您可能必须坚持使用经典 API 并将其添加为具有负值的行项目,就像您解释的那样。这就是为什么我还没有转向 REST。当我尝试为人们构建解决方案时,仍然有太多这样的事情出现。

标签: paypal


【解决方案1】:

对于折扣,我们确实有折扣变量 discount_amountdiscount_percentage,您可以在其中获得:

适用于付款的折扣金额和币种。

查看参考https://developer.paypal.com/docs/api/payments/ 并在那里搜索“折扣”一词。

我希望这会有所帮助。

【讨论】:

  • 这是最近添加的吗? @亚伦
  • 有没有办法在不使用 Paypal 发票的情况下实现这一点?我正在通过item_list(作为transaction 的一部分)作为付款的一部分。我没有使用贝宝开票,我也不想。如何为付款/交易添加折扣?
  • 您现在可以添加一个负数的项目作为一种解决方法。看到这个线程:github.com/paypal/PayPal-PHP-SDK/issues/55
  • REST API 中没有这样的折扣变量。投反对票。
  • discount_amount 和 discount_percentage 变量仅在 installment_amount 下可用。它们不适用于通常的交易。不知道为什么这个答案被标记为正确答案。否决
【解决方案2】:

我这样做是创建另一个项目,并给出负价格。

  $item = new Item();
  $price = -11.20;
  ......
  $item->setName($name)
        ->setCurrency($currency)
        ->setQuantity($quantity)
        ->setSku($sku)
        ->setPrice($price);

对于这个例子,我有一个 -11.20 欧元的促销代码:

【讨论】:

  • 使用 paypal 确实是一件令人头疼的事,我想我会用 stripe 来代替。
  • paypal 是一场噩梦:现在不允许负数
【解决方案3】:

什么对我有用:

discount 字段添加到breakdown

'discount' => [
    'currency_code' => $order->currency,
    'value' => $order->coupon_total,
]

查看 PayPal 的文档:https://developer.paypal.com/docs/api/orders/v2/#definition-amount_breakdown

折扣将在价格明细中显示为折扣

【讨论】:

  • 谢谢@yiddidhe-kop,遇到了同样的问题,您的解决方案对我有用
猜你喜欢
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
相关资源
最近更新 更多