【发布时间】:2013-09-15 13:10:07
【问题描述】:
我已经与这个问题斗争了五天了。这对我来说是个谜。任何人都可以找出为什么此代码返回 error52003,API 凭据不正确?非常感谢您的帮助或新观点。
<?php
$USER_ID="userid";
$USER_PASS="userpass";
$USER_SIG="usersig";
$APP_ID="appid";
$apiUrl="https://svcs.sandbox.paypal.com/AdaptivePayments/Pay";
$headers = array(
"X-PAYPAL-SECURITY-USERID: ".$USER_ID,
"X-PAYPAL-SECURITY-PASSWORD: ".$USER_PASS,
"X-PAYPAL-SECURITY-SIGNATURE: ".$USER_SIG,
"X-PAYPAL-APPLICATION-ID: ".$APP_ID,
"X-PAYPAL-REQUEST-DATA-FORMAT: JSON",
"X-PAYPAL-RESPONSE-DATA-FORMAT: JSON"
);
$createPacket = array (
"actionType"=>"PAY",
"currencyCode"=>"EUR",
"receiverList"=> array (
"receiver"=> array(
array(
"amount"=> "1",
"email"=>"merchant1@someemail.sk"
),
array(
"amount"=> "2",
"email"=>"merchant2@someemail.sk"
)
)
),
"returnUrl"=>"https://www.sandbox.paypal.com/",
"cancelUrl"=>"https://www.sandbox.paypal.com/",
"requestEnvelope"=>array(
"errorLanguage"=>"en_US"
)
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($createPacket));
curl_setopt($ch, CURLOPT_HEADER, array($headers));
$result= curl_exec($ch);
curl_close($ch);
echo $result;
?>
【问题讨论】:
-
您不应在本网站等公共场所分享您的 API 凭证。如果您确定这些值是正确的,您可以隐藏它们并假设问题出在其他地方
-
如果您使用 cURL 发送 POST 字段,您还应该设置“告诉”库您正在执行此操作的标志,如下所示:
curl_setopt($ch, CURLOPT_POST, 1); -
很高兴指出这样的事情,米舒。这些凭据是他们为测试目的而提供的标准贝宝凭据。随意尝试此代码。我添加了您提到的行,但没有帮助。还有其他想法吗?
-
六天前是否正常工作?
标签: php api paypal credentials paypal-adaptive-payments