贝宝订阅 API onApprove

PayPal subscription API onApprove

我正在尝试实施 PayPal 订阅 API,但我不确定流程。
我使用 react-paypal-js 包来生成订阅按钮。
在我的网站上创建用户的方式仅通过 Paypal 订阅。

流程如下:

  1. 用户选择一个计划并点击订阅按钮
  2. PayPal window 打开并且用户遵循 Paypal 上的订阅流程
  3. 用户被重定向到我的网站
  4. 使用 webhook 或 onApprove 回调,我收到新创建的订阅,在我的网站上创建一个用户,使用与订阅关联的 Paypal 电子邮件地址。

一切正常。我的问题是我需要在接受订阅之前检查我是否已经有一个具有给定电子邮件的本地用户,在这种情况下,我不想接受订阅(因为我会为同一用户提供 2 个订阅) 并显示一条消息,说明他们已经是与给定电子邮件关联的活动(或暂停)订阅。

据我所知,当调用 onApprove 或调用 webhook 时,订阅已被处理并激活。

谢谢!

您不必设计一个系统,使用于付款的 PayPal 电子邮件与用于登录您网站的用户的电子邮件具有 1:1 关系。相反,您可以先让用户登录并创建他们的帐户(因为他们总是需要这个来管理某些东西 subscription-based),然后您会知道在显示 PayPal 订阅按钮之前没有与该用户关联的订阅。然后他们可以使用任何 PayPal 帐户付款(可能是同一封电子邮件,也可能不同)


As far as I can tell, when the onApprove is called or the webhook is called, the subscription has already been processed and activated.

这是默认行为,是的。根据以上所述,这不是必需的,但您可以将订阅更改为以非活动状态开始,并在您的网站上显示最终审核步骤,这将通过 API 激活它。这是通过设置 application_context -> user_action -> CONTINUE(相对于默认值 SUBSCRIBE_NOW)来控制的。请参阅 the API reference for subscription create,您当然需要使用订阅激活 API 调用作为确认后的最后一步。