Alipay の支払いを受け付ける
中国の顧客に広く普及しているデジタルウォレットである Alipay の支払いを受け付ける方法をご紹介します。
Alipay は 1 回限りの決済手段であり、顧客が支払いを認証する必要があります。顧客はウェブサイトまたはアプリからリダイレクトされ、Alipay で支払いを承認すると、ウェブサイトまたはアプリに戻されます。ここで、支払いが成功したか失敗したかに関する即時通知を受け取ります。
PaymentIntent を作成するサーバ側
PaymentIntent (支払いインテント) は、顧客から支払いを回収する意図を表すオブジェクトであり、支払いプロセスのライフサイクルを追跡します。サーバーで PaymentIntent
を作成し、回収する金額と対応している通貨を指定します。すでに Payment Intents のシステムがある場合は、alipay
を決済手段タイプのリストに追加します。
client secret を取得する
PaymentIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
Alipay ウォレットにリダイレクトするクライアント側
顧客が Alipay での支払いをクリックしたときに、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.
を呼び出して Alipay リダイレクトを処理します。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.confirmAlipayPayment(clientSecret, { // 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 = error.message; } });
return_
は支払いの結果を表示するウェブサイト上のページに相当します。PaymentIntent
のステータスを確認して、表示内容を決定できます。ステータスを確認するため、Stripe は以下の URL クエリパラメーターを含む return_
にリダイレクトします。return_
には自社のクエリパラメーターを追加することもできます。これらのパラメーターはリダイレクトプロセス全体にわたって存続します。
パラメータ | 説明 |
---|---|
payment_ | PaymentIntent の一意の識別子。 |
payment_ | PaymentIntent オブジェクトの client secret。 |
サポートされる通貨
お客様の国に対応する通貨で Alipay での支払いを作成できます。Alipay のデフォルトの現地通貨は cny
で、顧客は購入金額を cny
でも確認できます。
通貨 | 国 |
---|---|
cny | 任意の国 |
aud | オーストラリア |
cad | カナダ |
eur | オーストリア、ベルギー、ブルガリア、キプロス、チェコ共和国、デンマーク、エストニア、フィンランド、フランス、ドイツ、ギリシャ、アイルランド、イタリア、ラトビア、リトアニア、ルクセンブルグ、マルタ、オランダ、ノルウェー、ポルトガル、ルーマニア、スロバキア、スロベニア、スペイン、スウェーデン、スイス |
gbp | イギリス |
hkd | 香港 |
jpy | 日本 |
myr | マレーシア |
nzd | ニュージーランド |
sgd | シンガポール |
usd | アメリカ |
別の通貨の銀行口座を所有していて、その通貨での Alipay での支払いの作成をご希望の場合は、サポートにお問い合わせください。通貨の追加に関するサポートはケースバイケースで提供されます。