Помощь с php юнителер.

Статус
В этой теме нельзя размещать новые ответы.

angel_sia

Гуру форума
Регистрация
7 Окт 2012
Сообщения
252
Реакции
92
Привет всем.
Ребят такая проблема.
В общем на старом сайте форма рабочий сайт был полноценным с БД и все дела.
Сейчас сайт стал статичным.
Есть форма которая отправляет в платежную систему запрос. Прикладываю код.
Скрытое содержимое доступно для зарегистрированных пользователей!


Так же есть еще пара файлов. ok и fail
Скрытое содержимое доступно для зарегистрированных пользователей!

Скрытое содержимое доступно для зарегистрированных пользователей!


Как выглядит форма
Скрытое содержимое доступно для зарегистрированных пользователей!


Как мне это все собрать чтоб все работало кто подскажет?
 
судя по всему не хватает еще JS файла который бы через аякс отправлял все это на php обработчик и возвращал ответ юзеру.
Гуглите на тему Ajax php форма
 
судя по всему не хватает еще JS файла который бы через аякс отправлял все это на php обработчик и возвращал ответ юзеру.
Гуглите на тему Ajax php форма
Вся сиеста работала без JS просто 3 php файла.
В корне и папки ok и fail.
И все работает измутильно.
На сколько я понял логику работы. Идет так шаг1-отправка данных о продавце шаг2-отправка данных о покупатели(Номер брони/Сумма) Ожидания ответа от сервера (да/нет) шаг3- возможность перейти к оплате (ридерект на оплату юнителлера)

З.ы. Я правда пока не могу понять создает он записи в БД сайта или нет. Но мне кажется нет. Вот запись в юнителлере он создает.
 
Вся сиеста работала без JS просто 3 php файла.
В корне и папки ok и fail.
И все работает измутильно.
На сколько я понял логику работы. Идет так шаг1-отправка данных о продавце шаг2-отправка данных о покупатели(Номер брони/Сумма) Ожидания ответа от сервера (да/нет) шаг3- возможность перейти к оплате (ридерект на оплату юнителлера)

З.ы. Я правда пока не могу понять создает он записи в БД сайта или нет. Но мне кажется нет. Вот запись в юнителлере он создает.
Нет совсем не так!
Судя по тому что вы выложили у вас просто форма ,которая получает данные для оплаты,и после нажатия оплатить происходит переход на uniteller c введенными данными(сумма,имя товара).Папки ok и fail ,это странички на успешное выполнение(после оплаты перенаправляет на эту страницу) и страницу ошибки.
Вот видно в форме задается адрес к этим страничкам
<input type='hidden' name='URL_RETURN_OK' value='Для просмотра ссылки Войди или Зарегистрируйся
<input type='hidden' name='URL_RETURN_NO' value='Для просмотра ссылки Войди или Зарегистрируйся

Нет совсем не так!
Судя по тому что вы выложили у вас просто форма ,которая получает данные для оплаты,и после нажатия оплатить происходит переход на uniteller c введенными данными(сумма,имя товара).Папки ok и fail ,это странички на успешное выполнение(после оплаты перенаправляет на эту страницу) и страницу ошибки.
Вот видно в форме задается адрес к этим страничкам
<input type='hidden' name='URL_RETURN_OK' value='Для просмотра ссылки Войди или Зарегистрируйся
<input type='hidden' name='URL_RETURN_NO' value='Для просмотра ссылки Войди или Зарегистрируйся

Посмотрел я на вашем сайте у вас там неправильно генерируется форма для оплаты.например у вас не хватает action ,поэтому у вас при нажатии на оплатить происходит просто перезагрузка страницы

А форма должна выглядеть вот так

<form action="Для просмотра ссылки Войди или Зарегистрируйся" method="POST" id="uniteller_payment_form">

<input type="hidden" name="Order_IDP" value="Тут пишет ID заказа">

<input type="hidden" name="Subtotal_P" value="Сумма заказа">

<input name="Shop_IDP" value="Тут IDP Магазина">

<input type="hidden" name="Signature" value="00000000000000000000000000000000">

<input type="hidden" name="URL_RETURN_OK" value="Адрес к странице Ok">

<input type="hidden" name="URL_RETURN_NO" value="Адрес к странице Fail">

<input type="submit" id="submit_uniteller_payment_form" value="Оплатить">

</form>


