【问题标题】:Create Custom Stripe Connect Accounts创建自定义 Stripe Connect 账户
【发布时间】:2020-11-06 12:32:00
【问题描述】:

我已经建立了一个包含买家和卖家的平台,现在我想整合支付。 我遇到了 Stripe,它使用起来非常简单直接。

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

条带连接有三个选项;标准、快速和定制。

对我的特定用例有意义的解决方案是自定义选项。 从documentation,他们有这个代码sn-p;

    Stripe.api_key = 'STRIPE_SECRET_KEY'

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

他们写道,以上内容用于创建自定义帐户。坦率地说,没有太多工作要做。 有没有人开发了我正在尝试实现的东西。这方面的帮助真的很有帮助。

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

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

我在.erb 文件中写入<%= stripe_connect_button %> 并且它正确呈现。我能够完成整个过程。

我希望有一个类似的方法,但对于 Custom Stripe Connect,因为通过上述实现,我必须创建一个作为卖家的 Stripe 帐户。

我能够基于this 使用curl 测试自定义条带帐户创建

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,我复制了 idaccount_id。我在另一个 curl 请求中使用了这个 id;

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

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

{
  "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) 时,如何使以下代码 sn-p 启动帐户创建?

Stripe.api_key = STRIPE_SECRET_KEY

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

Express Stripe Connect 实现中,我有一个url 传递给按钮。有了以上内容,我没有可使用的网址。

【问题讨论】:

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


【解决方案1】:

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

关于资金流向以及您需要从卖家那里收集的信息有很多规定,如果不完成这些步骤,您不能简单地将 100 美元汇入美国的银行账户。 Stripe 详细介绍了需要收集的所有信息,具体取决于您正在建立的业务类型以及您将在哪个国家/地区开展业务。您可以在此处阅读更多相关信息:https://stripe.com/docs/connect/required-verification-information

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

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

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

【讨论】:

  • 您好@koopajah 感谢您的回复,这有助于进一步发展。我已经更新了问题
  • @Esseme 你真正的问题是什么? AccountLink 流程意味着您在 ruby​​ stripe.com/docs/api/account_links/create 中创建一个帐户链接服务器端,然后重定向到该 URL 客户端,因此没有太多特定于 Ruby 的内容。我建议直接与 Stripe 的支持团队联系以寻求帮助 support.stripe.com/contact
  • 感谢您的帮助!现在,我将继续使用 Stripe Express。
  • @koopajah 有没有办法让自定义连接入职表格要求用户提供他们的付款信息?我一直在开发一个应用程序,入职表格适用于文档中列出的功能,但我没有看到任何要求用户提供银行信息的选项,这样他们就可以在无需登录 Stripe 的情况下接收付款。跨度>
  • @ChakoraChandra 不,这在今天是不可能的。今天只有 Express 和 Standard 账户会收集银行账户的详细信息。如果您使用自定义帐户,则必须自己处理此问题,因为这些链接未经过身份验证
猜你喜欢
  • 2020-07-28
  • 1970-01-01
  • 2022-01-21
  • 2023-01-27
  • 2021-03-06
  • 2019-08-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
相关资源
最近更新 更多