我在使用 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
请帮我解决这个错误。
从错误中共享的支持 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