はじめに
こちらの記事の続きです。今回は、Stripeの管理画面でのクーポンの作成と、継続課金にクーポンを適用する方法を紹介します。
クーポンについて
Stripeで設定可能なクーポンのパラメータについて紹介します。
クーポンのタイプ
クーポンのタイプには、「パーセント割引」と「定額割引」があります。
パーセント割引の場合は割引率を設定することができます。
定額割引の場合は通貨と割引額を設定できます。
期間
クーポンの期間には、「無期限」、「1回」、「複数月」の3種類があります。無期限の場合は毎回の請求に適用されます。1回の場合は初回の請求にのみ適用されます。複数月の場合は適用される月数を指定することができます。
引き換え回数制限
有効期限と引き換え可能回数を設定できます。引き換え回数はクーポンを使用できる人数です。
その他
その他の設定としては、クーポンを適用する商品を制限したり、顧客専用のクーポンコードを設定することもできます。
クーポンの作成
クーポンは、Stripeの管理画面の商品のクーポンから作成できます。試しに初回限定20%OFFのクーポンを作成してみます。
クーポンの使用
定期支払にクーポンを適用する方法と、Checkoutでクーポンを使用する方法を紹介します。
定期支払にクーポンを適用
Subscription::create()
メソッドの
coupon
パラメータにクーポンのIDを指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $subscription = Subscription::create([ 'customer' => 'cus_JfGkd2kNi9Bddm', 'items' => [ [ 'price' => $setPriceId, ], [ 'price' => $idPriceId, 'quantity' => 30, ], ], 'coupon' => '4Ps2Ihsc', 'billing_cycle_anchor' => 1625065200, ]); |
Checkoutでクーポンを使用する
Session::create()
メソッドの
discounts
パラメータに配列でクーポンのIDを指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $checkout_session = \Stripe\Checkout\Session::create([ 'success_url' => 'http://localhost/shop/subscription/success?session_id={CHECKOUT_SESSION_ID}', 'cancel_url' => 'http://localhost/shop/subscription', 'payment_method_types' => ['card'], 'customer' => 'cus_JfGkd2kNi9Bddm', 'mode' => 'subscription', 'line_items' => [ [ 'price' => $setPriceId, 'quantity' => 1, ], [ 'price' => $idPriceId, 'quantity' => 30, ], ], 'discounts' => [ [ 'coupon' => '4Ps2Ihsc', ] ], ]); |
Checkoutの画面はこのようになります。
さいごに
Stripeでクーポンを適用する方法を紹介しました。