Paypal的文档写的真是不友好,社区维护的也很烂,遇到问题都是靠自己摸索,各种尝试。
我遇到的问题是调用退款接口返回403,PERMISSION_DENIED
1.关于创建订单(交易)
创建订单的操作是前端调用PayPal的js去实现的,然后再由PayPal去调用自己的接口,从控制台可以看到PayPal创建订单(交易)使用的是如下URL。
2.退款路径
因为这个路径,我一直认为要走capture退款,再加上PayPal支付成功的返回信息中有多个id信息,搞得人就很混乱,有的是orderId,有的是saleId,有的是transactionId或captureId,强烈建议PayPal可以把不同类型的Id加个前缀做标识。如图,PayPal的返回信息(之前测试一直用的绿色id)