Twint 決済
スイスで広く普及している支払い方法である Twint の受け付け方法をご紹介します。
注意
このセクションにはレガシープロダクトについてのコンテンツが含まれています。最新の導入パスについては、代わりに決済を受け付けるのガイドを使用する必要があります。Stripe はこのプロダクトを引き続きサポートしていますが、プロダクトが非推奨になった場合にはサポートが終了する可能性があります。
Twint は、スイスで使用されている 1 回限りの使用の支払い方法です。顧客は承認された Twint モバイルアプリを使用して、支払いの認証と承認を行うことができます。
支払いが成功したか失敗したかに関する即時通知を受け取ります。
PaymentIntent (支払いインテント) は、顧客から支払いを回収する意図を表すオブジェクトであり、支払いプロセスを追跡します。TWINT 支払い方法を受け付ける PaymentIntent
を作成するには、回収する金額、通貨として chf
、payment_method_types リストで twint
を指定します。PaymentIntent
の作成時に渡す支払い方法タイプのリストを保持している場合は、それに twint
を追加します。
client secret を取得する
PaymentIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
顧客が TWINT での支払いをクリックしたときに、Stripe.js を使用してその支払いを Stripe に送信します。Stripe.js は、決済フローを構築するための基本的な JavaScript ライブラリです。このライブラリにより、以下で説明するリダイレクトなどの複雑な処理が自動的に行われ、他の決済手段にも対応できるように実装を拡張できます。Stripe.js スクリプトを決済ページに含めるには、HTML ファイルの head
にこのスクリプトを追加します。
決済ページで以下の JavaScript を使用して、Stripe.js のインスタンスを作成します。
支払いを確定するときに、Client Secret を渡します。
注意
Client Secret は PaymentIntent へのアクセスを許可するため、慎重に取り扱ってください。メモしたり、URL に埋め込んだり、当該の顧客以外に公開したりしないようにしてください。
stripe.confirmTwintPayment を使用して、お客様のページから現地の決済ページへのリダイレクトを処理します。ユーザーが支払いを完了した後にリダイレクトするために、return_
を指定する必要があります。
顧客は現地の代行業者のページで具体的な支払い方法を選択します。
PaymentIntent のステータスを確認して支払いステータスを提供するページを、return_
に指定します。Stripe は顧客をこのページにリダイレクトするときに、確認コールで使用するために return_
に次の URL クエリパラメーターを追加します。return_
を指定するときに自社のクエリパラメーターを追加することもできます。これらのパラメーターはリダイレクトプロセス全体にわたって存続します。
パラメーター | 説明 |
---|---|
payment_ | PaymentIntent の一意の識別子 |
payment_ | PaymentIntent オブジェクトの client secret |
テスト API キーを使用し、リダイレクトページを表示することで、Twint の実装をテストします。決済に成功したケースをテストするには、リダイレクトページで決済を認証します。PaymentIntent は、requires_
から succeeded
に遷移します。ユーザーが認証に失敗するケースをテストするには、テスト API キーを使用し、リダイレクトページを表示します。リダイレクトページで Fail test payment (テスト支払い失敗) をクリックします。PaymentIntent は、requires_
から requires_
に遷移します。
クライアント側で confirmTwintPayment
を使用して Twint のリダイレクトおよび決済を処理するには、Stripe.js を使用することをお勧めします。Stripe.js を使用すると、実装を他の支払い方法に拡張できるようになります。ただし、次の手順に従って、お客様のサーバーに顧客を手動でリダイレクトすることもできます。
タイプが
twint
のpayment_
を指定して PaymentIntent (支払いインテント) を作成し、確定します。method_ data payment_
を指定することで、PaymentMethod を作成し、この PaymentIntent ですぐに使用します。method_ data 支払いの完了後にユーザーをリダイレクトする
return_
も指定する必要があります。自社のクエリパラメーターをこの URL に指定できます。リダイレクトフローの最後に、最終的な URL にこれらのパラメーターが含められます。url 作成される
PaymentIntent
のステータスはrequires_
であり、action next_
のタイプはaction redirect_
になります。to_ url next_
プロパティーで指定した URL に顧客をリダイレクトします。ここに示すコード例はおおまかなものであり、ご使用のウェブフレームワークでは異なる場合があります。action. redirect_ to_ url. url 決済プロセスを完了した顧客は、PaymentIntent の作成時に指定した
return_
にリダイレクトされます。この URL には、URL クエリパラメーターであるurl payment_
とintent payment_
が含まれます。intent_ client_ secret return_
の指定時に他のパラメーターを含めていた場合は、それらも追加されます。url 支払いのステータスを確認するには、Webhook を利用することをお勧めします。
支払いが完了すると、Stripe は payment_intent.succeeded イベントを送信します。ダッシュボード、カスタム Webhook、またはパートナーソリューションを使用してこれらのイベントを受信し、また、顧客への注文確認メールの送信、データベースでの売上の記録、配送ワークフローの開始などのアクションを実行します。
クライアントからのコールバックを待つのではなく、これらのイベントをリッスンします。クライアント側では、コールバックが実行される前に顧客がブラウザーのウィンドウを閉じたり、アプリを終了したりする可能性があります。また、悪意を持つクライアントがレスポンスを不正操作する恐れもあります。非同期型のイベントをリッスンするよう構築済みのシステムを設定することで、これ以降はより多くの決済手段を簡単に受け付けられるようになります。サポートされているすべての決済手段の違いをご確認ください。
ダッシュボードでイベントを手動で処理する
ダッシュボードを使用して、テスト決済をダッシュボードで表示したり、メール領収書を送信したり、入金を処理したり、失敗した決済を再試行したりできます。
Custom Webhook を構築する
Custom Webhook ハンドラを構築してイベントをリッスンし、カスタム非同期型の決済フローを作成します。Stripe CLI を使用して、ローカルで Webhook の導入のテストとデバッグを行います。
構築済みアプリを導入する
パートナーアプリケーションを統合することで、自動化やマーケティング/セールスなどの一般的なビジネスイベントを処理します。