когда я перенаправляю на внешний URL, запрос отменяется в браузере в обычном режиме, но работает в режиме отключения безопасности - PullRequest
1 голос
/ 08 июня 2019

Я использую этот код:

$client = new SoapClient('https://ir.zarinpal.com/pg/services/WebGate/wsdl', array('encoding' => 'UTF-8'));

$result = $client->PaymentRequest(
    array(
        'MerchantID' => $transaction->scopeGetMerchantId(),
        'Amount' => $Amount,
        'Description' => $Description,
        'Email' => $Email,
        'Mobile' => $Mobile,
        'CallbackURL' => $CallbackURL
    )
);


//Redirect to URL You can do it also by creating a form
if ($result->Status == 100) {
       return redirect()->away('https://www.zarinpal.com/pg/StartPay/' . $result->Authority);
} else {
    echo 'ERR: ' . $result->Status;
}

Я тоже пробовал redirect()->to('url') и redirect('url').

и я на 100% уверен, что условие выполняется, и я попадаю в блоки "если"

вот картинка

1 Ответ

8 голосов
/ 08 июня 2019

Это потому, что вы можете попытаться перенаправить с non https на https URL. Если ваш домен размещен с https, то это не должно вызывать проблему.

Решение:

Предположим, приложение размещено на домене: https://abc.xx Домен платежного шлюза: https://xyz.xx

Создайте временный URL / страницу в laravel, который содержит код javascript для перенаправления на другой домен.

Как:

  1. Предположим, пользователь находится на странице: https://abc.xx/pay, нажал на любую кнопку и контроллер перенаправил на другую временную страницу laravel.

  2. Временная страница: https://abc.xx/processing содержит код JavaScript.

<script language=javascript>
    function redirect(){
      window.location = "http://xyz.xx";
    }
</script>

<body onload="redirect()">

</body>
  1. Когда представление будет загружено, оно автоматически перенаправляется на другой домен без каких-либо ограничений.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...