ショピファイ+ララベル課金実装

ショピファイ+ララベル課金実装

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を生成します。課金フローは以下のように設計します。

  1. ユーザーがアプリをインストール
  2. プラン選択画面でRecurringApplicationChargeを作成
  3. Shopifyが支払い承認を要求
  4. 承認後、Laravelでactiveを確認し、機能を有効化

試用期間とアップグレード処理

試用期間はtrial_daysパラメータで設定できます。試用終了時に自動で課金が開始されるようにWebhookを利用し、charge_activatedイベントを監視します。アップグレードは既存のRecurringApplicationChargeをキャンセルし、新しいプランを作成することで実現します。

課金ステータスの監視と支払い承認

課金ステータスはstatusフィールドで確認できます。pendingacceptedactiveの遷移を追跡し、失敗時はdeclinedをハンドリングします。支払い承認はShopify側で完了した後、Webhookで通知されるため、Laravel側で即座に機能を切り替えることが可能です。

この記事はAIによって作成されました。

コメント

このブログの人気の投稿

Blogger Sitemap登録エラー解決

【iOS】SwiftでCGAffineTransformから角度・ラジアン・度数・スケールを計算する方法

Ollama & Open WebUI: ローカルLLM構築