如何解决在 Stripe 中保存自定义帐户客户的信用卡
我们正在构建一个平台。 在我们的平台中,我们在 Stripe 中创建了 Custom Connect Accounts。 对于这些自定义连接帐户,我们创建客户帐户。本质上,客户帐户是我们在平台中的 Custom Connect(公司)帐户的最终客户。 现在我们要存储客户帐户的信用卡信息(对于特定的自定义连接帐户)。
我们按照说明 here 创建了一个 setupIntent。代码如下,这里的stripe_account是自定义连接(公司)账户的account_id,customer['id']是客户账户的id -
intent = stripe.SetupIntent.create(
customer=customer['id'],stripe_account = stripe_account
)
我们将这个 intent.client_secret 传递给我们的前端。在 Javascript 中,我们称之为 -
setupForm.addEventListener('submit',function(ev) {
ev.preventDefault();
stripe.confirmCardSetup(
clientSecret,{stripe_account : stripe_account},{
payment_method: {
card: cardElement,billing_details: {
name: cardholderName.value,},}
).then(function(result) {
if (result.error) {
// display error.message in your UI.
} else {
// The setup has succeeded. display a success message.
}
});
});
但是我们得到了错误,没有这样的 setupintent:'seti_1IBkyZ4ZQzThevDR3MR433aI'。显然,这里不接受从 Stripe 生成的 setupintent。我们做错了什么?
解决方法
此错误的可能原因是您不是 initializing Stripe.js with the stripeAccount
Setup Intent 所在。您的 Stripe.js 初始化代码应如下所示:
var stripe = Stripe('pk_test_YOUR_PUBLISHABLE_KEY',{
stripeAccount: 'acct_CONNECTED_ACCOUNT_ID'
});
这将允许 Stripe.js 代表连接的帐户(这是设置意图存在的地方)发出请求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。