Но тут есть нюанс вам в любом случае нужно доступ в личный кабинет чтобы посмотреть данные для формы а именно Shop_IDP и пароль из раздела «Параметры Авторизации» Личного кабинета системы Uniteller.

Обращая внимание чтобы форма работала должны быть все те поля что я показал в форме сверху но это еще не все, в это поле :
<input type="hidden" name="Signature" value="00000000000000000000000000000000">
Мы формируем md5 хеш.Он формируется по следующему принципу

$crc = strtoupper(
md5(
md5(Тут id магазина) . "&" .
md5(Тут id заказа) . "&" .
md5(Тут Сумма заказа) . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5(пароль из раздела «Параметры Авторизации»)
)
);
все что вернулось в переменную $crc,вставляем в наше поле Signature что я показал выше.
А у вас например на страничке Для просмотра ссылки Войди или Зарегистрируйся есть поля <input name="Order_ID" size="5" maxlength="5"> и <input name="Subtotal_P" size="8" maxlength="10">
Но они там стоят как текстовые и в них можно ввести id заказа и сумму.
Но это не логично,потому что при загрузке страницы у нас уже должна быть известна сумма и номер заказа чтобы сформировать хеш для поля Signature.
Конечно можно при вводе отправлять на сервер через ajax данные и формировать там хеш и при ответе подставлять в форму.
Но легче будет например на этой страничке оставить форму Для просмотра ссылки Войди или Зарегистрируйся с полем номер и сумма и при клике на оплатить нас перенаправляет например на страничку на которой мы и примем эти все данные и сформируем правильную форму и хеш,там типа написать проверьте правильность введенных данных и просто вставит в верстку данные которые ввели на предыдущей страничке в текстовом формате и кнопке оплатить
 
Последнее редактирование модератором:
Нет совсем не так!
Судя по тому что вы выложили у вас просто форма ,которая получает данные для оплаты,и после нажатия оплатить происходит переход на uniteller c введенными данными(сумма,имя товара).Папки ok и fail ,это странички на успешное выполнение(после оплаты перенаправляет на эту страницу) и страницу ошибки.
Вот видно в форме задается адрес к этим страничкам
<input type='hidden' name='URL_RETURN_OK' value='Для просмотра ссылки Войди или Зарегистрируйся
<input type='hidden' name='URL_RETURN_NO' value='Для просмотра ссылки Войди или Зарегистрируйся
Ну все верно это уже на сколько я понял юнителлер отправляет обратно а там мы видим все туже страницу почти.
Скрытое содержимое доступно для зарегистрированных пользователей!

Посмотрел я на вашем сайте у вас там неправильно генерируется форма для оплаты.например у вас не хватает action ,поэтому у вас при нажатии на оплатить происходит просто перезагрузка страницы

А форма должна выглядеть вот так

<form action="Для просмотра ссылки Войди или Зарегистрируйся" method="POST" id="uniteller_payment_form">

<input type="hidden" name="Order_IDP" value="Тут пишет ID заказа">

<input type="hidden" name="Subtotal_P" value="Сумма заказа">

<input name="Shop_IDP" value="Тут IDP Магазина">

<input type="hidden" name="Signature" value="00000000000000000000000000000000">

<input type="hidden" name="URL_RETURN_OK" value="Адрес к странице Ok">

<input type="hidden" name="URL_RETURN_NO" value="Адрес к странице Fail">

<input type="submit" id="submit_uniteller_payment_form" value="Оплатить">

</form>


Но тут есть нюанс вам в любом случае нужно доступ в личный кабинет чтобы посмотреть данные для формы а именно Shop_IDP и пароль из раздела «Параметры Авторизации» Личного кабинета системы Uniteller.

Обращая внимание чтобы форма работала должны быть все те поля что я показал в форме сверху но это еще не все, в это поле :
<input type="hidden" name="Signature" value="00000000000000000000000000000000">
Мы формируем md5 хеш.Он формируется по следующему принципу

