Menu

Stripe連携

Stripeは現在最も安定しており人気の高いグローバル決済処理プラットフォームです。グローバルビジネスの決済プロセスを簡素化し、SaaS製品が様々な決済方法を簡単に受け付けられるようにします。

この章では、テンプレートコードにStripeを連携する方法について説明します。

登録と基本設定

  1. Stripeにアクセスしてアカウントを登録します

  2. ダッシュボードページに入り、左上隅からアカウント作成を開始し、ページの指示に従って予備ステップを完了します。

APIキーの取得とWebhookの作成

  1. 登録後、開発中はサンドボックスモードを使用します。すべてのワークフローのデバッグが完了した後のみライブモードに切り替えます。

stripe-sandbox

  1. 開発者 - APIキーページに移動し、Secret keyとPublishable keyをコピーして、それぞれ環境変数STRIPE_SECRET_KEYSTRIPE_PUBLISHABLE_KEYに入力します。

stripe-api-keys

  1. 開発者 - Webhooksページに移動してWebhookエンドポイントを作成します。

stripe-webhook

  1. CursorまたはVSCodeで、Forward Portを設定し、Publicに設定してから、生成されたForwarded Addressをコピーします。

stripe-webhook

注目すべき点:

長時間使用されていないと、Forward Portは開いているように見えても実際には期限切れになっている場合があります。単純にリセットするだけで、Forwarded Addressは変更されません。

  1. Forwarded AddressをWebhook Endpoint URLにコピーし、Select eventsをクリックして必要なイベントを選択します。

stripe-webhook

  1. 以下の7つのイベントをチェックします:
  • charge.refunded
  • checkout.session.completed
  • customer.subscription.created
  • customer.subscription.updated
  • customer.subscription.deleted
  • invoice.paid
  • invoice.payment_failed

これらのイベントは、堅牢な一回払いと定期購読決済ワークフローを完了するのに十分であり、これらのイベントのすべてにNexty.devテンプレートで対応する処理ロジックがあります。

stripe-webhook

  1. Webhookを作成した後、Secretを取得し、環境変数STRIPE_WEBHOOK_SECRETにコピーします。

stripe-webhook

製品の作成

次に製品カタログページに移動して製品を作成します。

add-product

Nexty.dev製品に入力した情報は、参考用です。

product-preview

product-preview

作成後、製品をクリックして詳細ページに入ります

product-details

Product IDとPrice IDが表示されます。この2つのIDを次のステップで管理用の価格カードで使用します。

product-id

同じ手順で定期購読製品を作成できます。

Radarの有効化

Stripeには高リスク決済を識別してブロックするカスタムルールを作成できるRadar機能があり、アカウントセキュリティを保護します。

block-rules

ただし、これは有料機能で、サンドボックスでは無料で利用できます。

ライブモードでRadar機能を購入している場合は、以下のルールを追加できます:

1週間以内に作成された新規ユーザーが5枚以上のカードを使用
:card_count_for_customer_weekly: > 5 and :hours_since_customer_was_created: <= 168
 
同じ顧客が1週間以内に4枚以上のクレジットカードを使用
:card_count_for_customer_weekly: > 4 and :card_funding: = 'credit'
 
週次高リスクカード試行回数が3より大きい
:card_count_for_customer_weekly: > 3 and :risk_score: > 50
 
同じIPアドレスからの1日あたりの高リスク試行
:total_charges_per_ip_address_daily: > 10 and :risk_score: > 40

ユーザーの同時購読制限

製品に定期購読モデルがあり、ユーザーのアクティブな購読を1つだけに制限したい場合は、決済モジュールでこれを設定できます

limit-customers-to-1-subscription

limit-customers-to-1-subscription

limit-customers-to-1-subscription

この設定は重複購読を防ぎ、争議のある注文を回避することもできます。争議が成功した場合でも、15ドルの手数料が発生します。

決済方法の管理

設定 - 決済方法ページで、ユーザーの決済方法を管理できます。特に中国のユーザーなど、より多くのユーザーがあなたの製品を使用できるように、AlipayとWeChat Payを申請することをお勧めします。

payment-methods

AlipayとWeChat Payを申請する場合、StripeはメールでB2B材料を要請する場合があります。これらはAlipayとWeChat Payが要求する材料なので、メールの指示に従って提供するだけです。StripeはAlipayとWeChat Payの承認後にこれらの決済方法を正式に有効化します。

ただし、これらの権限は一回払いのみをサポートし、定期購読製品はサポートしていません。定期購読製品でAlipayとWeChat Payを受け付けたい場合は、Stripeサポートに個別申請を連絡する必要があります。

ユーザーポータルの設定

ユーザーポータルは、ユーザーが決済方法、購読状態、請求書などの情報を閲覧・変更する場所です。製品にポータルエントリを提供することで、ユーザーの信頼を高めます。

user-portal

ライブモード

サンドボックスモードで決済ワークフローテストを完了した後、作成した製品をワンクリックでライブモードに直接コピーできます。その他のステップは手動で完了する必要があり、これらの手順をチェックリストとして使用できます。

結論

上記の設定を完了した後、プロジェクト開始ドキュメントに従って価格カードを更新し、決済ワークフローをテストできます。