カテゴリー: BackEnd

Stripe Connectを使って継続課金にクーポンを適用する

はじめに

こちらの記事の続きです。今回は、Stripeの管理画面でのクーポンの作成と、継続課金にクーポンを適用する方法を紹介します。

クーポンについて

Stripeで設定可能なクーポンのパラメータについて紹介します。

クーポンのタイプ

クーポンのタイプには、「パーセント割引」と「定額割引」があります。

パーセント割引の場合は割引率を設定することができます。

定額割引の場合は通貨と割引額を設定できます。

期間

クーポンの期間には、「無期限」、「1回」、「複数月」の3種類があります。無期限の場合は毎回の請求に適用されます。1回の場合は初回の請求にのみ適用されます。複数月の場合は適用される月数を指定することができます。

引き換え回数制限

有効期限と引き換え可能回数を設定できます。引き換え回数はクーポンを使用できる人数です。

その他

その他の設定としては、クーポンを適用する商品を制限したり、顧客専用のクーポンコードを設定することもできます。

クーポンの作成

クーポンは、Stripeの管理画面の商品のクーポンから作成できます。試しに初回限定20%OFFのクーポンを作成してみます。

クーポンの使用

定期支払にクーポンを適用する方法と、Checkoutでクーポンを使用する方法を紹介します。

定期支払にクーポンを適用

Subscription::create()メソッドのcouponパラメータにクーポンのIDを指定します。

$subscription = Subscription::create([
    'customer' => 'cus_JfGkd2kNi9Bddm',
    'items' => [
        [
            'price' => $setPriceId,
        ],
        [
            'price' => $idPriceId,
            'quantity' => 30,
        ],
    ],
    'coupon' => '4Ps2Ihsc',
    'billing_cycle_anchor' => 1625065200,
]);

Checkoutでクーポンを使用する

Session::create()メソッドのdiscountsパラメータに配列でクーポンのIDを指定します。

$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でクーポンを適用する方法を紹介しました。

おすすめ書籍

Hiroki Ono

シェア
執筆者:
Hiroki Ono

最近の投稿

フロントエンドで動画デコレーション&レンダリング

はじめに 今回は、以下のように…

3週間 前

Goのクエリビルダー goqu を使ってみる

はじめに 最近携わっているとあ…

1か月 前

【Xcode15】プライバシーマニフェスト対応に備えて

はじめに こんにちは、suzu…

2か月 前

FSMを使った状態管理をGoで実装する

はじめに 一般的なアプリケーシ…

3か月 前