ショピファイ+ララベル課金実装
ショピファイ+ララベル課金実装
Shopify+Laravelでの課金実装概要
ShopifyのアプリをLaravelで構築する際、課金実装は重要な要素です。ShopifyはBilling APIを提供し、アプリ側でサブスクリプションや単発課金を管理できます。LaravelのEloquentやサービスプロバイダを活用すれば、課金ロジックをシンプルに保つことが可能です。
Billing APIとRecurringApplicationChargeの使い方
Billing APIはRESTfulエンドポイントで、POST /admin/api/2024-01/recurring_application_charges.json を呼び出すことでRecurringApplicationChargeを作成します。リクエストボディにはプラン名、価格、期間、試用期間などを設定し、Shopify側で支払い承認を促します。承認後はactiveステータスが付与され、アプリは利用可能になります。
プラン作成と課金フロー設計
プラン作成は、まずLaravel側でプラン情報をDBに保存し、Billing APIに送るJSONを生成します。課金フローは以下のように設計します。
- ユーザーがアプリをインストール
- プラン選択画面で
RecurringApplicationChargeを作成 - Shopifyが支払い承認を要求
- 承認後、Laravelで
activeを確認し、機能を有効化
試用期間とアップグレード処理
試用期間はtrial_daysパラメータで設定できます。試用終了時に自動で課金が開始されるようにWebhookを利用し、charge_activatedイベントを監視します。アップグレードは既存のRecurringApplicationChargeをキャンセルし、新しいプランを作成することで実現します。
課金ステータスの監視と支払い承認
課金ステータスはstatusフィールドで確認できます。pending→accepted→activeの遷移を追跡し、失敗時はdeclinedをハンドリングします。支払い承認はShopify側で完了した後、Webhookで通知されるため、Laravel側で即座に機能を切り替えることが可能です。
コメント
コメントを投稿