Swish 決済招待のみ
スウェーデンで広く普及している支払い方法である Swish を受け付ける方法をご紹介します。
Swish は、スウェーデンで使用されている 1 回限りの使用の支払い方法です。顧客は Swish モバイルアプリとスウェーデンの BankID モバイルアプリを使用して、支払いの認証と承認を行うことができます。
支払いが成功したか失敗したかに関する即時通知を受け取ります。
必要な通知
Swish の規則に準拠するには、顧客が Swish 支払いを承認する前に、決済フローの画面に以下のテキストを表示する必要があります。
- 英語の場合: “Stripe Technology Europe Limited (“Stripe”) has acquired the claim for payment. Therefore your payment will be made to Stripe.”
- スウェーデン語の場合: “Stripe Technology Europe Limited (“Stripe”) har övertagit fordran på betalning. Din betalning görs därför till Stripe.”
- 他の言語の場合、上記の翻訳文。
Checkout や Payment Element、Stripe がホストする決済フォームや UI コンポーネントから Swish を導入する場合、Stripe はこの通知を表示します。
埋め込み可能な決済フォームの Mobile Payment Element を使用して、負荷を最小限に抑えて実装に Swish および他の支払い方法を追加することをお勧めします。
このガイドでは、自社で構築済みのカスタムの決済フォームを使用して、ネイティブのモバイルアプリケーションから Swish を受け付ける方法について説明します。
ネイティブのモバイルアプリケーションから Swish を受け付けている場合、顧客は Swish モバイルアプリケーションにリダイレクトされ、そこで認証を行います。支払いはリダイレクト時に認証されます。購入を完了するために Swish モバイルアプリケーションでそれ以上のアクションは必要なく、顧客はサイトにリダイレクトされて戻ります。
Stripe を設定するサーバ側クライアント側
まず、Stripe アカウントが必要です。今すぐ登録してください。
サーバ側
この組み込みには、サーバ上に Stripe API と通信するエンドポイントが必要です。サーバから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。
クライアント側
Stripe Android SDK はオープンソースであり、詳細なドキュメントが提供されています。
To install the SDK, add stripe-android
to the dependencies
block of your app/build.gradle file:
注
SDK の最新リリースおよび過去バージョンの詳細については、GitHub の Releases ページをご覧ください。新しいリリースの公開時に通知を受け取るには、リポジトリのリリースを確認してください。
Stripe の公開可能キーを使用して SDK を設定し、 Application
サブクラスなどで、Stripe API へのリクエストを実行できるようにします。
PaymentIntent を作成するサーバー側クライアント側
サーバー側
PaymentIntent は、顧客から支払いを回収する意図を表すオブジェクトで、決済プロセスのライフサイクルの各段階を追跡します。
サーバーで PaymentIntent
を作成して確定するには、以下の手順に従います。
- 回収する金額と通貨を指定します。
PaymentIntent
の支払い方法タイプのリストにswish
を追加します。ダッシュボードで Swish が有効になっていることを確認してください。payment_
をmethod_ data[type] swish
に設定して、PaymentMethod を作成し、この PaymentIntent ですぐに使用します。
返される PaymentIntent には client secret が含まれ、これは PaymentIntent の確定に使用されます。次のステップで使用できるように、クライアントに client secret を送り返します。
クライアント側
クライアント側で、サーバーの PaymentIntent をリクエストし、その client secret を保存します。
Stripe に支払いを送信するクライアント側
顧客が支払いのために Swish をタップしたら、PaymentIntent
を確定して支払いを完了します。PaymentIntent
の client secret を使用して ConfirmPaymentIntentParams
オブジェクトを設定します。
client secret は、Stripe API リクエストを認証する API キーとは異なります。これは支払いを完了できるため、慎重に扱う必要があります。記録したり、URL に埋め込んだり、当該の顧客以外に漏洩したりすることがないようにしてください。
Swish 決済を確定する
PaymentLauncher confirm を呼び出して、支払いを完了します。これにより、WebView が表示され、顧客はここで Swish での決済を完了できます。完了すると、支払い結果とともに、指定された PaymentResultCallback
が呼び出されます。
失敗した支払い
Swish は複数のデータポイントを使用して、取引を拒否する状況を判断します (たとえば、顧客の銀行口座に十分な残高がない場合や、顧客がアプリでキャンセルをクリックした場合など)。
このケースでは、PaymentMethod は切り離され、PaymentIntent オブジェクトのステータスは自動的に requires_
に移行します。
支払いが拒否された場合を除き、Swish の PaymentIntent (支払いインテント) が requires_
ステータスである場合、顧客は 3 分以内に支払いを完了する必要があります。3 分経過してもアクションが行われない場合、PaymentMethod (支払い方法) の関連付けが解除され、PaymentIntent オブジェクトのステータスは自動的に requires_
に移行します。