创建自定义的Stripe Connect帐户

时间:2020-07-16 18:38:44

标签: stripe-payments ruby-on-rails-6

我已经与买卖双方建立了一个平台,现在我想整合付款。 我遇到了Stripe,它非常容易直接使用。

但是,我发现缺少文档,因为我想实现卖方不必创建分条帐户即可由买方付款。 Stripe提供的是他们所谓的解决方案。条纹连接。

条带连接具有三个选项;标准,快速和自定义。

对于我的特定用例有意义的解决方案是自定义选项。 在documentation中,他们有此代码段;

    Stripe.api_key = 'STRIPE_SECRET_KEY'

    account = Stripe::Account.create({
     country: 'US',
     type: 'custom',
     requested_capabilities: ['card_payments', 'transfers'],
    })

他们写道,以上内容用于创建自定义帐户。坦率地说,没有太多需要处理的东西。 有没有人开发出我想要实现的东西。在这方面的协助确实会有所帮助。

我已经实现了Express Stripe Connect。这是我写的一个助手;

module ApplicationHelper
  # Express Stripe url
  def stripe_url
    "https://dashboard.stripe.com/express/oauth/authorize?response_type=code&client_id=#{ENV["STRIPE_CONNECT_CLIENT_ID"]}&scope=read_write"
  end

      
  # Express Stripe Implementation
  def stripe_connect_button
    link_to stripe_url, class: "stripe-connect" do
      content_tag :span, "Connect With Stripe"
    end
  end
end

我在<%= stripe_connect_button %>文件中写入了.erb,并正确渲染了该文件。我能够完成整个过程。

我想有一种类似的方法,但是对于自定义条带连接,因为通过上述实现,我必须创建一个带区帐户作为卖方。

我能够使用基于thiscurl测试自定义条带化帐户的创建

curl就是这样;

curl https://api.stripe.com/v1/accounts \
  -u STRIPE_SECRET_KEY: \
  -d country=US \
  -d type=custom \
  -d "requested_capabilities[]"=card_payments \
  -d "requested_capabilities[]"=transfers

以上返回json,我复制了id的{​​{1}}。我在另一个curl请求中使用了此ID;

account_id

这将返回看起来像这样的json;

curl https://api.stripe.com/v1/account_links \
  -u STRIPE_SECRET_KEY: \
  -d account= #{id} \
  -d refresh_url="https://example.com/reauth" \
  -d return_url="https://example.com/return" \
  -d type=account_onboarding

然后,我访问{ "object": "account_link", "created": 1594988541, "expires_at": 1594988841, "url": "https://connect.stripe.com/setup/c/AUyum7LCw4cV" } url:进行入门。我已经成功创建了一个https://connect.stripe.com/setup/c/AUyum7LCw4cV

但是,我想将此流程转换为stripe connect custom account

所以,我的问题是,当RubyOnRails单击按钮(Seller)时,如何使以下代码片段启动帐户创建?

Connect To Stripe

Stripe.api_key = STRIPE_SECRET_KEY account = Stripe::Account.create({ country: 'US', type: 'custom', requested_capabilities: ['card_payments', 'transfers'], }) 实现中,我有一个Express Stripe Connect传递给按钮。有了以上内容,我没有网址可以使用。

1 个答案:

答案 0 :(得分:0)

您共享的代码将代表卖方在API中创建一个自定义帐户。这只是第一步,您可以代表他们接受付款并将资金汇入他们的银行帐户。

关于资金流向和需要从卖方那里收集的信息有很多法规,如果不完成这些步骤,就不能简单地将100美元存入美国的银行帐户。 Stripe详细介绍了所有需要收集的信息,具体取决于您正在建立的业务类型和要经营的国家/地区。您可以在此处详细了解:https://stripe.com/docs/connect/required-verification-information

对于像您这样的项目,可靠地收集这些信息在初期可能会非常棘手。同样,法规会定期发展,要求您收集新用户的更多详细信息,回填一些缺失的信息并进行额外的报告。

这就是为什么Stripe构建其Connect Onboarding托管页面的原因,以便您可以将所有信息的收集推迟给他们。您可以在此处了解更多信息:https://stripe.com/connect/onboarding

使用Connect Onboarding可能是您业务的最佳解决方案,因为您可以轻松地使卖家在关注业务核心部分时无需直接拥有Stripe帐户即可提供相关信息。