You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PayPal Orders API V2沙箱更新配送选项报错及移除配送选项求助

PayPal Orders API V2 配送选项更新问题解决方案

场景1:移除/恢复配送选项(修改shipping_preference)

  • 移除所有配送选项:通过PATCH请求修改application_context中的shipping_preference值,请求格式如下:
[
  {
    "op": "replace",
    "path": "/application_context/shipping_preference",
    "value": "NO_SHIPPING"
  }
]
  • 恢复配送选项:将shipping_preference改回初始配置的有效值即可,比如允许用户提供地址用"GET_FROM_FILE",使用预设地址用"SET_PROVIDED_ADDRESS",示例请求:
[
  {
    "op": "replace",
    "path": "/application_context/shipping_preference",
    "value": "GET_FROM_FILE"
  }
]

场景2:PATCH请求报错排查与修复

你的请求触发错误的核心原因是第二个replace操作直接替换了整个purchase_units/@reference_id=='default'对象,这会覆盖该单元下已存在的属性(比如第一个操作刚修改的shipping/options),同时可能遗漏原对象中PayPal校验必需的字段,导致语义校验失败。

修复方案:不要替换整个purchase_unit,只针对性修改amount部分,调整后的请求JSON如下:

[
  {
    "op": "replace",
    "path": "/purchase_units/@reference_id=='default'/shipping/options",
    "value": [
      {
        "id": "177",
        "type": "SHIPPING",
        "label": "Sweden",
        "selected": true,
        "amount": {
          "value": "29.99",
          "currency_code": "GBP"
        }
      }
    ]
  },
  {
    "op": "replace",
    "path": "/purchase_units/@reference_id=='default'/amount",
    "value": {
      "value": "33.98",
      "currency_code": "GBP",
      "breakdown": {
        "shipping": {
          "value": "29.99",
          "currency_code": "GBP"
        },
        "item_total": {
          "value": "3.99",
          "currency_code": "GBP"
        }
      }
    }
  }
]

额外注意:如果需要修改商品列表items,请单独新增一个replace操作,路径指定为/purchase_units/@reference_id=='default'/items,不要与金额修改的操作合并。

内容的提问来源于stack exchange,提问作者Stuart Palmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 06:49:54