iDEAL による支払いを受け付ける
オランダで良く使われている支払い方法である、iDEAL を受け付ける方法を紹介します。
注意
サーバー側での手動確定を使用する必要がある場合、またはお使いの実装で決済手段を別途表示する必要がある場合を除き、決済を受け付けるガイドに従うことをお勧めします。すでに Elements との連携が完了している場合は、Payment Element 移行ガイドをご覧ください。
アプリで iDEAL を受け付ける際は、 Webview を表示して顧客を銀行のオンラインポータルに転送し、そこで顧客が支払いを承認します。承認後に顧客がアプリに戻ると、支払いが成功したか失敗したかがお客様に直ちに通知されます。
注
iDEAL を受け付けるには、Stripe の iDEAL 利用規約に従う必要があります。
Stripe を設定するサーバ側クライアント側
まず、Stripe アカウントが必要です。今すぐ登録してください。
サーバ側
この組み込みには、サーバ上に Stripe API と通信するエンドポイントが必要です。サーバから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。
クライアント側
Stripe iOS SDK はオープンソースです。詳細なドキュメントが提供されており、iOS 13 以降をサポートするアプリと互換性があります。
注
SDK の最新リリースおよび過去バージョンの詳細については、GitHub の Releases (リリース) ページをご覧ください。リポジトリのリリースをウォッチして、新しいリリースの公開時に通知を受け取ることも可能です。
アプリの起動時に Stripe 公開可能キーを使用して SDK を設定します。これにより、アプリが Stripe API にリクエストを送信できるようになります。
PaymentIntent を作成するサーバー側クライアント側
PaymentIntent (支払いインテント) は、顧客から支払いを回収する意図を表すオブジェクトで、決済プロセスのライフサイクルの各段階を追跡します。
サーバー側
最初に、サーバーで PaymentIntent
を作成し、回収する金額と eur
通貨を指定します (iDEAL は他の通貨には対応していません)。iDEAL に最少請求金額はないため、支払いの amount
は 1 まで下げられます。すでに Payment Intents API を使用したシステムがある場合は、ideal
を PaymentIntent
の支払い方法タイプのリストに追加します。
PaymentIntent オブジェクト全体をアプリに渡す代わりに、その client secret を返すだけです。PaymentIntent の client secret は、支払い額などの機密情報の操作を許可することなく、クライアントで支払いを確定し、支払い情報の詳細を更新できる一意のキーです。
クライアント側
クライアント側で、サーバーの PaymentIntent をリクエストし、その client secret を保存します。
支払い方法の詳細を収集するクライアント側
アプリで顧客の氏名を収集します。この詳細を用いて STPPaymentIntentParams オブジェクトを作成します。
Stripe に支払いを送信するクライアント側
ステップ 2 で作成した PaymentIntent から client secret を取得し、STPPaymentHandler confirmPayment を呼び出します。これにより WebView が表示され、顧客はそこから銀行のウェブサイトまたはアプリで支払いを完了できます。これにより、支払い結果とともに完了ブロックが呼び出されます。
導入をテストする
テスト API キーを使用して PaymentIntent を確定します。確定すると、決済を承認または失敗させるオプションのあるテストページにリダイレクトされます。
- Authorize test payment (テスト支払いをオーソリする) をクリックして、支払い成功のケースをテストします。PaymentIntent が
requires_
からaction succeeded
に変わります。 - Fail test payment (テスト支払いを失敗させる) をクリックして、認証失敗のケースをテストします。PaymentIntent が
requires_
からaction requires_
に変わります。payment_ method
取引銀行
銀行名 | 値 |
---|---|
ABN AMRO | abn_ |
ASN Bank | asn_ |
Bunq | bunq |
ING | ing |
Knab | knab |
N26 | n26 |
Nationale-Nederlanden | nn |
Rabobank | rabobank |
Revolut | revolut |
RegioBank | regiobank |
SNS Bank (De Volksbank) | sns_ |
Triodos Bank | triodos_ |
Van Lanschot | van_ |
Yoursafe | yoursafe |