Affirm 支払いの受け付け
注意
Stripe は、顧客の通貨、決済手段の制限、その他のパラメーターを評価して、決済手段オプションを自動的に提示します。決済を受け付けるの手順を使用して、Stripe ダッシュボードから決済手段を設定することをお勧めします。
引き続き、Checkout で顧客に提示する決済手段を手動で設定する必要がある場合は、こちらのガイド (たとえば、_「サブスクリプション」_モードでの決済の受け付け) を使用します。それ以外の場合は、ダッシュボードに移行します。
Affirm は 1 回限りの使用で即時通知型の支払い方法であり、顧客は支払いの認証を求められます。顧客は Affirm のサイトにリダイレクトされ、そこで分割払いプランの規約に同意します。顧客が規約に同意すると、売上が保証され、お客様の Stripe アカウントに送金されます。顧客は一定の期間にわたって Affirm に直接返済します。
注
導入を開始する前に、決済手段の設定に移動して、アカウントで Affirm が使用可能であることを確認してください。
決済を受け付ける
注
このガイドは、Checkout の基本的な決済の受け付けの実装が存在することを前提として作成されています。
このガイドでは、Affirm を有効にする方法を紹介し、カード支払いを受け付ける場合と、Affirm を使用する場合の違いも説明します。
支払い方法として Affirm を有効にする
新しい Checkout セッションを作成する際に、以下を実行する必要があります。
affirm
をpayment_method_types
のリストに追加します。- すべての
line_items
でお客様の国内通貨を使用していることを確認します。 shipping_address_collection[allowed_countries]
に国を追加して、配送先住所を収集することをお勧めします。Checkout での配送先住所の収集を望まない場合は、payment_intent_data[shipping]
を使用して配送先住所を指定することもできます。これにより、ローン承認率が向上します。
注文のフルフィルメントを実行する
注文のフルフィルメントを処理する際は、顧客が支払いのステータスページに戻ったことを確認するのではなく、Webhook などの方法を使用します。
支払いのステータスに変化があると、以下のイベントが送信されます。
イベント名 | 説明 | 次のステップ |
---|---|---|
checkout.session.completed | 顧客が Checkout フォームを送信して、支払いのオーソリを正常に完了しました。 | 支払いの成功または失敗の結果を待ちます。 |
payment_intent.succeeded | 顧客の支払いが成功しました。PaymentIntent は succeeded に移行します。 | 顧客が購入した商品またはサービスのフルフィルメントを行います。 |
payment_intent.payment_failed | 顧客の支払いが拒否されたか、その他の理由で失敗しました。PaymentIntent のステータスは requires_payment_method に戻ります。 | 顧客にメールを送り、新たに注文するように依頼してください。 |
詳細については、注文のフルフィルメントをご覧ください。
組み込みをテストする
Checkout の組み込みをテストする際に、支払い方法として Affirm を選択して、支払いボタンをクリックします。
テスト API キーを使用して Affirm の組み込みをテストするには、リダイレクトページを表示します。リダイレクトページで支払いを認証することにより、支払い成功のケースをテストできます。PaymentIntent は requires_action
から succeeded
に変化します。
ユーザーが認証に失敗するケースをテストするには、テスト API キーを使用してリダイレクトページを表示します。リダイレクトページで Fail test payment (テスト支払い失敗) をクリックします。PaymentIntent は、requires_action
から requires_payment_method
に変化します。
テスト環境で PaymentIntent を手動でキャプチャーする場合、未キャプチャーの PaymentIntent は、オーソリの成功後 10 分で自動的に期限切れになります。
失敗した支払い
Affirm では、取引を受け付けるか拒否するかを決定するときに複数の要素が考慮されます (買い手が Affirm を使用している期間、顧客が返済する必要のある未払い額、現在の注文額など)。
Affirm による支払いは他の多くの支払い方法と比較して支払いの拒否率が高いため、決済フローには常に card
などの他の支払いオプションを提示してください。状況に従って、PaymentMethod (支払い方法) の関連付けが解除され、PaymentIntent (支払いインテント) オブジェクトのステータスが自動的に requires_payment_method
に変わります。
支払いが拒否された場合を除き、Affirm の PaymentIntent (支払いインテント) のステータスが requires_action
の場合、Affirm サイトにリダイレクトされてから 12 時間以内に顧客は支払いを完了する必要があります。12 時間以内に顧客がアクションを実行しなければ、PaymentMethod (支払い方法) の関連付けが解除され、PaymentIntent (支払いインテント) オブジェクトのステータスが自動的に requires_payment_method
に変わります。
このようなケースでは、決済フローに表示される別の支払いオプションで再試行するように顧客に通知します。
エラーコード
一般的なエラーコードと対応する推奨アクションは次のとおりです。
エラーコード | 推奨アクション |
---|---|
invalid_amount_too_small | Affirm の国別のデフォルトの取引限度額以内の金額を入力してください。 |
invalid_amount_too_large | Affirm の国別のデフォルトの取引限度額以内の金額を入力してください。 |
missing_required_parameter | 必須のパラメーターの詳細については、エラーメッセージを確認してください。 |
nonexistent_country | 配送の詳細と請求の詳細の country プロパティーには、有効な ISO の 2 文字の国コードを入力してください。 |
payment_intent_invalid_currency | 適切な通貨を入力します。Affirm は、現地通貨での支払いにのみ対応します。 |
payment_intent_redirect_confirmation_without_return_url | Affirm で PaymentIntent を確定する際は、return_url を指定します。 |
payment_method_invalid_parameter | パラメーターの詳細については、エラーメッセージを確認してください。 |