jjzjj

javascript - Stripe 连接: What's the difference between Customers and Accounts?

coder 2024-05-15 原文

目前,似乎Connect的Accounts可以完成Customers的所有操作,例如可以将银行卡直接添加到Accounts帐户。因此,仅为用户创建Accounts对象就足够了,但是是否有可能我不得不创建Customers对象?

例如,在教程(https://stripe.com/docs/connect/payments-fees)中, token 可以简单地提供Accounts可发布 key :

stripe.charges.create({
  amount: 1000,
  currency: 'usd',
  source: {TOKEN},
  destination: {CONNECTED_STRIPE_ACCOUNT_ID}
});

为了澄清起见,是从哪里提取资金的source,到资金去向的destination?资金会存入destination的默认银行帐户吗?

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

最后,在转移资金时,通过未定义来源,是否意味着资金将从平台帐户的余额中提取?
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将这些功能分为两个单独的对象类型。

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

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

  • Standard(以前称为Standalone),它们是普通的Stripe帐户。您可以通过基于OAuth的流程将Standard Stripe帐户连接到平台。
  • Custom(以前称为Managed),它使您可以更好地控制
    用户体验,但需要做更多的工作:您完全通过API控制自定义帐户,并负责构建仪表板,注册表单和其他帐户管理界面。
  • Express帐户,位于标准帐户和自定义帐户之间。 Stripe为Express用户提供了简单的注册表单和精简的仪表板。

  • https://stripe.com/docs/connect/connecting-to-accounts

    顾客
    Customer是一个对象,您可以将其存入信用额度,银行帐户,比特币接收器等,然后从中收取费用/从中收取款项。 https://stripe.com/docs/api#customers

    如果您想存储卡并在将来收费,Stripe提供了创建Customer对象的功能。如果您只对一次性交易感兴趣,则可以简单地使用并使用通过Checkout/Stripe.js/mobile sdk和可发布 key 获得的 token 。

    您可以在此处https://stripe.com/docs/charges中找到使用 token 进行一次性付款和客户的付款流程示例

    需要明确的是,没有办法向客户对象付款或从帐户中附加的银行帐户或借记卡中扣款。

    在第一个示例中:
    source是 token tok_xxxyyyyzzz,通常是通过Stripe.js/Checkout/移动SDK获得的,您将传递给后端。如果您将来源保存到帐户中的Customer中,则可以传递customer: cus_xxxyyyzzz代替,以对该source收取默认的Customer费用。

    https://stripe.com/docs/connect/payments-fees#charging-through-the-platform
    destination是您希望资金流过的Account。自定义帐户最常使用destination收费。以这种方式收费时,资金将从您的平台转移到destination帐户的余额中。如果该帐户设置为自动转帐,则当这些资金可用于转帐时,资金将自动移至其默认银行帐户。

    流程如下所示:
    Charge (token or customer on Platform) -> Platform Balance -> Custom Account Balance (destination) -> Custom Account Bank Account
    如果您需要对从自定义帐户的余额到其银行帐户的资金转移进行更多控制和细化,可以将自定义帐户设置为手动转帐。在此处阅读有关此内容的更多信息https://stripe.com/docs/connect/bank-transfers#payout-information

    如果您正在创建Custom Accounts或用户通过OAuth流程连接其Standard Accounts,则应该在您的信息中心中看到他们:https://dashboard.stripe.com/applications/users

    如果您需要关联帐户余额的特定详细信息,则需要拨打电话以检索其余额或余额交易,同时使用Stripe Account header (其帐户ID,例如acct_xxxyyyyzzzz)进行身份验证

    https://stripe.com/docs/connect/authentication#authentication-via-the-stripe-account-header
    https://stripe.com/docs/api#balance_history

    最后,您提供的示例传递的是Stripe-Account header {stripe_account: CONNECTED_STRIPE_ACCOUNT_ID},因此它发生在关联帐户上---它正在将资金从关联帐户的余额转移到其默认银行帐户。如果您的关联帐户是手动转帐,将使用此功能。

    这里概述了您从平台余额转移到关联帐户的方式。 https://stripe.com/docs/connect/special-case-transfers#transferring-to-another-stripe-account

    顾名思义,“特殊案例转移”意味着这些Platform -> Connected Account转移仅应在有限的情况下发生(当前尚无从关联帐户->平台转移资金的方法)。
    ripe = require('stripe')(PLATFORM_SECRET_KEY);
    stripe.transfers.create(
      {
        amount: 1000,
        currency: 'usd',
        destination: {CONNECTED_STRIPE_ACCOUNT_ID},
        source_transaction: {CHARGE_ID}
      }
    );
    

    总体上构建适合您需求的Connect流程可能很复杂,但却是一项有意义的工作-如果您对https://support.stripe.com/email的细节有所了解,我建议与Stripe的支持人员聊天。

    关于javascript - Stripe 连接: What's the difference between Customers and Accounts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40228547/

    有关javascript - Stripe 连接: What's the difference between Customers and Accounts?的更多相关文章

    1. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

      我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

    2. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

      我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

    3. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

      我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

    4. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

      在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

    5. ruby - 主要 :Object when running build from sublime 的未定义方法 `require_relative' - 2

      我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby​​1.9+ 关于ruby-主要:Objectwhenrun

    6. ruby - 续集在添加关联时访问many_to_many连接表 - 2

      我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

    7. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

      我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

    8. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

      我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

    9. ruby-on-rails - rspec should have_select ('cars' , :options => ['volvo' , 'saab' ] 不工作 - 2

      关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request

    10. ruby-on-rails - Rails 中的 NoMethodError::MailersController#preview undefined method `activation_token=' for nil:NilClass - 2

      似乎无法为此找到有效的答案。我正在阅读Rails教程的第10章第10.1.2节,但似乎无法使邮件程序预览正常工作。我发现处理错误的所有答案都与教程的不同部分相关,我假设我犯的错误正盯着我的脸。我已经完成并将教程中的代码复制/粘贴到相关文件中,但到目前为止,我还看不出我输入的内容与教程中的内容有什么区别。到目前为止,建议是在函数定义中添加或删除参数user,但这并没有解决问题。触发错误的url是http://localhost:3000/rails/mailers/user_mailer/account_activation.http://localhost:3000/rails/mai

    随机推荐