贝宝:无法重新授权已授权的付款错误:发生内部服务错误 [英] Paypal: Unable to Reauthorize Authorized Payment Error : An internal service error occurred
本文介绍了贝宝:无法重新授权已授权的付款错误:发生内部服务错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Paypal:无法重新授权付款
Paypal: Unable to Reauthorize Authorized Payment
以下是我的代码
$clientId = 'XXXXX';
$secret = 'XXXX';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $clientId . ":" . $secret);
$result = curl_exec($ch);
if (empty($result)) {
die("Error: No response.");
} else {
$json = json_decode($result);
//echo "<pre>";
//print_r($json);
//exit;
$token_type = $json->token_type;
$access_token = $json->access_token;
$nonce = $json->nonce;
//echo "Authorization: " . $token_type . " " . $access_token;
if (!empty($token_type) && !empty($access_token)) {
// START REAUTHORIZE PAYMENT
$authorizationId = 'AF998724VR277443T';
$currency = 'USD';
$amount = '20.00';
$data = '{
"amount": {
"total": "' . $amount . '",
"currency": "' . $currency . '"
}
};';
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/authorization/" . $authorizationId . "/reauthorize");
curl_setopt($ch1, CURLOPT_POST, true);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Authorization: " . $token_type . " " . $access_token,
"Content-length: " . strlen($data))
);
$result1 = curl_exec($ch1);
if (empty($result1)) {
die("Error: No response.");
} else {
$json1 = json_decode($result1);
echo "<pre>";
print_r($json1);
exit;
//echo $json1->id;
}
// END REAUTHORIZE PAYMENT
}
}
它给出以下错误
stdClass Object
(
[name] => INTERNAL_SERVICE_ERROR
[message] => An internal service error occurred.
[information_link] => https://developer.paypal.com/webapps/developer/docs/api/#INTERNAL_SERVICE_ERROR
[debug_id] => b220155a9c70e
)
https://developer.paypal.com/docs/api/payments/#authorization_reauthorize
我所缺少的。我正在WAMP上运行上述代码。
What i'm missing. I'm running above code on WAMP.
根据Paypal:
荣誉期限授权到期后,您可以重新授权付款。
推荐答案
添加
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
HTTPS链接,可能与您的问题有关
HTTPS link, could be related to your problem
这篇关于贝宝:无法重新授权已授权的付款错误:发生内部服务错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文