$crc = strtoupper(
md5(
md5(Тут id магазина) . "&" .
md5(Тут id заказа) . "&" .
md5(Тут Сумма заказа) . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5('') . "&" .
md5(пароль из раздела «Параметры Авторизации»)
)
);
все что вернулось в переменную $crc,вставляем в наше поле Signature что я показал выше.
А у вас например на страничке Для просмотра ссылки Войди или Зарегистрируйся есть поля <input name="Order_ID" size="5" maxlength="5"> и <input name="Subtotal_P" size="8" maxlength="10">
Но они там стоят как текстовые и в них можно ввести id заказа и сумму.
Но это не логично,потому что при загрузке страницы у нас уже должна быть известна сумма и номер заказа чтобы сформировать хеш для поля Signature.
Конечно можно при вводе отправлять на сервер через ajax данные и формировать там хеш и при ответе подставлять в форму.
Но легче будет например на этой страничке оставить форму Для просмотра ссылки Войди или Зарегистрируйся с полем номер и сумма и при клике на оплатить нас перенаправляет например на страничку на которой мы и примем эти все данные и сформируем правильную форму и хеш,там типа написать проверьте правильность введенных данных и просто вставит в верстку данные которые ввели на предыдущей страничке в текстовом формате и кнопке оплатить

Данные эти есть я их скрыл просто.
Я пока как писал выше не могу понять логику как мне это построить )) Готов 500 Сбера подарить любому кто решит мне эту проблему ((

З.ы. насколько я понимаю вы предлагаете изменить логику отправки данных. Тоесть переработать старую или я не прав?

З.ы.ы. <form action="Для просмотра ссылки Войди или Зарегистрируйся" method="POST" id="uniteller_payment_form"> Для просмотра ссылки Войди или Зарегистрируйся' нужна фискальная часть.

З.ы.ы.ы. по мануалы должны быть скрыты от прямого доступа.
<input name="Shop_IDP" value="Тут IDP Магазина">
<input type="hidden" name="Signature" value="00000000000000000000000000000000">
 
Последнее редактирование:
А что тогда у ваc именно не работает?

Ну все верно это уже на сколько я понял юнителлер отправляет обратно а там мы видим все туже страницу почти.



Данные эти есть я их скрыл просто.
Я пока как писал выше не могу понять логику как мне это построить )) Готов 500 Сбера подарить любому кто решит мне эту проблему ((

З.ы. насколько я понимаю вы предлагаете изменить логику отправки данных. Тоесть переработать старую или я не прав?

З.ы.ы. <form action="Для просмотра ссылки Войди или Зарегистрируйся" method="POST" id="uniteller_payment_form"> Для просмотра ссылки Войди или Зарегистрируйся' нужна фискальная часть.

З.ы.ы.ы. по мануалы должны быть скрыты от прямого доступа.
<input name="Shop_IDP" value="Тут IDP Магазина">
<input type="hidden" name="Signature" value="00000000000000000000000000000000">
Ну так тяжело сказать можно глянуть на весь код!
 
Последнее редактирование модератором:
Ну так тяжело сказать можно глянуть на весь код!
Можно, если даш куда скинуть, я тебе скину всю папку юнителлера та что рабочий с старого сайта и с нового сайта папку кину но там только html файлик один пока.
НУ или можешь стукнуть в скайп angel_sia
 
Ну все верно это уже на сколько я понял юнителлер отправляет обратно а там мы видим все туже страницу почти.



Данные эти есть я их скрыл просто.
Я пока как писал выше не могу понять логику как мне это построить )) Готов 500 Сбера подарить любому кто решит мне эту проблему ((

З.ы. насколько я понимаю вы предлагаете изменить логику отправки данных. Тоесть переработать старую или я не прав?

З.ы.ы. <form action="Для просмотра ссылки Войди или Зарегистрируйся" method="POST" id="uniteller_payment_form"> Для просмотра ссылки Войди или Зарегистрируйся' нужна фискальная часть.

З.ы.ы.ы. по мануалы должны быть скрыты от прямого доступа.
<input name="Shop_IDP" value="Тут IDP Магазина">
<input type="hidden" name="Signature" value="00000000000000000000000000000000">
З.ы.ы.ы. по мануалы должны быть скрыты от прямого доступа.
<input name="Shop_IDP" value="Тут IDP Магазина">
<input type="hidden" name="Signature" value="00000000000000000000000000000000">

А как вы их тогда хочете передать Uniteller?
 
З.ы.ы.ы. по мануалы должны быть скрыты от прямого доступа.
<input name="Shop_IDP" value="Тут IDP Магазина">
<input type="hidden" name="Signature" value="00000000000000000000000000000000">

А как вы их тогда хочете передать Uniteller?
Скинь почту я тебе скину файлы посмотришь как там сейчас реализовано может что напилишь умное мне из кода ))).

Вопрос решили спасибо "giorno"
Тему можно закрывать!!!
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху