繁体   English   中英

Stripe:Source vs. Card vs. Bank vs Payment Method 有什么不同?

[英]Stripe: Whats the different between Source vs. Card vs. Bank vs Payment Method?

我是第一次使用 Stripe,对它们提供的不同 API 有点困惑。 有一个 Payment Method API,它是推荐用于处理客户付款方式的 API,但目前它只支持信用卡,如果我理解正确的话......

但我需要不同的付款方式,例如银行账户。 所以对于那个 Stripe 提供了 Card、Bank 和 Source 对象。 他们之间有什么不同?

我尝试了他们中的每一个,但看不出他们的行为有任何不同。 我的主要问题是,如果客户需要,我想更改付款的默认来源。 所以客户对象提供了一个 default_source 参数,但是当我更改它时它不会更改默认源。 我试图将默认卡从卡更改为银行,但它不起作用。 所以我想我误解了 Payment Method、Sources、Card 和 Bank 对象的概念。

那么谁能解释一下我必须如何使用这些不同的对象?

我在下面为您提供我的代码。

我用于设置默认源的代码(不会更改任何内容是 Stripe 仪表板):

 const customer = req.body.customer; const token = req.body.token; stripe.customers.update( customer, { default_source: token //token looks like btok_231disjaohq0dj21sp } ).then(customer => { res.send(customer); }).catch(err => { res.send(err); });

仪表板中没有任何变化: 在此处输入图片说明

我创建银行帐户的代码(有效):

 stripe.tokens.create({ bank_account: { country: 'US', currency: 'usd', account_holder_name: decoded.account_holder_name, account_holder_type: 'individual', routing_number: '110000000', account_number: '000123456789' } }).then(token => { stripe.customers.createSource( //there is .create and .createSource whats the difference? decoded.userId, { source: token.id } ).then(bank_account => { res.send(bank_account); }).catch(err => { res.send(err); }) }).catch(err => { res.send(err); });

我创建信用卡的代码(有效):

 stripe.paymentMethods.create({ type: "card", card: { number: decoded.number, exp_month: decoded.month, exp_year: decoded.year, cvc: decoded.cvc } }).then(token => { stripe.paymentMethods.attach( token.id, { customer: decoded.customer, } ).then(card => { res.send(card); }).catch(err => { res.send(err); }); }).catch(err => { res.send(err); });

这些只是 Stripe 随着时间的推移创建的不同对象/API。 支付方式是当前关注新产品和功能开发的 API。

如果您想了解一些进展背后的历史和思想,这篇博文是一个很好的资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM