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

调用PayPal Transaction Search API返回400 INVALID_REQUEST错误如何解决

问题排查点

  • 重复认证冲突:你已在请求头中携带Authorization: Bearer <MY TOKEN>凭证,同时又为requests.get传入auth=(USERNAME, KEY)参数,相当于同时提交Bearer认证和Basic认证两种凭证,PayPal接口不支持同时携带两种认证方式,会直接判定为无效请求。
  • 查询时间跨度超限:PayPal Transaction Search API要求单次查询的start_date和end_date间隔不能超过31天,你当前设置的查询跨度为5个月,远超出接口限制,会触发400错误。
  • 多余请求头参数:GET请求没有请求体,不需要携带Content-Type: application/json请求头,部分接口的严格校验规则会将无效头识别为错误请求。
  • 排查辅助:触发400错误时可打印响应体的JSON内容,其中的message和details字段会给出明确的错误原因,可快速定位具体问题。

修正后参考代码

import requests

TOKEN = "<MY TOKEN - 生成的有效access token>"

headers = {
    "Accept-Language": "en_US",
    "Authorization": f"Bearer {TOKEN}",
    "Accept": "application/json"
}

BASE_URL = "https://api-m.paypal.com"
# 调整时间范围,确保间隔不超过31天
QUERY_PATH = "/v1/reporting/transactions?start_date=2021-01-01T00:00:00-0700&end_date=2021-01-31T00:00:00-0700"
REQUEST_URL = BASE_URL + QUERY_PATH

response = requests.get(REQUEST_URL, headers=headers)
# 打印详细错误信息方便排查,不要只打印response对象
print(response.status_code)
print(response.json())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 10:00:07