Я внедряю платежную систему на свой сайт.
При совершении платежа я создаю транзакции_id и order_id. Transaction_id необходим третьему лицу для успешной оплаты. Order_id для меня, чтобы определить, какой заказ идет с какой транзакцией.
После совершения платежа пользователь возвращается на «страницу возврата». этот URL-адрес будет выглядеть примерно так: «www.myawesomewebsite.com/return», однако после ссылки будет добавлен идентификатор order_id. Таким образом, этот URL будет выглядеть следующим образом: «www.myawesomewebsite.com/return?#31102014033349-3».
Когда я нахожусь на этой странице, я хочу проанализировать URL, чтобы получить order_id. Однако, если я сделаю что-то вроде этого:
array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(17) "www.myawesomewebsite.com" ["path"]=> string(27) "/return"
Как видите, он не возвращает запрос в URL. Если я var_dump(Request::url());
Он также возвращает «www.myawesomewebsite.com/return». Каким-то образом он не может «видеть» order_id в URL.
Мой вопрос, как я могу успешно получить order_id?
<?php
$url = "http://www.myawesomewebsite.com/return?order_id=31102014033349-3";
$host = parse_url( $url );
var_dump( $host );
?>Output:
array(4) {
["scheme"]=>
string(4) "http"["host"]=>
string(24) "www.myawesomewebsite.com"["path"]=>
string(7) "/return"["query"]=>
string(25) "order_id=31102014033349-3"}
ИЛИ просто получить:
$_GET["order_id"];
Других решений пока нет …