Stripe、Stripe Payments、Connect、关联账户、拆分支付

Posted

技术标签:

【中文标题】Stripe、Stripe Payments、Connect、关联账户、拆分支付【英文标题】:Stripe, Stripe Payments, Connect, Linked Account, Split Payment 【发布时间】:2021-12-27 09:57:11 【问题描述】:

我正在使用 Stripe 让新用户加入我们的平台。

首先我在 Stripe 中创建帐户

$this->stripe->accounts->create([
                'type' => 'express',
                'country' => 'US',
                'email' => $user->email,
                'capabilities' => [
                    'card_payments' => ['requested' => true],
                    'transfers' => ['requested' => true],
                ],
            ]);

其次,我正在尝试将此帐户链接到我们的平台

return $this->stripe->accountLinks->create(
        [
            'account' => $id,
            'refresh_url' => 'xyz/stripe/onboard',
            'return_url' => 'xyz',
            'type' => 'account_onboarding',
        ]
    );

然后我有回复,上面有快递的链接,一切正常。

当我已经在 Stripe 中创建了与给定电子邮件地址连接的帐户时,就会出现问题。

我使用已找到的帐户(因为电子邮件已经在他们的平台中)登录到板载过程中的 Stripe,该帐户已完全配置并且板载过程已完成。

这个在第 1 步中新创建的帐户,我存储在我们的数据库中的 ID 是关联帐户。

当我尝试创建 paymentIntents 时,我收到错误: 您的目标帐户至少需要启用以下功能之一:转帐、legacy_payments

所以这个新创建和关联的帐户没有与我登录的帐户(已在登录之前创建)连接?

如何关联这两个帐户?因为成功登录后,他们将我重定向到“refresh_url”。

我想分期付款,所以我需要第二个帐户来转帐。

【问题讨论】:

请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

错误消息是指已连接帐户的功能[1]。正如错误所说,您需要为transfers 启用帐户才能将其指定为目的地费用的目的地。

要解决此问题,您可以为尚未启用的帐户请求此功能[2],并指导您的用户通过 stripe 的入职填写所需信息。如果您知道将需要这些功能,您也可以在创建帐户时请求这些功能[3],在这种情况下,为他们收集数据将成为初始入职流程的一部分。

[1]https://stripe.com/docs/connect/account-capabilities#transfers

[2]https://stripe.com/docs/connect/account-capabilities#requesting-unrequesting

[3]https://stripe.com/docs/connect/account-capabilities#creating

【讨论】:

我不是在问为什么会出现此错误,因为我可以轻松检查文档并且一切都在那里。我在问为什么当我在用户以现有 Stripe 帐户登录时从入职流程中链接帐户时,我没有收到来自 Stripe 的任何带有此帐户 ID 的响应。因此,如果我想进行分期付款,则无法附加此帐户,因为我只有第 1 步中的 ID - 新创建的帐户但从未使用过,因为我使用现有帐户登录。 感谢您的澄清。 “我没有收到来自 Stripe 的任何关于此帐户 ID 的回复”是什么意思?你是说你没有得到一些你期望得到的 webhook 事件? 您需要“附加”帐户是什么意思?您想做什么?除了帐户 ID 之外,您还需要什么信息? 我需要将此帐户链接到我们的平台,因为我们将分期付款。所以我需要这个账户ID才能在那里转账。当我进入入职页面时,我正在创建用户(帐户)(并且我有这个帐户 ID)。但是,如果有人在成功登录后使用现有帐户登录,它会将我重定向到我们的平台,而没有关于我曾经登录的该帐户的任何信息。因此,登录过程已完成,我没有用于登录的此帐户的帐户 ID,只有第 1 步中的帐户 ID,即帐户创建 - 就像在文档中一样

以上是关于Stripe、Stripe Payments、Connect、关联账户、拆分支付的主要内容,如果未能解决你的问题,请参考以下文章

在 stripe.NET-payments 基本示例(Xamarin)中找不到类型

PayPal Adaptive Payments 和 Stripe 的更便宜的替代品

Stripe Payments - 将现有卡添加到客户

使用 Firebase 'Run Subscription Payments with Stripe' 扩展购买多个订阅

如何在 C# WCF 中接收 Stripe api webhook

Stripe Checkout 示例从 localhost 遇到 CORS 错误