Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Редирект с домена на домен
Форумы портала PHP.SU » » Вопросы новичков » Редирект с домена на домен

Страниц (1): [1]
 

1. noviy - 08 Ноября, 2018 - 16:12:02 - перейти к сообщению
Впервые сталкиваюсь с необходимостью редиректится на чужой домен. Кручу робокассу со списком услуг с кнопками оплаты. Для отправки решено использовать одну форму в которой есть дополнительные поля: имя, телефон, мэйл. В зависимости от услуги в форму подставляются цена и описание услуги(на которой кнопка нажата). Далее форма аяксом передается в php, добавляется логин и пароль, формируется подпись и ссылка вида -
PHP:
скопировать код в буфер обмена
  1. header("Location: https://auth.robokassa.ru/Merchant/Index.aspx?MrchLogin=$mrh_login&OutSum=$out_summ&InvId=$inv_id&IncCurrLabel=$in_curr&Desc=$inv_desc&SignatureValue=$crc&Shpa=$name&Culture=$culture&Encoding=$encoding&Shpb=$phone&Shpc=$email&IsTest=$IsTest");


Закономерно получаю ошибку Access to XMLHttpRequest at 'https://auth.robokassa.ru/Merchant/Index.aspx?...&IsTest=1' (redirected from 'https://mydomain.ru/checking_data_pay') from origin 'https://mydomain.ru' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Из нагугленного:
PHP:
скопировать код в буфер обмена
  1.  header('Access-Control-Allow-Origin: https://auth.robokassa.ru/');
  2.  header('Access-Control-Allow-Credentials: true');
  3.  if(request_is_options()){
  4.   header('Access-Control-Allow-Methods: POST');
  5.   header("Location: https://auth.robokassa.ru/Merchant/Index.aspx?...&IsTest=$IsTest");
  6.  }
и
- тоже не помогает.
Реально с этим что-то сделать?
(Добавление)
Чего-то ничего так и не придумалось(( Придется возвращать из обработчика контрольную сумму(подпись), вставлять в форму перед отправкой, и отправлять, как положено. Лишнее действие, но работает.
2. Vladimir Kheifets - 08 Ноября, 2018 - 20:26:46 - перейти к сообщению
noviy пишет:
...- тоже не помогает.
Реально с этим что-то сделать?
(Добавление)
Чего-то ничего так и не придумалось(( Придется возвращать из обработчика контрольную сумму(подпись), вставлять в форму перед отправкой, и отправлять, как положено. Лишнее действие, но работает.


Добрый день!
Может быть и делать, как положено т.е. так, как работает. Нужен ли этот редирект?
Не понятно в чём проблема и чем Вас не устраивают методы доступа, предлагаемые разработчиками сервиса?
3. noviy - 09 Ноября, 2018 - 05:36:14 - перейти к сообщению
Идея была взята отсюда - https://kylaksizov[dot]ru/79-podklyu[dot][dot][dot]ssy-k-saytu[dot]html
4. miketomlin - 09 Ноября, 2018 - 15:53:01 - перейти к сообщению
И Хде там AJAX? В ответ на AJAX-запрос никто редирект не делает.
5. Vladimir Kheifets - 09 Ноября, 2018 - 17:02:57 - перейти к сообщению
noviy пишет:

Добрый день!
Перед тем, как Вам вчера ответить, посмотрел здесь https://docs[dot]robokassa[dot]ru/
Например, попробуйте сделать так, как там написано:
Спойлер (Отобразить)
Кажется выглядит правдоподобно...
Между прочим, обычно доступ к платёжным система делают по HTTPS, а Вашей ссылке: Header("Location: http://auth.robokassa.ru...
Удачи!
6. noviy - 28 Ноября, 2018 - 11:40:35 - перейти к сообщению
miketomlin пишет:
И Хде там AJAX? В ответ на AJAX-запрос никто редирект не делает.

AJAX-ом с клиента на сервер передаются данные формы - фио, услуга, цена, email )) А все остальное происходит на сервере, конечно!))) Идея была такая, проверить на сервере корректность данных пользователя и, если все в порядке, перекинуть его на робокассу.
(Добавление)
Vladimir Kheifets пишет:
Между прочим, обычно доступ к платёжным система делают по HTTPS, а Вашей ссылке: Header("Location: http://auth.robokassa.ru...
Удачи!

У них раньше тестовый сервер был на http, а боевой на https. Сейчас тестового сервера нет. Для теста добавляется параметр IsTest со значением 1.

 

Powered by ExBB FM 1.0 RC1