如果我尝试查找已完成的订单或付款,则会出现API错误。如何获得付款的最终状态?

时间:2016-06-21 11:24:33

标签: paypal paypal-rest-sdk

我使用Paypal进行以下流程:

  1. 我创建了一个意图付款" order",然后我将用户重定向到Paypal的网站。

  2. 用户返回后,执行付款。

  3. 然后,我授权该命令。

  4. 此时,我仍然可以查看付款或订单,我得到了预期的结果。

    1. 最后,我抓住了订单。
    2. 在我捕获订单后,我无法使用/ v1 / payments / payment / PAY-XYZ查找付款或使用/ v1 / payments / orders / O-ABC检索订单。我收到500内部服务错误。

      在你告诉我发送调试ID到Paypal因为我偶然发现他们的错误之前:我试过了,但他们没有回应。我有他们打电话,发送支持请求等等。我没有得到他们的回复,所以我不得不求助于社区。

      捕获后,我仍然可以通过列出付款资源来查找付款。由于我存储了paypal的创建时间,因此我发送了一个看似如下的GET请求:

      / V1 /付款/支付START_TIME = 2016-06-21T09:08:56Z&安培; END_TIME = 2016-06-21T09:08:58Z

      果然,我可以收回付款对象了,但这看起来非常糟糕。

      我之所以需要整个付款对象,是因为我需要有关付款状态的明确信息。例如。当我发送捕获请求时,我偶然发现网络错误,但我没有获得捕获ID,因此我无法检查发生了什么。或者我可以错过webhook活动(出于任何原因,例如我的代码中的错误),并且付款可以在我不知情的情况下退还,因此能够获取付款将非常好。

      我注意到这里的REST API文档https://developer.paypal.com/docs/api/payments/#payment_get表示我应该使用该端点进行不完整的付款,但我不明白为什么我无法检查订单,或者为什么要列出付款资源有效,但只提取一笔付款。

      检索以前工作的付款,这样我就可以查看响应的相关交易资源(就像我现在可以按日期列出所有付款一样)。

      我的问题是:获取有关付款的最终信息的推荐方法是什么?

      此外,如果Paypal的某人正在阅读此内容,那么这里有一些debug_id,所以您可以查看它:3ffa3007a7561(https://api.sandbox.paypal.com/v1/payments/orders/O-3PA36862ST053572T的结果)或85576d66784cd(来自https://api.sandbox.paypal.com/v1/payments/payment/PAY-7N237030X85089344K5UQIKI的回复)

      这在沙箱和现场都会发生。

      谢谢, 德扬

0 个答案:

没有答案