如何从API中获取Stripe产品和优惠券之间的关联?

问题描述 投票:0回答:1

Stripe 仪表板允许将优惠券/促销与产品(以及延伸价格)关联起来。这是有道理的,您经常希望将 50% 优惠券之类的东西与特定产品相关联(例如,仅限年度订阅)。

如何从 API 获取此关联?

用例是用户在结帐 UI 中输入优惠券代码(我们称之为

50OFFANNUAL
)。我需要检查该优惠券代码是否存在,然后检查其所有限制(一次性使用?、时间限制?使用限制?等),并确保客户尝试购买与其链接的产品/订阅。

我可以通过以下方式获取优惠券代码:

$stripeCouponList = $stripe->promotionCodes->all([
    'limit' => 1,
    'code' => $upperCode,
    'active' => true,
]);

但是响应中没有

products
prices
对象。尝试
expand
会返回错误(没有这样的可扩展属性)。

同样,我尝试从产品或价格出发,没有可用的

promotion_code
promotion_codes
属性。

那么如何从API中获取关联的代码/产品呢?

enter image description here

php stripe-payments
1个回答
0
投票

https://docs.stripe.com/api/promotion_codes/object#promotion_code_object-coupon-applies_to是字段。

获取方式:

https://docs.stripe.com/expand#lists + https://docs.stripe.com/expand#includable-properties 因为默认情况下不包含

applies_to

$promoCodes = $stripe->promotionCodes->all([
  'code' => $upperCode,
  'active' => true,
  'expand' => ["data.coupon.applies_to"]
]);
foreach ($promoCodes->autoPagingIterator() as $promoCode) {
   print_r($promoCode->coupon->applies_to);
}
© www.soinside.com 2019 - 2024. All rights reserved.