我已经集成了一个简单的在线表单,它需要用户输入一些内容,并且在隐藏字段中包含商品和定价信息。 在用户验证他的输入后,他点击按钮使用 PayPal 付款,然后将被重定向到 PP,他可以在那里立即付款。
PP 网址是
https://api-3t.sandbox.paypal.com/nvp
对于沙箱和
https://api-3t.paypal.com/nvp
为现场环境付费。
在沙箱中,当我使用沙箱凭据时一切正常。在我将 URL 设置为事件后,将 API 凭据更改为事件凭据我收到错误
You do not have permission to make this API call.
我已经测试并验证了以下内容:
- PP 帐户是企业帐户并经过验证
- 该表格已通过 PayPal 检查并批准为 PP 应用
- 表单使用了正确的 API 凭据
- 将“在配置 API 之前接受您商店的付款”设置为"is"并使用提交/保存按钮保存
- 实时检查了 http 请求参数,它们看起来很好
错误发生在从setExpressCheckoutData()发送参数后。
现在我很困惑。我已将一些信息设置为红色,以便在购物车的末尾将模式“测试”设置为“实时”,但不确切知道这意味着什么。
请帮忙。
最佳答案
找到原因并修复。
从请求数据中删除了参数“subject”。如果未传递此参数(我认为只有 Unipay 才需要),ExpressCheckout 可以正常工作。
在沙箱中,是否使用该参数并不重要。
关于PayPal ExpressCheckout - 您无权进行此 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24487750/