iDEAL による支払いを受け付ける
オランダで良く使われている支払い方法である、iDEAL を受け付ける方法を紹介します。
注意
このセクションにはレガシープロダクトについてのコンテンツが含まれています。最新の導入パスについては、代わりに決済を受け付けるのガイドを使用する必要があります。Stripe はこのプロダクトを引き続きサポートしていますが、プロダクトが非推奨になった場合にはサポートが終了する可能性があります。
iDEAL は 1 回限りの使用の支払い方法であり、顧客は支払いの認証を求められます。iDEAL を使用して支払う場合、顧客はお客様のウェブサイトからリダイレクトされ、支払いをオーソリすると、ウェブサイトに戻されます。ここで、お客様は支払いが成功したか失敗したかについて即時の通知を受け取ります。
注
iDEAL を受け付けるには、Stripe の iDEAL 利用規約に従う必要があります。
PaymentIntent を作成するサーバー側
PaymentIntent (支払いインテント) は、顧客から支払いを回収するお客様の意図を表すオブジェクトであり、支払いプロセスのライフサイクルの各段階を追跡します。最初に、サーバで PaymentIntent
を作成し、回収する金額と eur
通貨を指定します (iDEAL は他の通貨には対応していません)。iDEAL に最少請求金額はないため、支払いの amount
は 1 まで下げられます。すでに Payment Intents API を使用したシステムがある場合は、ideal
を PaymentIntent
の支払い方法タイプのリストに追加します。
client secret を取得する
PaymentIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
支払い方法の詳細を収集するクライアント側
Stripe Elements を使用してクライアントで支払い情報を収集する準備ができました。Elements は、支払いの詳細を収集するための構築済み UI コンポーネントのセットです。
Stripe Element には、HTTPS 接続を介して支払い情報を Stripe に安全に送信する iframe が含まれています。組み込みを機能させるには、決済ページのアドレスの先頭を http:// ではなく https:// にする必要があります。
HTTPS を使用せずに実装をテストできます。本番環境で決済を受け付ける準備が整ったら、HTTPS を有効化します。
Stripe Elements を設定する
Stripe に支払いを送信するクライアント側
PaymentIntent オブジェクト全体をクライアントに送信するのではなく、ステップ 2 で取得した client secret を使用します。これは、Stripe API リクエストを認証する API キーとは異なります。
ただし、client secret は支払いを完了できるため、慎重に取り扱う必要があります。記録したり、URL に埋め込んだり、当該の顧客以外に漏洩することがないようにしてください。
顧客が支払いを送信すると、Stripe は顧客を return_
にリダイレクトし、以下の URL クエリーパラメーターを含めます。返品ページでは、これらを使用して PaymentIntent のステータスを取得し、顧客に支払いステータスを表示できます。
return_
を指定する際に、返品ページで使用する独自のクエリパラメーターを追加することもできます。
パラメーター | 説明 |
---|---|
payment_ | PaymentIntent の一意の識別子。 |
payment_ | PaymentIntent オブジェクトの client secret。 |
顧客が自社のサイトにリダイレクトされたら、payment_
を使用して PaymentIntent をクエリし、顧客に取引ステータスを表示できます。
顧客が支払いの実行に使用した銀行口座の詳細は、生成された Charge の payment_method_details プロパティで確認することができます。
{ "charges": { "data": [ { "payment_method_details": { "ideal": { "bank": "ing", "bic": "INGBNL2A", "iban_last4": "****", "verified_name": "JENNY ROSEN" }, "type": "ideal" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source",
導入をテストする
テスト用 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 |