我正在尝试使用最新的Github Paypal SDK的示例脚本来获取计划。调用API时抛出:
'PayPal'Exception'PayPalConnectionException' with message 'Got Http response code 400 when accessing https://api.sandbox.paypal.com/v1/payments/billing-plans/P-0B085781ML2192537TXPEZ6I.'
以下是日志文件中关注的行:
[18-05-2016 12:26:16] PayPal'Core'PayPalHttpConnection : INFO: GET https://api.sandbox.paypal.com/v1/payments/billing-plans/P-0B085781ML2192537TXPEZ6I
[18-05-2016 12:26:16] PayPal'Core'PayPalHttpConnection : INFO: Invalid or no certificate authority found - Retrying using bundled CA certs file
[18-05-2016 12:26:18] PayPal'Core'PayPalHttpConnection : DEBUG: Request Headers : GET /v1/payments/billing-plans/P-0B085781ML2192537TXPEZ6I HTTP/1.1, Host: api.sandbox.paypal.com, Accept: */*, Content-Type: application/json, User-Agent: PayPalSDK/PayPal-PHP-SDK 1.7.1 (platform-ver=5.6.12; bit=32; os=Windows_NT_6.2; machine=i586; crypto-lib-ver=1.0.1p; curl=7.42.1), Authorization: Bearer ..., ,
[18-05-2016 12:26:18] PayPal'Core'PayPalHttpConnection : DEBUG: No Request Payload
-----------------------------------------------------------------------
[18-05-2016 12:26:18] PayPal'Core'PayPalHttpConnection : INFO: Response Status : 400
[18-05-2016 12:26:18] PayPal'Core'PayPalHttpConnection : DEBUG: Response Headers : HTTP/1.1 400 Bad Request, Date: Tue, 17 May 2016 22:26:19 GMT, Server: Apache, PROXY_SERVER_INFO: host=slcsbplatformapiserv3002.slc.paypal.com;threadId=311, Paypal-Debug-Id: dc99bbb98dc5e, CORRELATION-ID: dc99bbb98dc5e, Content-Language: *, Connection: close, Connection: close, Paypal-Debug-Id: dc99bbb98dc5e, Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D1880%26app%3Dplatformapiserv%26TIME%3D2342140759%26HTTP_X_PP_AZ_LOCATOR%3D; Expires=Tue, 17 May 2016 22:56:20 GMT; domain=.paypal.com; path=/; Secure; HttpOnly, Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT, Vary: Authorization, Content-Length: 0, Content-Type: text/xml, ,
[18-05-2016 12:26:18] PayPal'Core'PayPalHttpConnection : ERROR: Got Http response code 400 when accessing https://api.sandbox.paypal.com/v1/payments/billing-plans/P-0B085781ML2192537TXPEZ6I.
[18-05-2016 12:26:18] PayPal'Core'PayPalHttpConnection : DEBUG:
根据我从日志条目中了解到的情况,到目前为止,我已经尝试过:交换证书,关闭curl部分的SSL验证,当然还有不同的活动计划ID。
BTW对Paypal的所有其他调用都会按预期返回数据。这只是得到计划的电话。
如果有任何帮助的话,我会在Windows上使用XAMPP localhost。
有人能给我指正确的方向吗?
Sooo。。我想是我的笨拙:)
以上述错误结束的计划ID已不存在或已删除状态。无论如何,他们再也联系不上了。所以贝宝发送了错误代码400。
注意:如果状态没有改变,在计划更新调用中也会发生这种情况。也就是说,你试图发送一个新的"活动"状态,而你试图更改的计划已经处于活动状态。将抛出相同的错误代码400。我知道激活激活的计划是没有意义的,但有时如果你忘记检查你的代码,这样的错误可能会变得非常误导。