【问题标题】:Paypal rest API 计费协议 webhook
【发布时间】:2014-12-08 16:33:00
【问题描述】:

所以我将 Paypal Rest API 与我的 django 网站集成,这样我就可以引入基于订阅的计费方式,到目前为止一切都很好。

我有一个用于计费计划、计费协议、交易历史记录以及创建和激活计费协议等所有内容的界面。

但是,如果计费协议被取消或为计费协议付款,我需要一种方法来获得通知,因此我认为 webhook 将是解决此问题的方法,但我不能 100% 确定 webhook 可用于计费协议?

任何人都可以建议一种方法来跟踪帐单协议的付款或其他方法吗?

【问题讨论】:

    标签: paypal paypal-subscriptions paypal-rest-sdk paypal-webhooks


    【解决方案1】:

    这可能不在 paypal 的 webhook 通知中。您可以在沙盒上试用,看看是否收到 webhooks 通知。或者你可以使用IPN,你应该可以得到IPN通知。

    【讨论】:

    • 好的,我测试了所有的 webhook,但我什么也没得到,所以好像它们不适用于订阅,这很烦人,因为我已经为 REST API 完成了所有这些工作,现在必须使用IPN 直到 REST API 准备好:/
    • 我完全理解你的情况。 PayPal 正在积极开发 REST 通知解决方案。已经计划将用户从 IPN 迁移到 webhook 通知。关于计费协议的 webhook 通知支持,我们也在努力。
    • 我们什么时候可以看到对 REST API webhook 进行的此类更改,因为我正在等待将 REST API 集成到我的网站计费系统中。而现在我不得不暂时整合 IPN 系统。
    • @PayPalAlex,您的意思是说官方推荐的 API 不支持任何支付处理器的最基本订阅功能之一......并且文档中没有明显的警告?在我遇到的每个开发者讨厌 paypal 的长长的原因列表中再添加一行。
    • pyhton-sdk上的相关github问题:github.com/paypal/PayPal-Python-SDK/issues/69
    【解决方案2】:

    我可以确认,执行定期付款时,会通过 webhook 事件 PAYMENT.SALE.COMPLETED 收到通知,如下所述: https://github.com/paypal/PayPal-Python-SDK/issues/132#issuecomment-261374087

    webhook 事件的 JSON 结构:

    {
        ...
        "resource": {
            ...
            "billing_agreement_id": "I-38097XVV6XVU"
            ...
        }
        ...
    }
    

    可在此处找到所有事件名称的列表: https://developer.paypal.com/docs/integration/direct/webhooks/event-names/

    【讨论】:

    • 可能是在沙盒中,它们不能按预期工作吗?我收到了来自不同计划的大约 20 个通知,实际上只有 2 个 PAYMENT.SALE.COMPLETED 网络钩子被触发了!
    • 在我得到 webhook 之前花了一段时间,但它可以工作并且它是从沙盒发送的。虽然我在 2017 年的乞讨时正在研究这个问题。关于你的另一个问题,我不确定你是否可以混合 API:使用旧的 Web 表单 API 创建定期付款并注册作为 REST API 一部分的 webhook .在我的测试环境中,我看到旧的 Web 表单 API 接收的订阅 ID 以“S-XXXXXX”开头,而来自 REST API 的订阅 ID 以“I-XXXXXX”开头,请参见上面的示例。我认为可以在沙盒中仅使用 IPN 模拟器发送测试 IPN。
    • Jurgen,我刚刚测试了 REST API,在创建订阅并接收到 BILLING.SUBSCRIPTION.CREATED 事件后 11 小时我收到了 PAYMENT.SALE.COMPLETED 事件。我正在使用沙盒进行测试。很遗憾,我无法为您提供任何制作时间。
    • 谢谢。我被告知在生产模式下它工作正常。不确定我是否应该冒险。 11 小时似乎并不算太​​糟糕,但它可能会有所不同,这就是问题开始的地方
    【解决方案3】:

    在这一点上,webhook 似乎不是实施 Paypal 定期付款的正确方法。这是一个最近的 Github 线程,您可以在其中看到工作流可能是怎样的: https://github.com/paypal/PayPal-REST-API-issues/issues/105

    由一位 PayPal 开发人员回答。也许在 webhook 开发完成之前我们必须使用 IPN。

    【讨论】:

    • 但是如何使用 REST API 的 IPN 端点设置 notify_url?对于您将其作为请求的一部分发送的正常经典付款!
    • 嗨!您必须在您的 Paypal 开发人员仪表板 (developer.paypal.com) 中对其进行配置。
    • 您确定他们没有删除它吗?我想他们可能已经更新了门户,因为我找不到它。我看过其他来源提到它,但我找不到类似的东西!
    • 好的,我已经进入我的开发者仪表板来查看它的配置位置。首先,转到仪表板侧边栏并单击“我的应用程序和凭据”,然后搜索“REST API 应用程序”并创建一个。在其配置中,您将能够为您的控制器创建一个 webhook 端点。
    • 是的,但是 Webhooks 和 IPN 不是一回事。阅读我的另一个问题以了解我的意思:stackoverflow.com/questions/50049183/…
    猜你喜欢
    • 2015-11-01
    • 2018-12-01
    • 2014-10-28
    • 2017-06-21
    • 1970-01-01
    • 2017-07-06
    • 2020-04-06
    • 2015-03-07
    • 2014-11-09
    相关资源
    最近更新 更多