ruby-on-rails 如何使用Stripe API接受银行账户付款

l5tcr1uw  于 2023-03-24  发布在  Ruby
关注(0)|答案(1)|浏览(214)

我正在工作的应用程序是通过卡接受付款。要求是通过银行账户(ACH付款)accept付款
我尝试使用支付方式选项作为us_bank_account,但这里的参数似乎不正确

Stripe::PaymentIntent.create(
  {
    amount: 1099,
    currency: 'usd',
    setup_future_usage: 'off_session',
    payment_method_types: ['us_bank_account'],
    payment_method_options: {
      us_bank_account: {
        routing_number: 110000000,
        account_number: 123456789,
        account_holder_type:'individual',
      },
    },
  },
)

我得到的错误是

Stripe::InvalidRequestError: Received unknown parameters: account_holder_type, account_number, routing_number
from /home/admin1/.rvm/gems/ruby-2.6.7/gems/stripe-5.33.0/lib/stripe/stripe_client.rb:650:in `handle_error_response'```

我不确定这里需要哪些API和参数。另外,我可以使用Transfer API而不是PaymentIntent。我避免使用Charge API,因为它已经贬值。
我的目标是测试API与mt沙盒帐户(acct_testXXXXXXXXXX),使支付不同的帐户和路由号码
测试帐户和路由编号

t1rydlwq

t1rydlwq1#

account_holder_typeaccount_numberrouting_number参数的值应作为payment_method_data.us_bank_account的一部分发送:https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_data-us_bank_account
payment_method_data字典还需要type,美国银行账户需要账户保持器姓名。您的创建请求应该如下所示:

Stripe::PaymentIntent.create(
  {
    amount: 1099,
    currency: 'usd',
    setup_future_usage: 'off_session',
    payment_method_types: ['us_bank_account'],
    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'
      }
    }
  }
)

上面的步骤将创建一个PaymentIntent,但该PaymentIntent仍需要确认。确认PaymentIntent需要您的客户接受一个委托。我建议您在测试时遵循此指南,因为您最终会让您的客户在前端共享银行账户信息:https://stripe.com/docs/payments/ach-debit/accept-a-payment?platform=web&ui=API

相关问题