カテゴリー: BackEnd

Stripe Connectを使って複合プランの継続課金を実装その2

はじめに

前回の記事では、プラン(月額)とユーザ数分のID(従量課金)という2種類の継続課金商品の実装例を紹介しました。今回は、前回の補足として、新たに追加プランという継続課金商品を追加する方法を紹介します。

その際、新規で継続課金商品を契約すると、請求書が別れてしまうため、既存の継続課金商品をアップデートする形で追加します。

追加プランの作成

追加プランの料金体系は以下のとおりです。

実装

日割り金額の確認

プランの変更、ID数の増減と同様に、次の請求までの日割りの請求金額を求めることができます。

$subscription = \Stripe\Subscription::retrieve('sub_JbtQsB1Pr37cfL');

$items = [
    [
        'price' => 'price_1IwGvQCQ3ppMoW38ROroAjof'
    ]
];

$invoice = \Stripe\Invoice::upcoming([
    'customer' => 'cus_JbtOLc8JHTxsAK',
    'subscription' => 'sub_JbtQsB1Pr37cfL',
    'subscription_items' => $items,
    'subscription_proration_behavior' => 'always_invoice',
    'subscription_proration_date' => $proration_date,
]);

追加プランの契約

既存の定期支払いプランに新しい継続課金商品を追加します。やり方は、前回プランを変更したときとほぼ同じですが、itemsのパラメータにidを含めません。

$subscription = \Stripe\Subscription::retrieve('sub_JbtQsB1Pr37cfL');

$items = [
    [
        'price' => 'price_1IwGvQCQ3ppMoW38ROroAjof'
    ]
];

$subscription = Subscription::update(
    'sub_JbtQsB1Pr37cfL',
    [
        'items' => $items,
        'proration_behavior' => 'always_invoice',
    ],
);

さいごに

前回の記事の補足として、既存の定期支払いプランに新しい継続課金商品を追加を追加する方法を紹介しました。

おすすめ書籍

 

Hiroki Ono

シェア
執筆者:
Hiroki Ono

最近の投稿

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

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

4週間 前

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

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

1か月 前

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

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

2か月 前

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

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

3か月 前