微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

显示 INVALID_TRACKING_CODE 的 PayPal 跟踪

如何解决显示 INVALID_TRACKING_CODE 的 PayPal 跟踪

看起来我所做的一切都是正确的,但我一直收到这个错误......

响应文本错误

response .text {"name":"INVALID_TRACKING_NUMBER","message":"The requested resource ID was not found","debug_id":"12345","details":[{"field":"tracker_id","value":"1234-567890","location":"path","issue":"INVALID_TRACKING_INFO"}],"links":[]}

响应状态:<Response [404]>

我使用的是真实交易和真实跟踪号。

我通过 python 来做这件事,这是我的代码

def paypal_oauth():
    url = 'https://api-m.paypal.com/v1/oauth2/token'
    headers = {
        "Content-Type": "application/json","Accept-Language": "en_US",}
    auth = "1234-1234","0987"
    data = {"grant_type":"client_credentials"}
    response = requests.post(url,headers=headers,data=data,auth=(auth))
    return response

def paypal_tracking(paypal_transaction_token,tracking_number,status,carrier):
    try:
        _paypal_oauth = paypal_oauth()
        _paypal_oauth_response = _paypal_oauth.json()
    except Exception as e:
        print(e)
        pass

    access_token = _paypal_oauth_response['access_token']
    url = 'https://api-m.paypal.com/v1/shipping/trackers/%s-%s/' % (paypal_transaction_token,tracking_number)
    # https://api-m.paypal.com/v1/shipping/trackers/1234-567890/
    carrier = carrier_code(carrier)
    # This grabs carrier from a method and gets back:  'dhl'

    headers = {
        'Content-Type' : 'application/json','Authorization' : 'Bearer %s' % access_token,}
    # {'Content-Type': 'application/json','Authorization': 'Bearer 1234'}

    data = {
        "transaction_id":"%s" % paypal_transaction_token,"tracking_number":"%s" % tracking_number,"status": "%s" % status,"carrier": "%s" % carrier
    }
    # {'transaction_id': '1234','tracking_number': '567890','status': 'SHIPPED','carrier': 'dhl'}

    response = requests.put(url,data=json.dumps(data))
    return HttpResponse(status=200)


任何有 paypal 经验或使用 API 的人都能看到我的问题吗?

解决方法

要添加跟踪号(不是更新),请使用 HTTP POST 请求 as documented

POST 的 URL 是 https://api-m.sandbox.paypal.com/v1/shipping/trackers-batch ,没有额外的 URL 参数。

正文格式为

{
  "trackers": [
    {
      "transaction_id": "8MC585209K746392H","tracking_number": "443844607820","status": "SHIPPED","carrier": "FEDEX"
    },{
      "transaction_id": "53Y56775AE587553X","tracking_number": "443844607821","carrier": "FEDEX"
    }
  ]
}

请注意,trackers 是一个 array JSON 对象

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。