调用PayPal沙箱v2/payments/authorizations/{authorization_id}/void接口POST请求时遭遇RESOURCE_NOT_FOUND错误
RESOURCE_NOT_FOUND(INVALID_RESOURCE_ID)错误 这个错误核心就是你用的authorization_id(72J58097UL3794703)在沙箱环境里找不到,给你几个实用的排查方向:
先确认授权ID的来源是否正确
这个ID必须是从PayPal沙箱的创建授权接口(POST /v2/payments/authorizations)的成功响应里拿到的。别搞混了订单ID(比如O-xxxxxx)、捕获ID(P-xxxxxx),这些和授权ID不是一回事——哪怕格式看着像,不是授权接口返回的ID肯定无效。检查沙箱环境和账号是否统一
你创建授权时用的沙箱商家/买家账号,和现在调用作废接口用的API凭证必须是同一个沙箱环境的。别犯用生产环境凭证调沙箱,或者混用不同沙箱商家账号资源ID的低级错误。验证授权的状态是否允许作废
就算ID是对的,如果这个授权已经被捕获、过期,或者之前已经作废过,也会返回资源不存在的错误。你可以先调用GET /v2/payments/authorizations/{authorization_id}接口查一下状态:如果返回404,那确实是ID无效;如果状态是captured或者voided,那就是状态不支持作废操作了。核对请求的细节
再检查一遍请求:接口地址是POST https://www.sandbox.paypal.com/v2/payments/authorizations/{authorization_id}/void,方法是POST没错吧?路径里的authorization_id有没有拼写错误?PayPal的资源ID是大小写敏感的,别输错大小写。
另外提个小细节:如果是刚创建授权就报错,可能是沙箱环境有延迟,等个10-15秒再重试,有时候沙箱同步资源会慢一点。
内容的提问来源于stack exchange,提问作者sachinpawar013

