Электронные Платежные Системы
Суббота, 11.05.2024, 12:02
» Меню сайта

Как проводится процесс оплаты?

Процесс оплаты.

Оплата каждой покупки происходит при переходе на специальную страницу оплаты (https://paybox.ru/secure/order.php) на сайте платежной системы.

Покупка происходит по следующей схеме:

  1. Покупатель, зайдя на сайт клиента, выбирает товар или услугу.
  2. Клиент формирует заказ, и перенаправляет покупателя HTTP запросом на специальную страницу ПС.
  3. На странице ПС покупатель выбирает способ платежа и оплачивает покупку.
    a. В случае успешной оплаты покупатель перенаправляется обратно на сайт клиента по ссылке, предназначенной для успешных платежей (URL OK).
    b. В случае неуспешной оплаты или отказа  покупатель перенаправляется по другой ссылке (FAIL URL).
    c. В случае успешной оплаты сервер платежной системы посылает GET\POST HTTP запрос на специальный URL, указанный в настройках сайта, содержащий детали транзакции.

В случае, если покупатель выбрал способ оплаты, который не предполагает мгновенного поступления средств на счет клиента (сейчас мгновенные платежи пока недоступны), например СберБанк, то он будет перенаправлен на INFO URL.

В случае успешной оплаты клиентом счета платежная система отсылает на STATUS URL, если таковая опция включена, специальный HTTP запрос тем методом(GET или POST), который указан в настройках. В случае мгновенной оплаты запрос произойдет практически сразу, в случае поступления средств через несколько дней, например при оплате через СберБанк, запрос произойдет при переводе платежа в статус "Оплачен”.

Запрос на совершение платежа.

Для совершения платежа клиент должен перенаправить покупателя с помощью GET или POST запроса на страницу оплаты системы:

https://paybox.ru/secure/order.php

Существует два вида запросов. Первый относится к тем случаям, когда клиент сам задает параметры для оплаты, формируя стоимость и описание на своей стороне, второй тип относится к тем ситуациям, когда клиент хранит базу товаров и услуг в платежной системе в соответствующем разделе.

Оплата товара/услуги из базы в платежной системе.

С помощью этого типа запросов происходит оплата тех товаров или услуг, которые клиент добавил с своем Личном Кабинете. Чтобы добавить товары или услуги, зайдите в раздел "Мои сайты". Рядом с сайтом, к которому вы хотите добавить товары или услуги, нажмите "Управление товарами и услугами". В результате добавления вам станет известен ID продукта в системе.

В этом случае на URL https://paybox.ru/secure/order.php необходимо передать следующие параметры:

1.    WS_ID – ID сайта в системе. *
2.    PRODUCT_ID – ID продукта в системе. *
3.    PAY_METHOD – код метода оплаты (WMR, YM, VISA и т.п.)
4.    USER_NAME. 
5.    USER_COUNTRY.
6.    USER_CITY.
7.    USER_ZIP.
8.    USER_ADDRESS.
9.    USER_PHONE.
10.    USER_EMAIL.
11.    TEST_RESULT. Параметр принимается во внимание только в тестовом режиме, может принимать следующие значения:
a)    0 – результат платежа будет положительный.
b)    1 – результат платежа будет отрицательный.
c)    2 – результат платежа будет положительный с вероятностью 50%.

Все данные для формирования страницы оплаты выбираются из базы данных.
Обязательные поля отмечены *.

Пример простой формы.

<form method="post" action="https://paybox.ru/secure/order.php">
<input type="hidden" name="WS_ID" value="000000">
<input type="hidden" name="AMOUNT" value="100">
<input type="hidden" name="COMMENTS" value="Новая покупка">
<input type="submit" name="submit" value="Оплатить!" title="Совершить оплату при помощи платежной системы PayBox!">
</form>

Передача результата исполненного платежа на ваш STATUS URL.

