Javascript 条纹连接:什么';客户和客户之间的区别是什么?

Javascript 条纹连接:什么';客户和客户之间的区别是什么?,javascript,stripe-payments,payment-gateway,Javascript,Stripe Payments,Payment Gateway,目前,似乎Connect的账户完成了客户所做的一切,例如,可以将银行卡直接添加到账户账户。因此,仅仅为用户创建一个Accounts对象似乎就足够了,但有没有可能我必须创建一个Customers对象 例如,在教程中(https://stripe.com/docs/connect/payments-fees),令牌可以简单地提供帐户可发布密钥: stripe.charges.create({ amount: 1000, currency: 'usd', source: {TOKEN},

目前,似乎Connect的
账户
完成了
客户
所做的一切,例如,可以将银行卡直接添加到
账户
账户。因此,仅仅为用户创建一个
Accounts
对象似乎就足够了,但有没有可能我必须创建一个
Customers
对象

例如,在教程中(
https://stripe.com/docs/connect/payments-fees
),令牌可以简单地提供
帐户
可发布密钥:

stripe.charges.create({
  amount: 1000,
  currency: 'usd',
  source: {TOKEN},
  destination: {CONNECTED_STRIPE_ACCOUNT_ID}
});
澄清一下,
来源
是资金将从何处提取,而
目的地
是资金将流向何处?资金将存入目的地的默认银行账户

此外,当通过API创建
帐户时,是否可以通过平台的仪表板查看新连接的帐户?还能查看交易和余额吗

最后,在转移资金时,不定义来源是否意味着资金将从平台账户的余额中提取

var stripe = require('stripe')(PLATFORM_SECRET_KEY);
stripe.transfers.create(
  {
    amount: 1000,
    currency: "usd",
    destination: "default_for_currency"
  },
  {stripe_account: CONNECTED_STRIPE_ACCOUNT_ID}
);

我将接受/赞成这个答案。提前感谢。

在开发平台时,您通常会对两个功能感兴趣:支付从用户处获得支付。Stripe将这些函数分为两种不同的对象类型

账户
帐户
是一个对象,用于表示您向其付款的用户。账户可以附加一个
外部账户(银行账户,或在某些情况下,借记卡)。出于合规性原因,帐户需要提供一些个人信息以验证用户的身份

有三种类型的帐户可以连接到平台:

  • Standard
    (以前称为
    Standalone
    ),这是正常的条带帐户。通过基于OAuth的流将标准条带帐户连接到平台
  • Custom
    (以前是
    管理的
    ),这使您能够更好地控制 用户体验,但需要在您的终端上做更多的工作:您完全通过API控制自定义帐户,并负责构建仪表板、注册表单和其他帐户管理界面
  • Express
    介于标准和定制之间的账户。Stripe为Express用户提供了一个简单的注册表单和一个lite仪表板

客户
客户
是一个对象,您可以将信用卡、银行账户、比特币接收者等保存到该对象,然后从中收取费用

Stripe提供了创建
客户
对象的功能,如果您希望存储一张卡并将其计入未来费用。如果您只对一次性交易感兴趣,只需获取并使用通过Checkout/Stripe.js/mobile sdk获得的令牌和您的可发布密钥即可

您可以在此处找到使用一次性支付令牌和客户的支付流示例

需要明确的是,没有一种方式可以向客户对象付款或向银行账户或账户附带的借记卡收费


在您的第一个示例中:

source
是一个令牌,
tok_xxxyyyyzzz
,通常通过Stripe.js/Checkout/mobile SDK获得,并将其传递到后端。如果您将源代码保存到帐户上的
客户
,您可以通过
客户:cus_xxxyyzzz
对该
客户
的默认
源代码
收费

destination
是您希望资金流动的
账户。使用
目的地
收费最常用于自定义帐户。以这种方式收费时,资金将从您的平台转移到目的地账户的余额中。如果该账户设置为自动转账,则当这些资金可用于转账时,资金将自动转移到其默认银行账户

流程如下所示:

收费(代币或平台上的客户)->平台余额->自定义账户余额(目的地)->自定义账户银行账户

如果您需要对资金从自定义帐户余额到其银行帐户的移动进行更多的控制和细化,可以将自定义帐户设置为手动转账。请在这里阅读更多关于此的信息


如果您正在创建
自定义帐户
,或者用户正在通过OAuth进程连接其
标准帐户
,则应可在仪表板中查看这些帐户:

如果您想了解连接帐户余额的具体详细信息,您需要调用以检索其余额或余额交易,同时使用条带帐户标题(其帐户id,例如,
acct\u xxxyyyyzzz
)进行身份验证


最后,您提供的示例是传递条带帐户头,
{Stripe\u Account:CONNECTED\u Stripe\u Account\u ID}
,因此它发生在一个连接帐户上——它将资金从连接帐户的余额转移到其默认银行帐户。如果您的连接帐户是手动转账,则将使用此选项

此处概述了您从平台余额转移到连接账户的方式

正如“特例转账”的名称所暗示的,这些
平台->关联账户
转账只能在有限的情况下进行(目前没有从关联账户->平台转移资金的方法)


总的来说,建立一个满足您需求的连接流可能是一项复杂但有意义的任务——如果您被具体问题困扰,我建议您与Stripe的支持人员交谈,

非常感谢您的深入见解。需要澄清的是,Puting
{stripe\u account:CONNECTED\u stripe\u account_
ripe = require('stripe')(PLATFORM_SECRET_KEY);
stripe.transfers.create(
  {
    amount: 1000,
    currency: 'usd',
    destination: {CONNECTED_STRIPE_ACCOUNT_ID},
    source_transaction: {CHARGE_ID}
  }
);