コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで支払い方法を管理
    決済手段のタイプ
    カード
    Stripe 残高で支払う
    仮想通貨
    銀行口座引き落とし
    銀行へのリダイレクト
    銀行振込
    クレジットトランスファー (Sources)
    後払い
      Affirm
      Afterpay/Clearpay
      Alma
      Billie
      Capchase Pay
      Klarna
        決済を受け付ける
        将来の支払いを設定する
        コンバージョンの最適化
        Klarnaのルールに準拠すること
        不審請求の申請への対応
      Kriya
      Mondu
      請求書支払い
      Scalapay
      SeQura
      Sunbit
      Zip
    リアルタイム決済
    店舗支払い
    ウォレット
    国ごとに現地の支払い方法を有効化
    カスタムの決済手段
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
決済にとどまらない機能
会社を設立する
仮想通貨
Financial Connections
Climate
不正利用について
Radar の不正防止
不審請求の申請の管理
本人確認
ホーム支払いAdd payment methodsBuy now, pay laterKlarna

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

Klarna による支払い方法を受け付ける

世界で普及している後払いの支払い方法である Klarna を受け付ける方法をご紹介します。

複雑な決済フローを処理し、Klarna 決済を受け付ける高度な導入には、Payment Element や Express Checkout Element などの Stripe Elements を使用できます。Payment Element は 40 種類以上の決済手段を受け付け、入力を検証し、エラーを処理します。Express Checkout Element には Klarna やその他の決済手段のワンクリック決済手段ボタンが用意されています。

QuickStart に従って、Web サイトにカスタム Stripe 決済フォームを埋め込む方法をご紹介します。

このガイドでは、Elements と Payment Intents API を使用する導入で Klarna 決済を処理するための推奨手順について説明します。

注

導入を開始する前に、決済手段設定を確認して、アカウントが Klarna に対応していることを確認してください。

決済手段を手動で一覧表示する

動的な決済手段の使用をお勧めします。この場合、Stripe は各顧客に最も関連性の高い決済手段を動的に表示してコンバージョンを最大化するロジックを処理します。決済手段を手動で一覧表示する場合は、PaymentIntent の作成時に payment_method_types リストで klarna を指定します。

PaymentIntent を作成する

決済成功率を最大化し、不審請求の申請を減らすには、Klarna 決済のPaymentIntent を作成する際に次のパラメーターを渡します。

  • shipping: name、address.line1、city、country、および postal_code の各フィールドが定義されていて、空でないことを確認します。
  • line_items
  • billing_details: name、address.line1、city、country、および postal_code の各フィールドが定義されていて、空でないことを確認します。
Command Line
cURL
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d "shipping[address][city]"=Brothers \ -d "shipping[address][country]"=US \ -d "shipping[address][line1]"="27 Fredrick Ave" \ -d "shipping[address][postal_code]"=97712 \ -d "shipping[address][state]"=OR \ -d "shipping[line_items][object]"=list \ -d "shipping[billing_details][address][city]"=Brothers \ -d "shipping[billing_details][address][country]"=US \ -d "shipping[billing_details][address][line1]"="27 Fredrick Ave" \ -d "shipping[billing_details][address][postal_code]"=97712 \ -d "shipping[billing_details][address][state]"=OR \ --data-urlencode "shipping[billing_details][email]"="jenny.rosen@example.com" \ -d "shipping[billing_details][name]"="Jenny Rosen"

client secret を取得する

PaymentIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。

ブラウザーの fetch 関数を使用して、サーバーのエンドポイントから client secret を取得します。この方法は、クライアント側が 1 ページのアプリケーションで、特に React などの最新のフロントエンドフレームワークで構築されている場合に最適です。client secret を処理するサーバーのエンドポイントを作成します。

main.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

その後、クライアント側で JavaScript を使用して client secret を取得します。

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Stripe に決済をする

このステップでは、Stripe.js を使用してクライアントで Klarna の支払いを完了します。

Stripe.js を設定する

顧客が Klarna での支払いをクリックするときは、Stripe.js を使用してその支払いを Stripe に送信することをお勧めします。Stripe.js は、支払いフローを構築するための Stripe の基本的な JavaScript ライブラリです。これにより、以下で説明するリダイレクトなどの複雑な処理が自動的に行われ、今後、組み込みを他の支払い方法にも簡単に拡張できます。Stripe.js スクリプトを HTML ファイルのヘッダーに追加することで、決済ページにこのスクリプトを含めます。

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

決済ページで以下の JavaScript を使用して、Stripe.js のインスタンスを作成します。

script.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 var stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
);

