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

PayPal使用experience_context调用Create Order API返回异常状态问题

PayPal POST /v2/checkout/orders 使用experience_context返回PAYER_ACTION_REQUIRED的原因分析

调用PayPal的POST /v2/checkout/orders接口设置配送偏好时,用弃用的application_context参数能正常返回CREATED状态,请求示例如下:

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

但改用推荐的experience_context参数时,接口返回状态变为PAYER_ACTION_REQUIRED,请求示例:

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

可能的原因

  • 参数上下文行为差异:experience_context作为新参数结构,PayPal对其处理逻辑更严格,默认会触发部分需要付款人确认的流程;而旧的application_context参数保留了更宽松的创建逻辑,不需要立即让付款人执行操作。
  • 缺失必要配套参数:experience_context相比旧参数可能需要更多必填或推荐参数,比如return_url、cancel_url以及user_action。旧参数可能允许省略这些,但新结构下缺失会导致PayPal要求用户完成额外操作才能推进订单状态。
  • 账户风控或合规限制:商家账户的风险等级、地区合规要求等因素,会让PayPal在使用新参数时触发额外验证步骤,旧参数则可能绕过了这些检查。
  • API版本/环境兼容性:不同API版本对experience_context的处理逻辑有差异,或者沙箱与生产环境的默认行为不一致,旧参数在当前环境下的兼容性更好。

验证建议

  • 补充experience_context的必要参数后重试,示例请求:
{
  "intent": "CAPTURE",
  "purchase_units": [
    {
      "amount": {
        "currency_code": "GBP",
        "value": "110.62"
      }
    }
  ],
  "payment_source": {
    "paypal": {
      "experience_context": {
        "shipping_preference": "NO_SHIPPING",
        "return_url": "https://your-domain.com/success",
        "cancel_url": "https://your-domain.com/cancel",
        "user_action": "PAY_NOW"
      }
    }
  }
}
  • 确认使用的是支持experience_context的最新稳定版API。
  • 联系PayPal技术支持,排查账户是否有特殊配置导致该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 14:03:32