Ruby 中的 Stripe API 问题

问题描述 投票:0回答:1

enter image description here

我在使用 Rails 的 stripe API 时遇到上述错误。当我使用参数创建令牌时出现此错误。

如果我使用下面的代码在 Rails 控制台中直接创建没有参数的卡,它会成功工作 -

Stripe.api_key = 'sk_test_51OxaxrHv50QCG0VIMSQ1gFDxuQpV5V2T2qsGb2GklU4Fq2WJszkD2Tq0z9zVI6ZL.....'
Stripe::Token.create({
  card: {
    number: '4242424242424242',
    exp_month: '5',
    exp_year: '2024',
    cvc: '314',
  },
})

但是如果我使用参数,它会显示错误。

请帮我解决这个错误。

我使用以下函数使用参数创建卡片 -

  def create_card_token(params)
    Stripe::Token.create({
      card: {
        number: params[:card_number].to_s,
        exp_month: params[:exp_month].to_s,
        exp_year: params[:exp_year].to_s,
        cvc: params[:cvc].to_s,
      },
    })
  end

请帮我解决这个错误。

ruby-on-rails stripe-payments
1个回答
0
投票

从错误中共享的支持 URL 中可以看到:https://support.stripe.com/questions/enabling-access-to-raw-card-data-apis 将 RAW PAN(卡数据)发送到 Stripe API 有额外要求并需要 Stripe 的批准。

如果您的账户已获准发送原始卡详细信息,那么当您通过

Stripe
 设置卡详细信息进行 API 调用时,您可能需要检查您的 
params

实例是否使用正确的 API 密钥

或者,存储付款方式的更好方法是使用此处推荐的 SetupIntents API:https://docs.stripe.com/ payments/save-and-reuse

© www.soinside.com 2019 - 2024. All rights reserved.