Я пытаюсь осуществить оплату PayPal в теме Wordpress. Я получаю токен, создаю оплату, перенаправляю пользователя на ссылку утверждения, получаю aproval от пользователя, но по какой-то причине я не могу выполнить платеж «Ответ на завиток пуст».paypal rest api выполнить ошибку
Вот код (i double checked выполнить URL и маркер, и они правильны)
if (isset($_GET['token']) && isset($_GET['PayerID'])){
$received_token = sanitize_text_field ($_GET['token']);
$received_payerId = sanitize_text_field ($_GET['PayerID']);
$execute_urls = get_option('paypal_processing');
$payment_execute_url= $execute_urls[$current_user->ID];
$execute_urls[$current_user->ID] = '';
update_option('paypal_processing',$execute_urls);
$payment_execute = array(
'payer_id' => $received_payerId
);
$json = json_encode($payment_execute);
$json_resp = make_post_call($payment_execute_url, $json,$received_token);
print_r($json_resp);
echo "Payment Execute processed " . $json_resp['id'] ." with state '". $json_resp['state']."'";
}
function make_post_call($url, $postdata,$token) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '.$token,
'Accept: application/json',
'Content-Type: application/json'
));
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
#curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
$response = curl_exec($curl);
if (empty($response)) {
// some kind of an error happened
print 'curl error';
curl_close($curl); // close cURL handler
} else {
$info = curl_getinfo($curl);
// echo "Time took: " . $info['total_time']*1000 . "ms\n";
curl_close($curl); // close cURL handler
if($info['http_code'] != 200 && $info['http_code'] != 201) {
//echo "Received error: " . $info['http_code']. "\n";
//echo "Raw response:".$response."\n";
exit('paypal error');
}
}
// Convert the result from JSON format to a PHP array
$jsonResponse = json_decode($response, TRUE);
return $jsonResponse;
}
Пожалуйста, проверьте этот ответ, http: // st ackoverflow.com/questions/15651716/paypal-rest-api-for-payments-returns-null-in-the-sandbox Его похоже на вопрос, который вы задали. – lib4
Какая информация дает вам вербальный переключатель curl? Любые заголовки ответов? Можете ли вы опубликовать URL-адрес выполнения? – aydiv
@lib 4 - в этой ситуации не хватает заголовков, которые я установил. Thx для ответа – Crerem