【问题标题】:What is the maximum timeout for executing a payment using the PayPal REST API?使用 PayPal REST API 执行付款的最大超时时间是多少?
【发布时间】:2015-10-12 18:52:00
【问题描述】:

我在我们的开发者控制台的实时区域中有交易,但是,它们只是付款批准,而不是已执行的付款。我正在尝试检索并执行列为实时交易的付款,但付款似乎不再存在。尝试访问付款时,我得到一个 INVALID_RESOURCE_ID。

但是,如果我使用作为已执行付款的 ID,我可以获得有效响应。 即使用 POSTMAN 并访问如下 URL: https://api.paypal.com/v1/payments/payment/PAY-79813274XD290572UKYNLZ5A

将检索我期望的 JSON 响应。

但会得到一笔未执行的付款。

{
  "name": "INVALID_RESOURCE_ID",
  "message": "The requested resource ID was not found",
  "information_link": "https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID",
  "debug_id": "2bf3983d24c5d"
}

是否有任何方法可以仅在通过审批流程而不是事后执行的情况下执行付款?如果是,那窗口是什么?

【问题讨论】:

    标签: paypal paypal-rest-sdk


    【解决方案1】:

    如果您收到 PayPal 付款,它们将作为需要执行的预先批准的付款返回。它们通过 API 调用 Execute 执行:

    POST /v1/payments/payment/{Payment-Id}/execute

    您可以在此处查看更多信息:https://developer.paypal.com/docs/api/#execute-an-approved-paypal-payment

    【讨论】:

    • 如果我只有来自实时交易仪表板的信息并且我不再在工作流程中,我如何获取 payerId?换句话说,我只有仪表板中预先批准的付款响应 JSON,而不是 URL 中包含 PayerId 的实际响应。
    • 您无法获取 PayerID,但您可以获得执行付款所需的 PaymentID。它在响应中的“body”->“id”下列出
    • 嗨罗伯特 - 再次感谢您的回复......但它确实在文档中说需要 payer_id。 payer_id string The ID of the Payer, passed in the return_url by PayPal. Required.
    • 您好 Robert,我尝试在没有 payerID 的情况下执行付款,但我得到一个空参考。还记得原来的帖子是我无法检索仅预先批准且未执行的付款。我希望检索付款对象,以便我可以访问子付款人对象。仅使用仪表板的实时事务视图中提供的信息似乎无法在工作流程之外执行此操作。
    • 嗨 Circle8,对不起。你是对的。您可以使用 GET /v1/payments/payment/{Payment-Id} 获取此信息
    猜你喜欢
    • 2013-07-04
    • 2017-05-13
    • 2016-12-14
    • 2017-07-13
    • 2016-09-02
    • 2016-02-21
    • 2013-08-29
    • 2017-10-04
    • 2014-05-24
    相关资源
    最近更新 更多