【问题标题】:How to get the preapprovalKey using PayPal Adaptive Payments API only if user completes the preapproval process?仅当用户完成预批准流程后,如何使用 PayPal Adaptive Payments API 获取 preapprovalKey?
【发布时间】:2013-12-15 04:07:13
【问题描述】:

我正在使用 PayPal 自适应付款。我已成功将用户重定向到 PayPal 预先批准流程,以获取我们产品所需的一些定期/自动付款。但是,我有以下问题。

当用户被重定向到 PayPal 上的登录屏幕以进行预批准过程时,即使用户尚未登录,PayPal 已经给我一个带有密钥的预批准 JSON:

    { responseEnvelope: 
    { timestamp: '2013-11-28T18:38:58.726-08:00',
    ack: 'Success',
    correlationId: 'XXXXXXX',
    build: 'XXXXXXX' },
    preapprovalKey: 'PA-XXXXXXX',
    httpStatusCode: 200,
    preapprovalUrl: 'https://www.sandbox.paypal.com/webscr?cmd=_ap-preapproval&preapprovalkey=PA-XXXXXXX' }

但是,这里的大问题是我不应该将 preapprovalKey 保存在我的数据库中,因为用户可能会中止 preapproval 过程,因为他/她还没有登录。我应该保存它,只有当用户完成该过程。

我想知道是否有一种方法可以在用户完成预批准过程后获得预批准响应

感谢您的宝贵时间。

【问题讨论】:

    标签: paypal


    【解决方案1】:

    正如他们的文档解释的那样,当用户批准预先批准时,PayPal 会发送 2 种通知:

    预批准完成后发送通知:

    1. PayPal 向发件人发送一封电子邮件,确认批准。
    2. PayPal 将 IPN 消息发送到在 Preapproval 请求的 ipnNotificationUrl 字段。

    因此,您需要接收发送到您在预批准请求中指定的自定义 ipnNotificationUrl 的发布响应。在这个 JSON 中有一个名为:“approved”的字段,您可以在其中检查“true”或“false”字符串来验证用户是否批准了交易。

    更多信息请参阅 PayPal 文档:https://developer.paypal.com/webapps/developer/docs/classic/api/adaptive-payments/Preapproval_API_Operation/

    【讨论】:

      猜你喜欢
      • 2016-08-22
      • 2015-11-27
      • 2011-02-19
      • 2012-08-13
      • 2013-03-26
      • 2012-06-28
      • 2017-08-27
      • 2014-03-13
      • 2012-12-28
      相关资源
      最近更新 更多