如何处理不完整的条带连接帐户入职?

How to handle incomplete stripe connected account onboarding?

我正在寻找处理不完整的条带连接帐户入职的最佳实践。

当入职顺利进行时,一切都很简单。但是到处都有微妙的边缘情况,这导致帐户 requirements

的值有很多排列

这些包括

这会造成很多复杂性。

我需要一个简单的方法来:

  1. 确定连接的用户是否需要通知某些事情(即他们需要提供更多信息),并且
  2. 告诉他们什么。

我目前的策略是检查 errors 是否为空,如果不是,只需将它们与 link 一起显示以管理用户的条带帐户,以便他们可以解决错误。

但我担心这个策略会遗漏一些东西(也许可以在 成为错误之前 解决的小问题)。

TL;DR 我怀疑大多数用户都能顺利上手,但对于少数确实有问题的用户,我想确保应用程序通知他们他们需要解决他们。做这个的最好方式是什么? (使用 requirements 中的信息或其他信息)

使用 API 手动处理身份验证时,检查是否可能需要通知您的连接用户以提供更多信息的一种简单方法是查看用户的 charges_enabled and payouts_enabled 属性帐户对象。如果这两个属性中的任何一个是 false,那么您可能需要联系连接的用户以获取更多信息。

如果连接用户的费用和支出被禁用,您可以使用 disabled_reason property on the requirements hash to learn the reason why charges and/or payouts are disabled. The possible disabled reasons are all documented here,但我仍然会列出它们:

  • action_required.requested_capabilities您需要申请 已连接帐户的功能。有关详细信息,请参阅请求和 未请求的功能。
  • requirements.past_due 补充验证 需要信息才能启用支付或收费功能 这个账号。
  • requirements.pending_verification 条纹目前 正在验证连接帐户的信息。
  • rejected.fraud 账户因涉嫌欺诈或非法被拒绝activity。
  • rejected.terms_of_service 帐户因可疑条款被拒绝 服务违规。
  • rejected.listed 帐户被拒绝是因为 它在第三方禁止的个人或公司名单上(例如 金融服务提供商或政府)。
  • rejected.other 帐户因其他原因被拒绝。
  • listed 帐户可能在被禁止的个人或公司名单上(Stripe 将进行调查并适当地拒绝或恢复该帐户)。
  • under_review Stripe 正在审核帐户。
  • other 帐户未被拒绝,但在审核期间因其他原因被禁用。

使用 disabled_reason,您可以评估是否需要通知用户请求更多信息(即 requirements.past_due),是否需要出于其他原因通知他们(例如, rejected.listed), 或者您是否需要对用户的 Stripe 帐户进行编程更改 (例如, action_required.requested_capabilities).