【问题标题】:PayPal Sandbox approval URL stuck in infinite loopPayPal沙箱批准URL陷入无限循环
【发布时间】:2021-01-01 19:16:16
【问题描述】:

我在 PayPal 的 Sandbox / API V2 中遇到了一个奇怪的问题。

使用AUTHORIZE 意图创建订单后(预授权)。我将用户带到 APPROVE URL,并在选择付款方式 PayPal 后将我重定向回我的 redirect_url,但它只是重新加载付款选择屏幕。

我不知道出了什么问题....这是我直接传递给 API 的内容:

curl -v -X POST https://api.sandbox.paypal.com/v2/checkout/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <my-access-token>" \
-d '{
   "intent":"AUTHORIZE",
   "description":"Description goes here",
   "soft_descriptor":"Descriptor",
   "purchase_units":[
      {
         "amount":{
            "currency_code":"CAD",
            "value":"351.75"
         }
      }
   ],
   "order_application_context":{
      "return_url":"redacted_for_privacy",
      "cancel_url":"redacted_for_privacy"
   }
}

该调用显然有效,因为 PayPal 正在返回 CREATED 响应。我已经遍历返回的 HATEOAS 链接并将用户重定向到批准 URL ...然后问题开始...

API 响应是:

{
  "id": "8KF74291SN313461D",
  "intent": "AUTHORIZE",
  "status": "CREATED",
  "purchase_units": [
    {
      "reference_id": "default",
      "amount": {
        "currency_code": "CAD",
        "value": "351.75"
      },
      "payee": {
        "email_address": "sb-iuaiy3198427@business.example.com",
        "merchant_id": "DXYXG2JAU3SQQ"
      }
    }
  ],
  "create_time": "2020-09-15T05:13:59Z",
  "links": [
    {
      "href": "https://api.sandbox.paypal.com/v2/checkout/orders/8KF74291SN313461D",
      "rel": "self",
      "method": "GET"
    },
    {
      "href": "https://www.sandbox.paypal.com/checkoutnow?token=8KF74291SN313461D",
      "rel": "approve",
      "method": "GET"
    },
    {
      "href": "https://api.sandbox.paypal.com/v2/checkout/orders/8KF74291SN313461D",
      "rel": "update",
      "method": "PATCH"
    },
    {
      "href": "https://api.sandbox.paypal.com/v2/checkout/orders/8KF74291SN313461D/authorize",
      "rel": "authorize",
      "method": "POST"
    }
  ]
}

【问题讨论】:

  • 如果没有有关您的测试尝试的详细信息(例如带有订单 ID 的 API 响应正文或调试 ID 标头),很难说出正在发生的事情。因此,请尝试使用在 paypal.com/… 创建的新企业帐户和新个人帐户进行测试——为该新企业帐户创建必要的 Rest 应用程序。
  • @PrestonPHX 谢谢普雷斯顿。我刚刚尝试了一个新的商业+个人帐户,它仍然循环。我将等待 PayPal 支持的回复。我已经更新了问题以包括正文响应(它是成功的,所以我认为问题出在 PayPal 方面)。

标签: paypal sandbox


【解决方案1】:

问题在于他们令人困惑的 API 文档。

order_application_context 应改为: API调用中的application_context

【讨论】:

  • 谢谢,我将 order_application_context 更改为 application_contex 后它可以工作
猜你喜欢
  • 2020-05-13
  • 1970-01-01
  • 2013-03-17
  • 2021-02-15
  • 2022-01-23
  • 2021-01-23
相关资源
最近更新 更多