Запрос посылается на указанный в настройках сайта URL указанным методом. Запрос игнорирует предупреждения вашего сайта о том, что SSL сертификат выдан не доверенным лицом. Это необходимо для тех случаев, когда вы захотите передавать данные по SSL протоколу, выдавая сами себе сертификаты.

В запросе передаются следующие параметры:

•    SYS_TRANS_ID – ID заказа в платежной системе
•    INV_ID – ID заказа в системе клиента (в вашей учетной системе), если он был указан
•    AMOUNT – сумма платежа, формат 22.18
•    CURRENCY -  валюта платежа, трехбуквенный код (RUR,USD и т.д.)
•    DATE_INT – дата и время платежа в UNIX формате
•    PAY_METHOD – код метода оплаты (WMR, YM, VISA и т.п.) из документации
•    USER_NAME 
•    USER_COUNTRY
•    USER_CITY
•    USER_ZIP
•    USER_ADDRESS
•    USER_PHONE
•    USER_EMAIL
•    USER_IP
•    Дополнительные поля, переданные с помощью EXTRA_FIELDS
•    HASH – проверочный хэш, гарантирующий, что запрос пришел от нас.

HASH = md5($SYS_TRANS_ID.$INV_ID.$AMOUNT.$CURRENCY.$PAY_METHOD.$SECRET_WORD);

$SECRET_WORD – секретное слово, указанное в настройках сайта.

В результате запроса ваш сервер должен выдать латинскую строку "OK”, как знак того, что запрос принят и распознан. Если наша платежная система не получает результат, то будет произведено несколько повторных запросов по следующему расписанию:

Второй запрос – через 5 минут после первого.
Третий запрос – через 15 минут после второго.
Четвертый запрос – через 30 минут после третьего.
Далее запросы идут через каждый час в течение 24 часов.

Если по окончанию 24 часов ответ от сервера не получен, система направляет информационное письмо об этой ситуации, одно вам, одно – нашим операторам.

Самостоятельная передача параметров может использоваться как в виде формы, так и в виде запроса.

В запросе должны быть переданы следующие параметры:

1. WS_ID – ID сайта в системе. *
2. INV_ID – ID заказа в системе клиента, может состоять из латинских букв, цифр, подчеркивания и дефиса.
3. AMOUNT – сумма к оплате в валюте сайта. *
4. COMMENTS – описание покупки. *
5. PAY_METHOD – код метода оплаты(WMR, YM, VISA и т.п.)
6. USER_NAME. 
7. USER_COUNTRY.
8. USER_CITY.
9. USER_ZIP.
10. USER_ADDRESS.
11. USER_PHONE.
12. USER_EMAIL.
13. EXTRA_FIELDS. В этой переменной необходимо указать через пробел названия тех полей, которые клиент передаст со своей стороны, и которые будут переданы вновь при уведомительном запросе на STATUS_URL.
14. TEST_RESULT. Параметр принимается во внимание только в тестовом режиме, может принимать следующие значения:
a. 0 – результат платежа будет положительный.
b. 1 – результат платежа будет отрицательный.
c. 2 – результат платежа будет положительный с вероятностью 50%.

В случае указания параметров USER_*, будут заполнены соответствующие поля в форме на странице оплаты (данные пользователя), в случае указания параметра PAY_METHOD, этот метод оплаты будет отмечен по умолчанию, но покупатель сможет его изменить.

Обязательные для передачи параметры отмечены *.

Примеры платежных форм.

Расширенная форма.

<form action="https://paybox.ru/secure/order.php" method="post">
<table>
<tr>
    <td>WS_ID:</td>
    <td><input type="text" name="WS_ID" value="ЗДЕСЬ_ИДЕНТИФИКАТОР_ВАШЕГО_САЙТА"></td>
</tr>
<tr>
    <td>INV_ID</td>
    <td><input type="text" name="INV_ID" value="ЗДЕСЬ_НОМЕР_СЧЕТА_В_ВАШЕЙ_СИСТЕМЕ"></td>
