我正在使用PayPal的DoDirectPayment API进行付款整合。我收到如下错误消息。
Security error:
Error no: 10002
Error message: Security header is not valid
这是我的代码,
$environment = 'sandbox';
// Set up your API credentials, PayPal end point, and API version.
$API_UserName = urlencode('xxxxxxxx');
$API_Password = urlencode('xxxxxxxx');
$API_Signature = urlencode('xxxxxxxxxxxxxxxxxxxxxxxxxxx');
$API_Endpoint = "https://api-3t.paypal.com/nvp";
if("sandbox" === $environment || "beta-sandbox" === $environment) {
$API_Endpoint = "https://api-3t.$environment.paypal.com/nvp";
}
$version = urlencode('51.0');
// setting the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_Endpoint);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
// Set the curl parameters.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
// Set the API operation, version, and API signature in the request.
$nvpreq = "METHOD=$methodName_&VERSION=$version&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature$nvpStr_";
// Set the request as a POST FIELD for curl.
curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq);
// Get response from the server.
$httpResponse = curl_exec($ch);
请帮我解决这个问题。
感谢。
答案 0 :(得分:2)
登录
创建商家帐户
点击商家帐户,点击个人资料,点击API凭据并使用访问权限https://api-3t.sandbox.paypal.com/nvp
答案 1 :(得分:0)
请务必仔细检查您的API端点和版本:
https://developer.paypal.com/webapps/developer/docs/classic/api/endpoints/
答案 2 :(得分:0)
由于api凭据不正确,我的问题出现了。即使输入了正确的沙箱api用户名,密码和api密钥,我仍然会遇到同样的错误。我重新创建了我的测试帐户,再次将它们输入我的应用程序,重新启动了服务器,然后就可以了。
这是x.com上关于类似问题的链接:paypal security header issue
答案 3 :(得分:0)
你应该更改你的端点api.sandbox.paypal.com,它对我有用 首先,您登录帐户发件箱并签入选项卡应用程序
答案 4 :(得分:0)
user2230647是对的。如果要在沙箱模式下进行测试,则需要具有以下所有参数的沙箱信息:
'api_endpoint' => 'https://api-3t.sandbox.paypal.com/nvp',
'api_username' => 'example_api1.email.com',
'api_password' => 'your_password',
'api_signature' => 'your_signature',