通过 Stripe 向用户收费并将钱存入另一个用户帐户

Charging a user via Stripe and depositing money into another users account

我有一个基本上是商店的 Web 应用程序。用户的 post 项要出售,其他用户购买。这是我第一次使用 Stripe API,我需要从买家的信用卡(客户或只是从 stripe 代币)中扣款,然后将其存入卖家账户。我在文档中看到,如何对卡进行充电,例如

var stripeToken = request.body.stripeToken;

var charge = stripe.charges.create({
  amount: 1000, // amount in cents, again
  currency: "usd",
  source: stripeToken,
  description: "Example charge",
  metadata: {'order_id': '6735'}
}, function(err, charge) {
  if (err && err.type === 'StripeCardError') {
    // The card has been declined
  }
});

但是我对如何将钱存入卖家的银行账户一头雾水?我需要用户的银行账户信息吗?借记卡?我是否让他们成为我的 stripe 帐户中的客户?

您需要使用Stripe Connect代他人收款。

您可以找到文档 here. In a nutshell, Connect can be used with standalone accounts (which are full-featured Stripe accounts just like yours) and managed accounts(这些 "account-like" 实体仅存在于您自己的帐户中)。

您应该使用哪种取决于您所在的位置(托管帐户并非随处可用)和您的确切需求。 This article 有一些信息可以帮助您选择。

然后您需要决定是否要收费directly on the connected account:

var destination = 'acct_...'; // ID of the destination account
var charge = stripe.charges.create({
  amount: 1000, // amount in cents, again
  currency: "usd",
  source: stripeToken,
  description: "Example charge",
  metadata: {'order_id': '6735'}
}, {stripe_account: destination},
function(err, charge) {
  ...

through the platform:

var destination = 'acct_...'; // ID of the destination account
var charge = stripe.charges.create({
  amount: 1000, // amount in cents, again
  currency: "usd",
  source: stripeToken,
  description: "Example charge",
  metadata: {'order_id': '6735'},
  destination: destination
}, function(err, charge) {
  ...