2014-01-27 136 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','&');'''行。 –

相關問題