将来の Klarna の支払いを設定する
Klarna の詳細を保存し、後で顧客に請求する方法は以下のとおりです。
Klarna を顧客の支払い方法として保存し、将来の支払いに対して請求して以下をサポートできます。
- 無料トライアルを利用しているか利用していないかにかかわらず、サブスクリプションの自動支払い。
- Klarna をウォレットに保存すると、顧客の再認証を必要とせずに、将来のオンデマンド購入を効率化できます。
以下の特定の支払いオプション、サブスクリプション期間、および購入者の国では、Klarna の継続支払いがサポートされています。
支払いオプション | サポートされるユースケース | 対応可能な買い手の国 |
---|---|---|
全額支払う |
| AT、 BE、CA、CH、 DE、DK、 ES、FI、FR、 IE、IT、GR、NL、NO、PL、PT、SE、UK、US |
後払い |
| DE、SE、US |
3 回または 4 回で支払う |
| AT、CA、CH、DE、DK、ES、FI、FR、IE、IT、GR、NL、NO、PL、PT、UK、US |
以下の決済連携タイプから Klarna を選択し、決済手段として保存します。Stripe Billing を使用している場合は、サブスクリプションでの Klarna を参照してください。
Stripe Checkout を使用して、事前に Klarna 支払いの詳細を収集し、後から最終的な金額や支払い日を決定します。この機能の用途を紹介します。
- 支払い方法をウォレットに保存して、以降の購入を効率化する。
- サービスの提供後に追加料金を回収する。
- サブスクリプションの無料トライアルを開始する。
設定前に Customer を作成または取得するサーバー側
今後の支払いに Klarna 支払い方法を再利用するには、これを Customer に関連付ける必要があります。
お客様のビジネスで顧客がアカウントを作成するときに、Customer オブジェクトを作成します。Customer オブジェクトの ID を、独自の内部的な顧客の表記に関連付けることにより、保存された支払い方法の詳細を後で取得して使用できます。顧客がアカウントを作成していない場合でも、すぐに Customer オブジェクトを作成し、後でこのオブジェクトを顧客のアカウントの内部表記に関連付けることができます。
Checkout セッションを作成するクライアント側サーバー側
Klarna 支払いを受け付ける前に、顧客は、お客様が Stripe Checkout を通じて今後の支払いに Klarna アカウントを使用することを承認する必要があります。
サーバー側のエンドポイントを呼び出す決済ボタンをウェブサイトに追加して Checkout セッションを作成します。
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Checkout セッションを作成したら、レスポンスで返された URL に顧客をリダイレクトします。
Checkout からのリダイレクトを処理するクライアント側サーバー側
顧客が決済手段の詳細を入力すると、success_
(支払いが成功したことを顧客に通知するウェブページ) にリダイレクトされます。上記の例のように、success_
にテンプレート変数である {CHECKOUT_
を含めることで、成功ページでセッション ID が使用できるようになります。
顧客が支払い方法の詳細を提供せずに Checkout セッションでお客様のロゴをクリックすると、Checkout は、cancel_
に移動して、顧客をお客様の Web サイトにリダイレクトします。このページは通常、顧客が Stripe Checkout にリダイレクトされる前に表示していた Web サイトのページです。
注意
次に挙げる理由により、支払い開始の検出時には、success_
へのリダイレクトのみに依存しないでください。
- 悪意を持つユーザが、支払いをせずに
success_
に直接アクセスし、商品やサービスにアクセスできるようになる可能性があります。url - 顧客が支払いの成功後に
success_
に到達するとは限りません。リダイレクトが発生する前に、顧客がブラウザタブを閉じることがあります。url
支払い方法を取得するサーバー側
顧客が支払いの詳細を送信した後に、PaymentMethod (決済手段) オブジェクトを取得します。PaymentMethod は、顧客のKlarna account情報を保存して今後の支払いに利用できるようにします。PaymentMethod は、success_
を使用して同期的に取得することも、Webhook を使用して非同期的に取得することもできます。
顧客が支払いの成功後に必ず success_
に到達するとは限らないため (たとえば、リダイレクトが行われる前に顧客がブラウザータブを閉じることもあります)、PaymentMethod を同期的に取得するか非同期的に取得するかは、ドロップオフの許容度によって異なります。Webhook を使用すると、組み込みでこの種のドロップオフを防止できます。
設定後のイベントを処理するサーバー側
Webhook などの方法で、顧客が請求契約を承認したことを確認します。顧客が支払いステータスページに戻ることに依存しないようにしてください。
顧客が請求契約の承認を正常に完了すると、Stripe は payment_intent.succeeded または setup_intent.succeeded Webhook イベントを送信し、インテントのステータスは succeeded
に移行します。生成された payment_method ID を保存し、保存した PaymentMethod を使用して後で支払いを行います。
顧客が請求契約の承認を正常に行えなかった場合、Stripe は payment_intent.payment_failed または setup_intent.setup_failed Webhook イベントを送信し、インテントのステータスは requires_
に戻ります。
導入をテストする
Checkout の実装状態をテストする際は、決済手段として Klarna を選択し、保存 ボタンをクリックします。テスト環境では、Klarna のリダイレクト内でさまざまな結果をシミュレートできます。
下記では、現在対応している顧客の国のテストデータを特別に選択しています。サンドボックスでは、Klarna は指定されたメールアドレスに基づいて取引を承認または拒否します。
2 段階認証
6 桁の数字であれば、2 段階認証コードとして有効です。999999
を使用すると、認証は失敗します。
返済方法
Klarna のフロー内では、以下のテスト値を使用し、さまざまな返済方法を試すことができます。
タイプ | 値 |
---|---|
口座引き落とし | DE11520513735120710131 |
銀行振込 | デモの銀行 |
クレジットカード |
|
デビットカード |
|