PaymentIntent オブジェクト全体をクライアントに送信するのではなく、その クライアントシークレット を使用します。これは、Stripe API リクエストを認証する API キーとは異なります。

クライアントシークレットは決済を確定できるため、慎重に取り扱う必要があります。記録したり、URL に埋め込んだり、当該の顧客以外に漏洩することがないようにしてください。

stripe.confirmKlarnaPayment を使用し、お客様のページからのリダイレクトを処理して決済を完了します。この機能に return_url を追加して、ユーザーが Klarna のウェブサイトまたはモバイルアプリで決済を完了した後に Stripe がユーザーをリダイレクトする場所を示します。

Klarna の決済ページで、顧客は自身の市場で提供されている決済オプションから選択します。概要ページの表で市場別の提供状況を確認してください。Klarna 決済ページのオプションを制限したり、事前選択したりすることはできません。この選択を消費者に任せることで、取引の機会が最大化されます。

client.js
// Redirects away from the client const {error} = await stripe.confirmKlarnaPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}',{ return_url: 'https://example.com/checkout/complete', } ); if (error) { // Inform the customer that there was an error. }

顧客が支払いを送信すると、Stripe は顧客を return_url にリダイレクトし、以下の URL クエリーパラメーターを含めます。返品ページでは、これらを使用して PaymentIntent のステータスを取得し、顧客に支払いステータスを表示できます。

return_url を指定する際に、返品ページで使用する独自のクエリパラメーターを追加することもできます。

パラメーター説明
payment_intentPaymentIntent の一意の識別子。
payment_intent_client_secretPaymentIntent オブジェクトの client secret。サブスクリプションの実装の場合、この client_secret は confirmation_secret を通じて Invoice オブジェクトでも公開されます

顧客が自社のサイトにリダイレクトされたら、payment_intent_client_secret を使用して PaymentIntent をクエリし、顧客に取引ステータスを表示できます。

顧客が選択した Klarna 決済オプションの詳細は、チャージ時に payment_method_details プロパティで確認できます。使用可能な値は pay_later、pay_with_financing、pay_now、pay_in_installments の 4 種類です。これらのオプションの詳細については、Stripe の Klarna 概要ページをご覧ください。

Klarna の決済ページ各地域への適応に使用されるロケールは、payment_method_details プロパティでも確認できます。

