我一直找不到准确的答案。
正如我们已经知道的,PayPal的REST没有一个应用折扣代码的选项。但是,我们可以将另一项附加到item_list中,描述一个I.e.promo/折扣代码。
例如,将其分解为人类可读的数据,下面是我传递给API的内容。
事务
Amount: 100
item_list: [ product1, 60 ], [ product2, 60 ], [ coupon_code, -20 ]从视觉上看,这个路径应该可以工作(就像在经典API中那样)。但是,PayPal API不允许负数。
理想情况下,我们希望通过OAuth REST使用签名/ PayPal路由。开放的/经典的API。
更新1/13/2014我注意到有能力对他们连接的用户的PayPal帐户进行折扣。但是,如果我还记得Storenvy和PayPal有合作关系的话--我想知道它们是否处于特定的rest版本中,以提供折扣支持?
发布于 2017-07-12 07:53:38
我这样做创造了另一个项目,并给了一个负的价格。
$item = new Item();
$price = -11.20;
......
$item->setName($name)
->setCurrency($currency)
->setQuantity($quantity)
->setSku($sku)
->setPrice($price);对于本例,我有一个-11.20欧元的Promo代码:

发布于 2020-11-29 21:25:30
对我有用的是:
将discount字段添加到breakdown
'discount' => [
'currency_code' => $order->currency,
'value' => $order->coupon_total,
]见PayPal的文档:breakdown
折扣将以折扣的形式出现在价格细分中。
发布于 2022-03-10 14:26:50
使优惠券折扣额为负值。对我起作用了。
$itemArray = array();
if (isset($request->couponId)) {
// coupon object
$coupon = (new Promocodes())->check($request->couponId);
if (isset($coupon->code)) {
$item = new Item();
$item->setName('Coupon Discount')
->setCurrency('GBP')
->setQuantity(1)
->setPrice(($coupon->reward * (-1)));
// to reduce reward amount from total
$totalAmount -= $coupon->reward;
array_push($itemArray, $item);
}
}https://stackoverflow.com/questions/20710639
复制相似问题