我正在使用paypal沙盒中的paypal自适应退款。
我发送的请求如下:
curl https://svcs.sandbox.paypal.com/AdaptivePayments/Refund \
-s \
--insecure \
-H "X-PAYPAL-SECURITY-USERID: api_username" \
-H "X-PAYPAL-SECURITY-PASSWORD: api_password" \
-H "X-PAYPAL-SECURITY-SIGNATURE: api_signature" \
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" \
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" \
-H "X-PAYPAL-APPLICATION-ID: your_app_id " \
-d requestEnvelope.errorLanguage=en_US \
-d payKey=AP-95V43510SV018561T
但遗憾的是我收到错误消息“NO_API_ACCESS_TO_RECIEVER”。
请参阅我的回复屏幕截图,其中“refundStatus”键选项包含错误“NO_API_ACCESS_TO_RECIEVER”。
我已经关注this discussion但我没有找到这里所说的选项。我甚至无法理解这里所说的API调用者在文本框中输入API调用者。
请帮助别人。
答案 0 :(得分:0)
官方Paypal Refund API概述明确规定使用退款API操作进行退款,您必须:
已向您要退款的付款提出付款请求 付款,或者您必须已收到您想要的部分付款 退款,
有权代表接收方退款,除非您 也是接收者;换句话说,每个接收者的帐户是 退款来源必须授予您第三方访问权限 允许调用Refund API操作。
因此,您似乎忘记了设置权限。
登录www.paypal.com(适用于Sandbox:www.sandbox.paypal.com - 确保您已登录https://developer.paypal.com)并使用接收方帐户登录。转到配置文件 - > API访问 - >授予API权限 - >在第三方权限用户名textbos中输入API Caller(例如:May6_1307031077_biz_api1.paypal.com),然后单击Lookup按钮 - >启用“为特定交易发放退款”复选框,然后单击“添加”按钮。
接收方可以向API Caller授予权限。
启用此功能后,退款即可生效。
重要提示:
Adaptive Payments Refund API调用不支持付费密钥 由移动支付库(MPL)生成。
个人帐户持有人无法向第三方授予API访问权限。一个 个人账户持有人必须通过指定退款来发放退款 交易ID,或登录paypal.com进行退款。
所以有很多场景,人们可以遇到上述错误,如果上述问题无法解决您的问题,请特别注意这里的一些条件Refund API Overview