2014-01-27 58 views
1

从测试服务器移动到生产服务器时,我的应用(使用Omnipay/PayPal)移动时遇到了一些麻烦。Omnipay/PayPal 10002 - 在一台服务器上验证失败,在另一台服务器上无法运行

PayPal支付在测试服务器上正常工作。但是我一直在生产服务器上收到“10002”-Error(“身份验证/授权失败 - 您无权进行此API调用)。 PayPal API凭证在两个系统上都是相同的 - 所以我猜一定有一些两台机器之间的差异(上是本地毫安设置,另一个是管理虚拟服务器)导致此。

你有没有遇到过这样的事?在此先

感谢您的支持

+0

噢,我忘了:我已经尝试过两台服务器上的Omnipay-Example-Script,结果相同。在我的测试服务器上处理生产系统上的错误消息。 – user3241866

回答

1

我能够自己解决这个问题 似乎在某些服务器上,PHP的http_build_query(Omnipay/PayPal使用它来构建查询-s tring)使用“& amp”作为参数分隔符,因此您必须手动将其设置为“&”以防止验证错误。 请参阅:http://www.php.net/manual/en/function.http-build-query.php#102324

+0

未来读者注意事项:您的[pull request](https://github.com/omnipay/paypal/pull/2)已在Omnipay中修复此问题。另外,这可能会导致问题,而不仅仅是omnipay,所以我建议在应用程序的开始添加'ini_set('arg_separator.output','&');'''行。 –

相关问题