我目前正在尝试从沙盒模式切换到我创建的支付系统。这是我第一次使用paypal sdk,所以我并不熟悉它。一旦我到达你应该被重定向到paypal的系统的点,我一直收到以下错误。我知道在查看所有这些问题之前已经问过这个问题,尝试过他们的更改,但它仍然不适合我。
Error when trying to get to paypal
在沙盒模式下,它完美无缺,我将凭据更改为实时凭据。
这是我的系统的开始,它应该授权系统
require __DIR__ . '/vendor/autoload.php';
define('SITE_URL', 'url name');
$paypal = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'Client ID',
'Secret Code'
)
);
这是我的sdk_config.ini文件,它位于我的代码所在的文件夹中:
;Account credentials from developer portal
[Account]
acct1.ClientId =
acct1.ClientSecret =
;acct2.ClientId = TestClientId
;acct2.ClientSecret = TestClientSecret
;Connection Information
[Http]
http.ConnectionTimeOut = 60
http.Retry = 1
;http.Proxy=http://[username:password]@hostname[:port][/path]
mode=live
;Service Configuration
[Service]
;service.EndPoint="https://api.sandbox.paypal.com"
; Uncomment this line for integrating with the live endpoint
service.EndPoint="https://api.paypal.com"
;Logging Information
[Log]
log.LogEnabled=true
; When using a relative path, the log file is created
; relative to the .php file that is the entry point
; for this request. You can also provide an absolute
; path here
log.FileName=PayPal.log
; Logging level can be one of FINE, INFO, WARN or ERROR
; Logging is most verbose in the 'FINE' level and
; decreases as you proceed towards ERROR
log.LogLevel=FINE
;Validation Configuration
[validation]
; If validation is set to strict, the PayPalModel would make sure that
; there are proper accessors (Getters and Setters) for each model
; objects. Accepted value is
; 'log' : logs the error message to logger only (default)
; 'strict' : throws a php notice message
; 'disable' : disable the validation
validation.level=strict
我不确定错过了什么,有人可以指出我正确的方向来解决这个问题。此外,在paypal的开发者网站中,在您单击实时按钮的实际应用程序下,我单击实时按钮我使用这些凭据获得了我的代码。当它显示时,我点击保存,但当我回去时,它会回到沙箱。 如果您需要提供额外的代码以获取错误来源,请与我们联系。
答案 0 :(得分:0)
根据错误消息“invalid_client”,您仍然使用错误的客户端ID和密码,或者可能在沙箱环境中使用实时凭据。正如您所提到的,在沙盒环境中,它工作正常,因此您的代码中没有问题。 如果您正确复制了实时客户端ID和密码,请仔细检查您的代码,也许其他文件中有一个需要配置为实时环境的设置。