PayPal:体验上下文导致“创建订单”API 调用失败

问题描述 投票:0回答:1

我想在“创建订单”

POST /v2/checkout/orders
通话期间设置送货偏好。

如果我使用已弃用的方法

application_context
那么它工作正常:

{
  "intent": "CAPTURE",
  "purchase_units": [
    {
      "amount": {
        "currency_code": "GBP",
        "value": "110.62"
      }
    }
  ],
  "application_context": {
    "shipping_preference": "NO_SHIPPING"
  }
}

但是,如果我使用推荐的使用

experience_context
的方法,那么我不会得到
CREATED
的状态,而是得到
PAYER_ACTION_REQUIRED
的状态。

{
  "intent": "CAPTURE",
  "purchase_units": [
    {
      "amount": {
        "currency_code": "GBP",
        "value": "110.62"
      }
     }
  ],
  "payment_source": {
    "paypal": {
      "experience_context": {
        "shipping_preference": "NO_SHIPPING"
      }
    }
  }
}

这是为什么?

注意:一年前PayPal社区也问过同样的问题:

https://www.paypal-community.com/t5/REST-APIs/PAYER-ACTION-REQUIRED-when-creating-order-using-REST-API/td-p/3051720

但一直没有解决。

paypal paypal-rest-sdk
1个回答
0
投票

没有问题,您只是描述更新后的 API 的行为。

使用已弃用的参数时,CREATED 始终是旧响应。

PAYER_ACTION_REQUIRED 是新的状态响应,如果确实需要此类操作(取决于使用哪些新参数,例如当使用不同的 payment_source 对象时,可能不需要)。

基本上不用担心这一点,订单已像以前一样创建,现在会明确告知您是否以及何时需要付款人采取行动。继续。

© www.soinside.com 2019 - 2024. All rights reserved.