支払い後に支払い情報を保存する
対面支払いを受け付け、顧客が不在のときに使用するための支払い情報を保存します。
Stripe Terminal を使用して、店舗購入の支払い情報を保存できます。card_ 支払いが成功すると、generated_ 属性で再利用可能な card の PaymentMethod が返されます。以下はそのユースケースです。
- ジムの顧客が初回セッションと会員制サブスクリプションの支払いを対面で行います。取引により、将来のメンバーシップの自動更新に使用する
generated_が設定されます。card - 衣料品店の顧客が、レジで購入するときにメールアドレスを提供します。取引により、顧客レコードと、関連付けられた保存済み
generated_が作成されます。これにより、顧客が後でその店のウェブサイトにログインし、同じカードを使用して注文できます。card
警告
The initial, in-person payment benefits from liability shift, and the pricing receives the benefit of card-present transactions. However, all subsequent charges made using the generated_ are card-not-present (CNP) transactions. These future charges don’t receive the liability shift or pricing benefits available for card-present transactions.
注
この機能の顧客の同意モデルを変更し、allow_ パラメーターを必須にしました。allow_ を使用するように実装を更新する必要があります。この更新は、2025 年 3 月 31 日に React Native 以外のユーザーには必須になり、React Native ユーザーには 2025 年 9 月 30 日に必須になりました。ガイダンスについては、変更ログエントリーをご覧ください。
顧客を作成する
将来の支払いに備えてカードを設定するには、カードを Customer (顧客) に関連付ける必要があります。顧客がビジネスでアカウントを作成する際に、Customer オブジェクトを作成します。Customer オブジェクトを使用すると、支払い方法を再利用したり、複数の支払いを追跡したりできます。
作成に成功すると、Customer オブジェクトが返されます。オブジェクトで顧客の id を調べて、その値を後で取得できるようにデータベースに保存できます。
これらの顧客は、ダッシュボードの顧客ページで見つけることができます。
PaymentIntent を作成する
setup_future_usage の値を指定して PaymentIntent を作成するときに、generated_ をリクエストします。顧客が決済フローで操作を行っているときにのみ決済手段の再利用を許可する場合は、on_ を指定します。それ以外の場合は、off_ を指定してください。
注
Visa、Mastercard、アメリカン・エキスプレス、Discover、ブランド提携の eftpos、ブランド提携の Interac、ブランド提携の girocard のカードは、タイプ card として保存できる card_ 決済手段としてサポートされています。
決済手段を収集・処理する
注
この機能には、iOS SDK v4.3.0 以降が必要です。
顧客が支払う準備ができ、決済手段の詳細の保存に同意したら、allow_redisplay を always または limited にして、collectPaymentMethod コールに渡します。値は、顧客の決済フローで決済手段が表示される頻度を示します。
generated_card にアクセスする
将来の使用に対応できる手段による支払いが成功すると、requires_ または succeeded 状態の PaymentIntent が返されます。generated_card の決済手段を取得するには、PaymentIntent の latest_charge プロパティを展開して、payment_method_details.card_present を表示します。PaymentIntent 作成コールで顧客 ID を渡した場合、再利用可能な PaymentMethod が Customer (顧客) オブジェクトに自動的に関連付けられます。それ以外の場合は、別のコールで手動で関連付けることができます。
PaymentIntent.latest_charge に generated_ の値が含まれていることを必ず確認してください。デジタルウォレットによる決済、単独ブランドの Interac、eftpos、girocard によるカード決済などの一部の決済では、生成されたカードが作成されない場合があります。このような状況が発生し、再利用可能な決済手段が必要な場合、次の 2 つのオプションがあります。
- 支払いを受けずに決済手段を保存するフローを使用して、別の決済手段を保存するように顧客に求めます。
- 対面決済を返金し、取引が失敗したことを示し、顧客に別の決済手段を使用するように指示します。
モバイルウォレットに関する考慮事項
保存されたモバイルウォレットは、将来のサブスクリプションや、顧客の代理として開始するその他の支払いなど、off_session の支払いにのみ使用できます。デジタルウォレットによる決済手段を保存する際、generated_ には使用上の特定の考慮事項を示す allow_ が設定されます。
モバイルウォレットに請求する際は、PaymentIntent の確定時に必ず off_ を渡します。顧客が決済フローを実施している場合は、代わりに Apple Pay と Google Pay の連携を使用して、決済手段の提示を再度求めます。
法令遵守
顧客の支払いの詳細を保存する際、適用されるすべての法律、規制、ネットワークの規則に準拠する責任はお客様にあります。たとえば、欧州データ保護委員会は、支払いの詳細の保存に関するガイダンスを発行しています。これらの要件は通常、以降の購入時の決済フローでの顧客の支払い方法を提示する、顧客がお客様のウェブサイトやアプリを使用していないときに請求するなど、将来に備えて顧客の支払い方法を保存する場合に適用されます。
支払い方法の詳細を保存する趣旨、顧客がオプトインできるようにする規約を、ウェブサイトおよびアプリに追加します。顧客がオフラインのときに顧客に請求する予定の場合は、少なくとも以下に関する説明を規約に含めてください。
- 指定された取引で顧客の代理として単独の支払いまたは一連の支払いを開始することをお客様に許可するという、顧客からお客様への同意
- 予期される支払い時期と支払い頻度 (たとえば、請求が予定されている分割払いまたはサブスクリプションの決済なのか、あるいは予定されていないトップアップなのか)。
- 決済金額の決定方法。
- サブスクリプションサービスに使用される支払い方法を設定する場合は、キャンセルに関するポリシー。
これらの規約に関する顧客の書面による同意の記録を必ず保管してください。
支払い方法を保存した場合、その使用は、規約に記載された特定の用途にのみ使用できます。顧客がオフラインであるときに請求し、さらに顧客の支払い方法を保存して、以降の購入に備えた保存済みの支払方法として顧客に提示する場合は、顧客から明示的に同意を収集する必要があります。そのための方法の 1 つとして、「今後の使用に備えて支払い方法を保存する」チェックボックスの使用があります。