{ "charges": { "data": [ { "payment_method_details": { "klarna": { "payment_method_category": "pay_in_installments", "preferred_locale": "en-US" }, "type": "klarna" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU",

実装内容をテストする

下記では、現在対応している顧客の国のテストデータを特別に選択しています。サンドボックスでは、Klarna は指定されたメールアドレスに基づいて取引を承認または拒否します。

承認拒否
生年月日1970/10/0703-05-1994
名テストJohn
姓Person-ausnow
町名・番地Wharf StSilverwater Rd
番地等41-5
郵便番号48772128
市区町村Port DouglasSilverwater
地域QLDNSW
電話番号+61473752244+61473763254
メールアドレスcustomer@email.aucustomer+denied@email.au

実働環境のテストのために、現地通貨の金額 3500 を使用して、融資以外のすべての Klarna 支払いオプションをテストできます。たとえば、イタリアでの「3 回払い」をテストする場合は、35.00 EUR の取引を使用できます。

2 段階認証

6 桁の数字であれば、2 段階認証コードとして有効です。999999 を使用すると、認証は失敗します。

返済方法

Klarna のフロー内では、以下のテスト値を使用し、さまざまな返済方法を試すことができます。

タイプ値
口座引き落としDE11520513735120710131
銀行振込デモの銀行
クレジットカード
  • 番号: 4111 1111 1111 1111
  • CVV: 123
  • 有効期限: 任意の将来日付
デビットカード
  • カード番号:4012 8888 8888 1881
  • CVV: 123
  • 有効期限: 任意の将来日付

失敗した決済

Klarna は、取引を受け付けるか拒否するかを決定する際に複数の要因を考慮します (買い手が Klarna を使用している期間、顧客が返済する必要のある未払い額、現在の注文の金額など)。

顧客が後払いを選択すると、Klarna は取引を受け付ける前にリスク評価を行います。Klarna は、リスク評価の結果が良好でなかったり、取引金額が大きかったり、顧客に多額の未払いの負債があったりすると、取引を拒否することがあります。そのため、決済フローに card などの他の支払いオプションを提示することをお勧めします。このような場合、PaymentMethod は解除され、PaymentIntenオブジェクトのステータスは自動的に requires_payment_method に変わります。

顧客は、Klarna のサイトにリダイレクトされてから 48 時間以内に決済を完了する必要があります。48 時間経過しても対応しなかった場合、PaymentMethod の関連付けが解除され、PaymentIntent オブジェクトのステータスは自動的に requires_action から requires_payment_method に移行します。

このようなケースでは、決済フローに表示される別の支払いオプションで再試行するように顧客に通知します。

Klarna のレート制限

Klarna への API リクエストは、Stripe の API 全体のレート制限を超える追加のレート制限の対象となります。これらの制限は、実行する API リクエストのシェイプによって異なる場合があります。一般に、1 分間に約 360 回を超えるリクエストを行うと、HTTP ステータスコード 400 または 402 のレスポンスの形式でレート制限が発生することがあります。使用量がこれらのレベルに達することが懸念される場合は、詳細についてお問い合わせください。これらの制限はケースバイケースで Klarna により引き上げられる可能性があります。

エラーメッセージ

Klarna 支払いが失敗すると、通常、以下のエラーコードのいずれかが返されます。これらのコードは、last_payment_error API オブジェクトに表示されます。

注意

2023-08-16 API バージョンより前は、すべての Klarna エラーが payment_intent_authentication_failure として報告されていました。API バージョンが最新であることを確認して、以下のエラー詳細をご覧ください。

エラーコード説明
payment_method_customer_decline顧客が Klarna のページで購入をキャンセルしました
payment_method_provider_declineKlarna が顧客の支払いを拒否しました
payment_intent_payment_attempt_expired顧客が Klarna のページで購入を完了しないまま、支払いセッションの有効期限が切れました
payment_method_not_availableKlarna を使用しようとしたときに予期しないエラーが発生しました

オプションのカスタマイズ

オプションで、Klarna 決済フロー(売上の承認とキャプチャーの分離など)と顧客とのやり取り(リダイレクトの処理など)に複数の異なるカスタマイズを実装できます。

承認とキャプチャーの分離

Klarna はオーソリとキャプチャの分離に対応しています。支払いから顧客への商品の配送までに遅延が生じた場合、まず支払いをオーソリし、後でキャプチャーします。キャプチャーされた時点で、Klarna は顧客に明細書を送り、必要となる以降の支払いの期日を作成します。オーソリされた Klarna の支払いは、オーソリから 28 日以内にキャプチャーする必要があります 。キャンセルされない場合、オーソリは自動的にキャンセルされ、支払いをキャプチャーできなくなります。

  1. オーソリのみ行うように Stripe に指示する

    オーソリとキャプチャーを分離することを指定するには、PaymentIntent の作成時に、capture_method を manual に設定します。このパラメーターは、顧客の Klarna アカウントの金額のみをオーソリするよう Stripe に指示します。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d capture_method=manual
  2. 売上をキャプチャーする

    承認が完了すると、PaymentIntent の ステータスは requires_capture に移行します。承認済みの売上をキャプチャーするには、PaymentIntent の キャプチャーリクエストを作成します。デフォルトでは承認済みの総額がキャプチャーされます。これを超える金額をキャプチャーすることはできませんが、これより少ない金額をキャプチャーすることは可能です。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents/
    {{PAYMENT_INTENT_ID}}
    /capture
    \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount_to_capture=750
  3. 任意オーソリをキャンセルする

    Klarna は、Klarna 内での顧客の総計購買力に対して、承認された決済件数を計算します。このため、フルフィルメントを行えない承認済みの決済 (商品を配送できないなど) は、それが明らかになり次第、早急にキャンセルする必要があります。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents/
    {{PAYMENT_INTENT_ID}}
    /cancel
    \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d cancellation_reason=abandoned

Klarna リダイレクトを手動で処理する

クライアント側で confirmKlarnaPayment を使用して Klarna のリダイレクトおよび支払いを処理するには、Stripe.js を使用することをお勧めします。Stripe.js を使用すると、他の決済手段にも対応するように実装を拡張できます。ただし、以下の手順に従って、お客様のサーバーに顧客を手動でリダイレクトすることもできます。

  1. タイプが klarna の PaymentIntent (支払いインテント) を作成し、確定します。return_url フィールドに顧客の支払い後のリダイレクト URL を指定する必要があります。この URL には固有のクエリパラメーターを指定でき、リダイレクトフローの最終的な URL にはその値が含まれます。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna
  2. 作成される PaymentIntent のステータスは requires_action であり、next_action のタイプは redirect_to_url です。

    { "status": "requires_action", "next_action": { "type": "redirect_to_url", "redirect_to_url": { "url": "https://hooks.stripe.com/...", "return_url": "https://example.com/checkout/complete" } }, "id": "pi_1G1sgdKi6xqXeNtkldRRE6HT", "object": "payment_intent", "amount": 1099,
  3. next_action.redirect_to_url.url プロパティで指定した URL に顧客をリダイレクトします。ここに示すコード例はおおまかなものであり、リダイレクト方法は、お客様の Web フレームワークによって異なることがあります。

    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    if payment_intent.status == 'requires_action' && payment_intent.next_action.type == 'redirect_to_url' url = payment_intent.next_action.redirect_to_url.url redirect(url) end

決済プロセスを完了した顧客は、ステップ 1 で設定した return_url に送られます。payment_intent と payment_intent_client_secret の URL クエリパラメーターが含まれています。return_url にクエリパラメーターがすでに含まれていた場合は、それらも保持されます。

支払いのステータスを確認するには、Webhook を利用することをお勧めします。

決済後のイベントを処理

支払いが完了すると、Stripe は payment_intent.succeeded イベントを送信します。ダッシュボード、カスタム Webhook、またはパートナーソリューションを使用してこれらのイベントを受信し、また、顧客への注文確認メールの送信、データベースでの売上の記録、配送ワークフローの開始などのアクションを実行します。

クライアントからのコールバックを待つのではなく、これらのイベントをリッスンします。クライアント側では、コールバックが実行される前に顧客がブラウザーのウィンドウを閉じたり、アプリを終了したりする可能性があります。また、悪意を持つクライアントがレスポンスを不正操作する恐れもあります。非同期型のイベントをリッスンするよう構築済みのシステムを設定することで、これ以降はより多くの決済手段を簡単に受け付けられるようになります。サポートされているすべての決済手段の違いをご確認ください。

  • ダッシュボードでイベントを手動で処理する

    ダッシュボードを使用して、テスト決済をダッシュボードで表示したり、メール領収書を送信したり、入金を処理したり、失敗した決済を再試行したりできます。

  • Custom Webhook を構築する

    Custom Webhook ハンドラを構築してイベントをリッスンし、カスタム非同期型の決済フローを作成します。Stripe CLI を使用して、ローカルで Webhook の導入のテストとデバッグを行います。

  • 構築済みアプリを導入する

    パートナーアプリケーションを統合することで、自動化やマーケティング/セールスなどの一般的なビジネスイベントを処理します。

Klarna 決済ページをカスタマイズする

  • Klarna フォームを事前入力する

    顧客が延べ払いオプションを使用して Klarna に決済することを選択すると (後払い、分割払い、融資など)、Klarna は、リスク評価と承認のために十分な情報を収集します。情報の種類は、顧客の国によって異なります。ほとんどのヨーロッパの国では、完全な請求先住所と生年月日です。この情報は API を通じて渡すことができ、顧客がページに到着する前にフォームが事前入力されます。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna \ --data-urlencode "payment_method_data[billing_details][email]"="customer@example.com" \ -d "payment_method_data[billing_details][name]"="Jenny Rosen" \ --data-urlencode "payment_method_data[billing_details][phone]"="+4915142321555" \ -d "payment_method_data[billing_details][address][line1]"="Alexanderplatz 1" \ -d "payment_method_data[billing_details][address][city]"=Berlin \ -d "payment_method_data[billing_details][address][postal_code]"=10551 \ -d "payment_method_data[billing_details][address][country]"=DE \ -d "payment_method_data[klarna][dob][day]"=10 \ -d "payment_method_data[klarna][dob][month]"=10 \ -d "payment_method_data[klarna][dob][year]"=1990
    API からの請求詳細が事前入力され、英語で表示されるようにカスタマイズされた Klarna の支払いページのスクリーンショット

    Klarna の支払いページは、API からの請求書詳細が事前入力され、カスタマイズされてドイツの顧客に英語で表示されます。

PaymentIntent に項目を追加する

Klarna との統合項目

Klarna を導入する際に承認率を最適化するには、line_items データを含めて買い物客のカートの中身を表します。先行提供版については、支払い項目をご覧ください。

ウェブサイトに決済手段のメッセージを表示する

Payment Method Messaging Element は、顧客が購入時に商品、カート、支払いの各ページから、利用できる後払いの決済オプションを直接確認できるようにする、埋め込み可能な UI コンポーネントです。

ウェブサイトに Payment Method Messaging Element を追加するには、決済手段のメッセージを表示するをご覧ください。

Prince of Persia book
The Making of Prince of Persia: Journals 1985-1993
Jordan Mechner
$99.00
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc