MobilePay での支払い
デンマークとフィンランドで一般的な支払い方法として使われている MobilePay を受け付ける方法をご紹介します。
MobilePay は、デンマークとフィンランドで使われている 1 回限りの使用のカードウォレット決済手段です。顧客は MobilePay アプリを使用して、支払いを認証して承認できます。
顧客が MobilePay で支払う場合、Stripe は MobilePay から受け取ったカードデータを使用してカード取引を実行します。カード取引の処理は実装には表示されず、Stripe は支払いの成功または失敗を直ちに通知します。
Stripe を設定するサーバー側
アプリケーションから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。
PaymentIntent を作成するサーバー側
PaymentIntent は、顧客から支払いを回収する意図を表すオブジェクトであり、支払いプロセスのライフサイクルをステージごとに追跡します。サーバーで PaymentIntent
を作成し、回収する金額とサポートされている通貨 (eur
、dkk
、sek
、nok
) を指定します。Payment Intents API を使用した組み込みをすでにお持ちの場合には、mobilepay
を決済手段タイプのリストに追加します。
レスポンスの例
{ "id": "pi_12345", "amount": 1099, "client_secret": "pi_12345_secret_abcdef", "currency": "dkk", "payment_method": "pm_12345", "payment_method_types": [ "mobilepay" ], "status": "requires_confirmation" }
client secret を取得する
PaymentIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
PaymentIntentを確定する
ステップ 2 の PaymentIntent ID を使用して、PaymentIntent を確定します。これは、指定された PaymentMethod を使用して支払うことを宣言するものです。Stripe は PaymentIntent が確定されると、支払いを開始します。return_url は、支払い完了後に顧客をリダイレクトする場所を指定します。
レスポンスの例
{ "id": "pi_12345", "amount": 1099, "currency": "dkk", "payment_method": "pm_12345", "next_action": { "redirect_to_url": { "return_url": "https://example.com/checkout/complete", "url": "https://pm-redirects.stripe.com/authorize/acct_123/pa_nonce_abc" }, "type": "redirect_to_url" }, "payment_method_types": [ "mobilepay" ], "status": "requires_action" }
支払いを承認するには、next_action[redirect_to_url][url] フィールドの URL に顧客をリダイレクトします。
- デスクトップでは、URL によって MobilePay スタートページが開き、顧客はそこで、MobilePay アカウントを識別する電話番号を入力します。その後、顧客は MobilePay スマートフォンアプリを使用して支払いの認証を進めることができます。
- モバイルデバイスでは、デスクトップでのプロセスと同様に、この URL によって、MobilePay アプリケーションが直接開くか (存在する場合)、MobilePay スタートページに移動します。
顧客は 5 分以内にリダイレクト URL を開き、MobilePay アプリで支払いを承認できます。基のカードによる支払いが失敗した場合、顧客は別のカードを選択して、MobilePay アプリで再試行できます。支払いが 5 分以内に承認されない場合、支払いは失敗し、PaymentIntent のステータスは requires_
に移行します。
支払い後のイベントを処理する
支払いが完了すると、Stripe は payment_intent.succeeded イベントを送信します。ダッシュボード、カスタム Webhook、またはパートナーソリューションを使用してこれらのイベントを受信し、また、顧客への注文確認メールの送信、データベースでの売上の記録、配送ワークフローの開始などのアクションを実行します。
クライアントからのコールバックを待つのではなく、これらのイベントをリッスンします。クライアント側では、コールバックが実行される前に顧客がブラウザーのウィンドウを閉じたり、アプリを終了したりする可能性があります。また、悪意を持つクライアントがレスポンスを不正操作する恐れもあります。非同期型のイベントをリッスンするよう構築済みのシステムを設定することで、これ以降はより多くの決済手段を簡単に受け付けられるようになります。サポートされているすべての決済手段の違いをご確認ください。
手動
Stripe ダッシュボードは、すべての Stripe 支払いの確認、メールでの領収書の送信、入金処理、または失敗した支払いの再試行に使用できます。
カスタムコード
Webhook ハンドラを作成してイベントをリッスンし、カスタムの非同期決済フローを作成します。Stripe CLI を使用し、ローカルで Webhook 組み込みのテストとデバッグを行います。
事前構築のアプリ
オートメーションやマーケティングとセールスなどの一般的なビジネスイベントを、パートナーアプリケーションとの連携によって処理します。
組み込みをテストする
テスト API キーを使用して、PaymentIntent を作成します。PaymentIntent を確定したら、next_
リダイレクト URL に従い、支払いをオーソリまたは失敗させるオプションのあるテストページをテストします。
- Authorize test payment (テスト支払いをオーソリする) をクリックして、支払い成功のケースをテストします。 PaymentIntent は
requires_
からaction succeeded
に移行します。 - Fail test payment (テスト支払いを失敗させる) をクリックして、顧客の認証失敗のケースをテストします。PaymentIntent が
requires_
からaction requires_
に移行します。payment_ method
失敗した支払い
基になったカード取引が拒否されると、MobilePay 取引が失敗することがあります。詳しくは、カードの支払い拒否をご覧ください。この場合、PaymentMethod は解除され、PaymentIntent のステータスは自動的に requires_
に移行します。
PaymentIntent のステータスが requires_
の場合、顧客は 5 分以内に支払いを認証する必要があります。5 分経過してもアクションが実行されない場合、PaymentMethod は解除され、PaymentIntent のステータスは自動的に requires_
に移行します。
返金と不審請求の申請
Stripe は、MobilePay 取引の一環として標準のカードネットワークを使用してカード取引を実行します。返金 と不審請求の申し立てには、Visa と Mastercard のネットワークのルールが適用されます。