Stripe:OAuth 流程自动化? Webhook 时效性?

Stripe: OAuth Flow Automation? Webhook Timeliness?

等了一个星期才得到答案this question -- and being generally fed up with the poor quality of Brand X's documentation and support -- I'm re-casting that question here in terms of Stripe


用例:

有一个 Web 服务 S 通过 REST API 接收大量用户输入,并使用该输入生成收费的一些答案它 return 通过 API。作为一个具体但虚构的示例,您可以将输入视为用户的出生信息,将输出视为用户的星座。

S 只是一个带有 API 的计算引擎;它不提供用户界面。 channel-partner 网站 Pi 为人类用户提供的演示界面,每个都有自己的外观和感觉,以及自己的财务与客户的安排。 A Pi 可能会向其客户收取每月会员费,或者它可能会转嫁第三方服务的费用,例如 S 传递给用户,但 S 既不知道也不关心这些安排的细节。

每个 Pi 代表其客户之一 C 支付费用对于 SC 提供的服务,当 C 请求该服务时。就其本身而言,S 不会 return 对特定使用实例的回答,直到该实例的费用已由 Pi.


题目:

在几个方面,这个用例与 driver(服务提供商 S)工作的用例之间似乎有相当直接的类比两家或更多 ride-sharing 公司(渠道合作伙伴 Pi)。每个合作伙伴平台都向其客户呈现独特的外观和感觉,但提供相同的基础服务,并在每次使用该服务的实例中收取费用后向其服务提供商付款。

但是,存在一些显着差异,每个差异都会导致单独的 sub-question。

首先,Stripe 的 OAuth Flow 用于连接到服务提供商的独立帐户假设循环中有一个人类用户将与网络 pages 交互以授权连接。

Q1. Stripe 是否提供 well-defined、稳定的 REST API 允许 [=46= 上的代码块]S 可靠地扮演假定的人类用户的角色来授权帐户连接?

其次,Web 服务 S 需要来自渠道合作伙伴网站的 proof-of-payment 在 return 向最终客户作出答复之前——或者,在打个比方,在让乘客下车之前! :-)。我知道 S 可以设置一个 webhook 来通知它 in/on 其 Stripe 帐户发生的事件(明确地包括 "a charge being captured"),但是:

Q2. 我预计在将付款存入 S 之间会有多少时间延迟(如果有)的 Stripe 帐户和 webhook 的交付?

S 可以容忍 webhook 传递的少量延迟,但显然越少越好。如果 webhook 作为存款流的一部分同步交付,那将是理想的——无论如何对我来说 :-)——但如果它进入队列以便稍后交付,超过几分钟的延迟可能会有问题.


希望你们所有的 Stripe 用户都可以比 Brand X 的“community”做得更好...

Q1 - 也许我误解了这个问题?

但是-- 如果您想知道是否可以代表用户执行 OAuth 流程并授权他们而无需他们做某事;然后 "no"。这会在某种程度上破坏整个流程的目的。

Q2 - Webhook 的交付时间不保证。它们由许多 worker 处理,它们的输出取决于它们在任何给定时间处理的事件量。 Stripe 试图确保它们在一两分钟内发布,但这并不是 Stripe 承诺永远会发生的事情。