首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在店铺/收银台使用促销代码而不是优惠券

问在店铺/收银台使用促销代码而不是优惠券
EN

Stack Overflow用户
提问于 2020-12-24 18:47:58
回答 1查看 441关注 0票数 0

我正在尝试使用促销码而不是优惠券代码在laravel收银台/条纹官方套餐中,但我在那里找不到任何关于如何在订阅时应用促销码而不是优惠券的帮助,因为我知道如何申请优惠券,但我想申请促销码,我该怎么做呢?以下是我在创建新订阅时申请优惠券的代码,但我不知道如何使用促销代码来实现:

代码语言:javascript
复制
$subscription = $user->newSubscription($plan->name, $selectedPlan);

            // Add the trial days if any
            if ($plan->trial_days) {
                $subscription = $subscription->trialDays($plan->trial_days);
            }

            // Add the coupon id if any
            if ($request->input('coupon_id')) {
                $subscription = $subscription->withCoupon($request->input('coupon_id'));
            }

            $subscription->create($paymentMethod->id, [
                'email' => $user->email
            ]);
EN

回答 1

Stack Overflow用户

发布于 2021-03-31 11:57:53

您可以使用->withPromotionCode()添加促销代码,例如

代码语言:javascript
复制
if ($request->input('promotion_code_id')) {
    $subscription = $subscription->withPromotionCode($request->input('promotion_code_id'));
}

但是,此函数需要促销代码ID而不是代码,并且您最有可能希望用户键入代码,而不是ID。在这种情况下,您可以检索所有活动的促销代码并匹配代码。

代码语言:javascript
复制
if ($request->has('promotion_code')) {
    $stripeClient = new \Stripe\StripeClient(config('cashier.secret'));
    $result = $this->stripe->promotionCodes->all(
        ['code' => $request->get("promotion_code"), 'active' => true]
    );

    if($result->isEmpty()){
        // handle invalid promo code here
    }

    $promoCodeID = $result->first()->id;
    $subscription = $subscription->withPromotionCode($promoCodeID);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65437246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档