Имитация PayPal HTML-кнопка POST-запрос в PHP - PullRequest
0 голосов
/ 13 июня 2018

Я хочу отправить запрос POST на PayPal в php, который имитирует кнопку html Pay Now, что происходит, если я POST стандарт HTML-форму в файл php на моем живом сервере (nginx), добавьте немного Переменная и отправка запроса POST, я ожидаю, что пользователь перенаправит на сайт PayPal, но я получаю пустую страницу без ошибок

 <?php
// PayPal settings
$paypal_email = 'test@me.com';
$return_url = 'https://example.com/payment-successful.html';
$cancel_url = 'https://example.com/payment-cancelled.html';
$notify_url = 'https://example.com/payments.php';

$item_name = 'Test Item';
$item_amount = 10.00;


$querystring = '';
$querystring .= "?business=".urlencode($paypal_email)."&";
$querystring .= "item_name=".urlencode($item_name)."&"; 
$querystring .= "amount=".urlencode($item_amount)."&";
foreach($_POST as $key => $value){
    $value = urlencode(stripslashes($value));
    $querystring .= "$key=$value&";
}
$querystring .= "return=".urlencode(stripslashes($return_url))."&";
$querystring .= "cancel_return=".urlencode(stripslashes($cancel_url))."&";
$querystring .= "notify_url=".urlencode($notify_url);

// POST data to paypal 
$ch =curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.sandbox.paypal.com/cgi-bin/webscr");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $querystring);
curl_exec($ch);

curl_close();

1 Ответ

0 голосов
/ 13 июня 2018

Вам нужно присвоить переменную вашему вызову curl_exec и сделать var_dump для этой переменной, чтобы увидеть, что происходит.Пустая страница звучит правдоподобно.

Если у вас все еще есть проблема с этим сообщением, результаты curl_exec, и мы выясним это оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...