Techioz Blog

PaymentIntent ステータス: Ruby on Rails での Stripe ACH 実装の require_source_action

概要

ACH 実装のテスト PaymentIntent を完了しようとしています。 以下を使用して PaymentIntent を作成できました。

Stripe::PaymentIntent.create(
  {
    amount: 1099,
    currency: 'usd',
    setup_future_usage: 'off_session',
    confirm: true,
    payment_method_types: ['us_bank_account'],
    on_behalf_of: 'acct_XXXXXXXXXXXX',
    mandate_data: {
      customer_acceptance: {
        type: 'offline'   
      },   
    },
    payment_method_data: {
      type: 'us_bank_account',
      billing_details: {
        name: 'Test Name'
      },
      us_bank_account: {
        routing_number: '110000000',
        account_number: '000123456789',
        account_holder_type: 'individual'
      }
    }
  }
)

これに続いて、Paymentconfirm API を実行しました。

Stripe::PaymentIntent.confirm(
  'pi_3MosEfLYIdOgExxxxxxxxxx',
  {payment_method: 'pm_1MosEfLYIdOgE1Qxxxxxx'},
)

確認はサンドボックス ダッシュボードに反映されていますが、支払いステータスはまだ不完全です。PaymentIntent ステータスは次のとおりです:requires_source_action

前もって感謝します

解決策

今回の API アップグレードでは、古い API バージョンを使用している可能性があります。requires_source_action ステータスが require_action になりました。ここで、Payment Intent で現在考えられるステータスを確認することもできます。

このエラーが発生する理由については、ACH ダイレクト デビットの仕組みを確認してください。 ACH ダイレクト デビットでは、委任状を受け取る必要があり、かつ銀行口座が認証される必要があります。私の疑いは、支払い方法がまだ検証されておらず、スクリーンショットで指定されている next_action を確認できることです。存在する場合、または存在する場合は、次にどのようなアクションを実行する必要があるかを示します。

ACH 口座振替による支払いを受け入れるには、このガイドに従うことを強くお勧めします。