Revolut Pay による決済を受け付ける
システムに Revolut Pay のサポートを追加します。
Revolut Pay は再利用可能な決済手段であり、顧客は支払いを認証する必要があります。顧客はウェブサイトまたはアプリからリダイレクトされ、Revolut Pay で支払いを承認すると、ウェブサイトまたはアプリに戻されます。お客様は支払いが成功したか失敗したかに関する即時通知を受け取ります。
PaymentIntent を作成するサーバー側
PaymentIntent (支払いインテント) は、顧客から支払いを回収する意図を表すオブジェクトであり、支払いプロセスのライフサイクルを追跡します。サーバーで PaymentIntent
を作成し、回収する金額とサポートされている通貨を指定します。すでに Payment Intents の実装がある場合は、支払い方法のタイプのリストに revolut_
を追加します。
client secret を取得する
PaymentIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
Revolut Pay ウォレットにリダイレクトするクライアント側
顧客が Revolut Pay での支払いをクリックしたときに、Stripe.js を使用してその支払いを Stripe に送信します。Stripe.js は、決済フローを構築するための基本的な JavaScript ライブラリです。このライブラリにより、以下で説明するリダイレクトなどの複雑な処理が自動的に行われ、他の決済手段にも対応できるように実装を拡張できます。Stripe.js スクリプトを決済ページに含めるには、HTML ファイルの head
にこのスクリプトを追加します。
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>
決済ページで以下の JavaScript を使用して、Stripe.js のインスタンスを作成します。
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
);'pk_test_TYooMQauvdEDq54NiTphI7jx'
PaymentIntent
の client secret を使用し、stripe.
を呼び出して Revolut Pay リダイレクトを処理します。return_
を追加して、支払いが完了した後に Stripe が顧客をリダイレクトする場所を決定します。
const form = document.getElementById('payment-form'); form.addEventListener('submit', async function(event) { event.preventDefault(); // Set the clientSecret of the PaymentIntent const { error } = await stripe.confirmPayment({ clientSecret: clientSecret, confirmParams: { payment_method_data: { type: 'revolut_pay', }, // Return URL where the customer should be redirected after the authorization return_url: `${window.location.href}`, }, }); if (error) { // Inform the customer that there was an error. const errorElement = document.getElementById('error-message'); errorElement.textContent = result.error.message; } });
return_
は支払いの結果を表示するウェブサイト上のページに相当します。PaymentIntent
のステータスを確認して、表示内容を決定できます。ステータスを確認するため、Stripe は以下の URL クエリパラメーターを含む return_
にリダイレクトします。return_
には自社のクエリパラメーターを追加することもできます。これらのパラメーターはリダイレクトプロセス全体にわたって存続します。
パラメーター | 説明 |
---|---|
payment_ | PaymentIntent の一意の識別子。 |
payment_ | PaymentIntent オブジェクトの client secret。 |
サポートされている通貨
お客様の国に対応する通貨で Revolut Pay の支払いを作成できます。現在、Stripe では gbp
と eur
をサポートしています。 Revolut Pay UK の顧客の場合のデフォルトの現地通貨は gbp
、その他の EU の顧客の場合は eur
です。
通貨 | 国 |
---|---|
gbp | イギリス |
eur | オーストリア、ベルギー、ブルガリア、クロアチア、キプロス、チェコ共和国、デンマーク、エストニア、フィンランド、フランス、ドイツ、ギリシャ、ハンガリー、アイルランド、イタリア、ラトビア、リヒテンシュタイン、リトアニア、ルクセンブルグ、マルタ、オランダ、ノルウェー、ポーランド、ポルトガル、ルーマニア、スロバキア、スロベニア、スペイン、スウェーデン |