GuzzleHttp - отправлять пост-запрос при перенаправлении пользователя на ту же страницу - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь интегрировать сайт в систему онлайн-платежей. У меня есть проблема. Я хочу отправить запрос по адресу https: /xxx.xx.xx.xx/cgi-bin/cgi_link, перенаправляя пользователя на ту же страницу. Как мне это сделать ? Я пытался сделать это по GuzzleHttp, но не получилось Я не хочу отображать поля ввода на стороне просмотра.

echo "
    <input name=\"AMOUNT\" value=\"{$db_row['AMOUNT']}\" type=\"hidden\">
    <input name=\"CURRENCY\" value=\"{$db_row['CURRENCY']}\" type=\"hidden\">
    <input name=\"ORDER\" value=\"{$db_row['ORDER']}\" type=\"hidden\">
    <input name=\"DESC\" value=\"{$db_row['DESC']}\" type=\"hidden\">
    <input name=\"MERCH_NAME\" value=\"{$db_row['MERCH_NAME']}\" type=\"hidden\">
    <input name=\"MERCH_URL\" value=\"{$db_row['MERCH_URL']}\" type=\"hidden\">
    <input name=\"TERMINAL\" value=\"{$db_row['TERMINAL']}\" type=\"hidden\">
    <input name=\"EMAIL\" value=\"{$db_row['EMAIL']}\" type=\"hidden\">
    <input name=\"TRTYPE\" value=\"{$db_row['TRTYPE']}\" type=\"hidden\">    
    <input name=\"COUNTRY\" value=\"{$db_row['COUNTRY']}\" type=\"hidden\"> 
    <input name=\"MERCH_GMT\" value=\"{$db_row['MERCH_GMT']}\" type=\"hidden\"> 
    <input name=\"TIMESTAMP\" value=\"{$oper_time}\" type=\"hidden\">
    <input name=\"NONCE\" value=\"{$nonce}\" type=\"hidden\">
    <input name=\"BACKREF\" value=\"{$db_row['BACKREF']}\" type=\"hidden\">
    <input name=\"LANG\" value=\"AZ\" type=\"hidden\">
";

1 Ответ

2 голосов
/ 26 апреля 2019

Попробуйте это

    $guzzle = new \GuzzleHttp\Client;

    try {

        $response = $guzzle->post(env('API_URL'), [
            'form_params' => [
                'param_1' => '{data_1}',
                'param_2' => '{data_2}',
                'param_3' => '{data_3}',
                'param_4' => '{data_4}',
                'param_5' => '{data_5}'
            ],
        ]);

        if(isset($response) && $response->getStatusCode() == 200) {
            // do something
        }

    } catch (\GuzzleHttp\Exception\ClientException $e) {

        // do something

    } catch (\GuzzleHttp\Exception\RequestException $e) {

        // do something

    }

    return response;
...