Paypal Refund Rest Api v2 - 由于权限不足,授权失败
Posted
技术标签:
【中文标题】Paypal Refund Rest Api v2 - 由于权限不足,授权失败【英文标题】:Paypal Refund Rest Api v2 - Authorization failed due to insufficient permissions 【发布时间】:2019-07-21 06:53:35 【问题描述】:我能够成功执行以下 API
/v2/checkout/orders
/v2/checkout/orders/order_id/authorize
/v2/checkout/orders/order_id/capture
为什么我在执行此处所述的 PayPal 退款时收到“NOT_AUTHORIZED”响应? - https://developer.paypal.com/docs/api/payments/v2/#captures_refund
POST 请求
https://api.sandbox.paypal.com/v2/payments/captures/<Capture ID I got from capture request>/refund
回应
"name": "NOT_AUTHORIZED",
"message": "Authorization failed due to insufficient permissions.",
"debug_id": "6c6xxxxx6c",
"details": [
"issue": "PERMISSION_DENIED",
"field": "capture_id",
"value": "XXXXXXXXX",
"description": "You do not have permission to access or perform operations on this resource.",
"location": "path"
],
"links": [
"href": "https://developer.paypal.com/docs/api/v2/payments/#NOT_AUTHORIZED",
"rel": "information_link"
]
【问题讨论】:
Sumeet,你还在面对这个问题吗?只要您使用 client_id + secret_id 组合进行调用(就像您进行捕获调用一样);你不应该面对这个问题。如果您仍然面临这个问题;请使用 paypal-debug-id 恢复,我们会看看。 @TriniGeorge 默认情况下,客户 ID 没有退款权限。我向技术支持提出了请求,他们允许我的客户 ID,现在它可以工作了。 【参考方案1】:对于 V2 退款和取消请求,您必须联系 PayPal 支持人员为您现有的 ClientId 和 Client Secret(适用于 PayPal V1 API)添加权限,并且没有其他方法可以设置相同的权限。 如果您需要避免这种情况,那么只需从 PayPal 帐户创建新的 ClientId 和 Client Secret,它将与 PayPal V2 API 一起正常工作。
【讨论】:
不幸的是,这没有帮助。唯一的方法似乎是联系支持人员。 这对我有帮助,我只需要创建新的 API 密钥..... :( 我花了一天时间尝试调试此问题,但在任何地方都找不到此文档。创建一个新的密钥集有效。谢谢!【参考方案2】:使用一组新的客户端 ID 和密码创建一个新应用程序对我有用。
【讨论】:
以上是关于Paypal Refund Rest Api v2 - 由于权限不足,授权失败的主要内容,如果未能解决你的问题,请参考以下文章
如何将 PayPal 智能支付按钮与 PHP V2 的 REST API SDK 结合起来?
Paypal Refund NVP API : 您无权退款此交易