如何处理不完整的条带连接帐户登录?

use*_*745 3 stripe-payments

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

当入职顺利时,一切都很简单。但到处都有繁琐的边缘情况,这导致帐户值的大量排列requirements

这些包括

  • current_deadline
  • currently_due
  • disabled_reason
  • errors
  • eventually_due
  • past_due
  • pending_verification

这造成了很多复杂性。

我需要一个简单的方法:

  1. 弄清楚连接的用户是否需要收到某些通知(即他们需要提供更多信息),以及
  2. 告诉他们什么。

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

但我担心这个策略会遗漏一些事情(也许是在出现错误之前可以解决的小事情)。

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

小智 6

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

如果连接的用户的费用和付款被禁用,您可以使用需求哈希上的disabled_reason属性来了解费用和/或付款被禁用的原因。可能的禁用原因都记录在这里,但我还是将它们列出来:

  • action_required.requested_capabilities您需要请求连接帐户的功能。有关详细信息,请参阅请求和取消请求功能。
  • requirements.past_due需要额外的验证信息才能启用此帐户的付款或收费功能。
  • requirements.pending_verificationStripe 目前正在验证关联帐户的信息。
  • rejected.fraud帐户因涉嫌欺诈或非法活动而被拒绝。
  • rejected.terms_of_service帐户因涉嫌违反服务条款而被拒绝。
  • rejected.listed帐户被拒绝,因为它位于第三方禁止人员或公司名单(例如金融服务提供商或政府)中。
  • rejected.other帐户因其他原因被拒绝。
  • listed帐户可能位于被禁止的个人或公司名单上(Stripe 将进行调查并适当拒绝或恢复该帐户)。
  • under_reviewStripe 正在审核帐户。
  • other帐户未被拒绝,但在审核期间因其他原因被禁用。

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