Stripe connect - 在付款过程中保存卡
Posted
技术标签:
【中文标题】Stripe connect - 在付款过程中保存卡【英文标题】:Stripe connect - save a card during payment 【发布时间】:2021-03-11 07:40:27 【问题描述】:我正在尝试在使用条带连接付款期间保存信用卡。
我正在关注文档here
但是,文档不适用于条带连接。它们用于常规的条带付款。
我的代码与文档相同,只是我的 paymentIntents 是在关联账户上创建的,因为我希望费用在关联账户上。
stripe.paymentIntents.create(
payment_method_types: ['card'],
amount: Math.round(Number(req.body.stripeData.amount *100)),
currency: userEvent.currency,
description: userEvent.title,
application_fee_amount: Math.round(Number((fees.applicationFee) *100)),
customer: stripeCustomerID
,
stripe_account: sellerDetails.stripeAccountID,
)
这向我抛出了错误 No such customer: 'cus_ITBFODvD6dB1vP'
,这是有道理的,因为客户是在平台帐户上设置的。
我想将客户和付款方式保存到我的平台账户,然后在关联账户上收费。
有没有一种类似于文档的巧妙方法可以做到这一点,或者我必须做一个解决方法 - 将客户和付款方式保存在平台帐户上的代码,然后自动在连接的帐户上收费
【问题讨论】:
【参考方案1】:您也可以通过在客户创建调用中指定stripe_account
在连接的帐户而不是您的平台上创建客户。像这样的:
stripe.customers.create(
// Customer details here
,
stripe_account: sellerDetails.stripeAccountID
);
您可以使用此技术代表已连接帐户而不是您的平台帐户进行几乎所有 API 调用。更多详情请查看the documentation for authentication with Connect。
注意:看起来您使用的是旧版本的 Stripe 节点库;较新的版本在传递给库方法的最后一个选项对象中使用stripeAccount
而不是stripe_account
。如果您升级到较新版本的库,请注意一些事项!
【讨论】:
谢谢。这是否意味着客户的付款详细信息仅保存在该关联帐户中?我想将他们的详细信息保存在我的平台帐户中,以便我可以在任何关联的帐户中使用他们保存的付款详细信息。 没错。如果您希望将客户和付款详细信息同时保存到您的平台和连接的帐户中,您应该查看 cloning your Customers 和 Payment Methods。 所以为强大的客户身份验证编码意味着,要保存一张客户卡以供所有连接的帐户使用,我需要执行以下步骤:1. 在后端创建一个客户和一个 setupIntent 2.在前端confirmCardSetup 3. 再次在后端,将付款方式克隆到已连接的帐户并创建会话外付款意图。 4. 在前端显示这是成功还是失败 这将起作用,但考虑到客户正在等待所有这些调用完成!以上是关于Stripe connect - 在付款过程中保存卡的主要内容,如果未能解决你的问题,请参考以下文章
Stripe Connect:在Stripe Connect中,谁将支付Stripe费用,如何确定?
在 WooCommerce 中以编程方式收取保存的 Stripe 卡
使用 React Native/Stripe/Firebase 一次性付款