</tr>
<tr>
    <td>AMOUNT</td>
    <td><input type="text" name="AMOUNT" value="ЗДЕСЬ_СУММА"></td>
</tr>
<tr>
    <td>COMMENTS</td>
    <td><input type="text" name="COMMENTS" value=""></td>
</tr>
<tr>
    <td>PAY_METHOD</td>
    <td><input type="text" name="PAY_METHOD" value=""></td>
</tr>
<tr>
    <td>USER_FIRST_NAME</td>
    <td><input type="text" name="USER_FIRST_NAME" value=""></td>
</tr>
<tr>
    <td>USER_SECOND_NAME</td>
    <td><input type="text" name="USER_SECOND_NAME" value=""></td>
</tr>
<tr>
    <td>USER_LAST_NAME</td>
    <td><input type="text" name="USER_LAST_NAME" value=""></td>
</tr>
<tr>
    <td>USER_COUNTRY</td>
    <td><input type="text" name="USER_COUNTRY" value=""></td>
</tr>
<tr>
    <td>USER_CITY</td>
    <td><input type="text" name="USER_CITY" value=""></td>
</tr>
<tr>
    <td>USER_ZIP</td>
    <td><input type="text" name="USER_ZIP" value=""></td>
</tr>
<tr>
    <td>USER_ADDRESS</td>
    <td><input type="text" name="USER_ADDRESS" value=""></td>
</tr>
<tr>
    <td>USER_PHONE</td>
    <td><input type="text" name="USER_PHONE" value=""></td>
</tr>
<tr>
    <td>USER_EMAIL</td>
    <td><input type="text" name="USER_EMAIL" value=""></td>
</tr>
<tr>
    <td>TEST_RESULT</td>
    <td><input type="text" name="TEST_RESULT" value=""></td>
</tr>
<tr>
    <td>EXTRA_FIELDS</td>
    <td><input type="text" name="EXTRA_FIELDS" value=""></td>
</tr>
<tr>
    <td>EXTRA1</td>
    <td><input type="text" name="EXTRA1" value=""></td>
</tr>
<tr>
    <td>EXTRA2</td>
    <td><input type="text" name="EXTRA2" value=""></td>
</tr>
<tr>
    <td>EXTRA3</td>
    <td><input type="text" name="EXTRA3" value=""></td>
</tr>
<tr>
    <td></td>
    <td><input type="submit" name="subm" value="Отправить и получить счет!"></td>
</tr>
</table>
</form>

Простая форма с минимумом параметров, но передаваемыми дополнительными сведениями (продажа услуг хостинга).

<form method="post" action="https://paybox.ru/secure/order.php">
<input type="hidden" name="WS_ID" value="000000">
<input type="hidden" name="AMOUNT" value="50">
<input type="hidden" name="COMMENTS" value="Оплата услуг хостинга.">

<input type="hidden" name="EXTRA_FIELDS" value="srok plan">
<input type="text" name="plan" value="Название плана укажите тут">
<input type="text" name="srok" value="Срок в месяцах укажите тут">

<input type="submit" name="submit" value="Оплатить!" title="Совершить оплату при помощи платежной системы PayBox!">
</form>

Причин может быть несколько:

- по счетам не было движений, о которых должны приходить уведомления;
- в настройках сайта не включен режим уведомления на STATUS URL, в качестве которого должен быть указан работоспособный e-mail;
- не по всем операциям должны приходить уведомления. Например, по выписанному счету, пока он не оплачен, уведомление не приходит;
- иногда письма из системы блокируются крупными почтовыми сервисами. В таких случаях мы решаем эти технические вопросы, на что требуется время.

» ВРЕМЯ
clock for blog скрипт часов для сайта
» Форма входа
Яндекс.Метрика
Copyright © Электронные Платежные Системы 2010-2011
Сделать бесплатный сайт с uCoz