Click-API – Запросы

Описание взаимодействия

Взаимодействие осуществляется через API-интерфейс, расположенный на сервере Поставщика. API-интерфейс полностью должен соответствовать требованиям данного документа. Созданный платеж в системе CLICK передается по протоколу HTTP (HTTPS) методом POST API- интерфейсу Поставщика услуг. Поставщик предоставляет системе CLICK URL-адреса для взаимодействия с API-интерфейсом. Взаимодействие разделено на два этапа:

1. Prepare

2. Complete

Описание этапов проведения оплаты:
Подготовка и проверка платежа (Prepare). Action = 0.

Параметры запроса:

# Наименование параметра Тип данных Описание
1 click_trans_id bigint Номер транзакции (итерации) в системе CLICK, т.е. попытки провести платеж.
2 service_id int ID сервиса
3 click_paydoc_id bigint Номер платежа в системе CLICK. Отображается в СМС у клиента при оплате.
4 merchant_trans_id varchar ID заказа(для Интернет магазинов)/лицевого счета/логина в биллинге поставщика
5 amount float Сумма оплаты (в сумах)
6 action int Выполняемое действие. Для Prepare — 0
7 error int Код статуса завершения платежа. 0 – успешно. В случае ошибки возвращается код ошибки.
8 error_note varchar Описание кода завершения платежа.
9 sign_time varchar Дата платежа. Формат «YYYY-MM-DD HH:mm:ss»
10 sign_string varchar Проверочная строка, подтверждающая подлинность отправляемого запроса. ХЭШ MD5 из следующих параметров:

md5( click_trans_id + service_id + SECRET_KEY* + merchant_trans_id + amount + action + sign_time)

SECRET_KEY – уникальная строка, выдаваемая Поставщику при подключении.

Параметры ответа:

# Наименование параметра Тип данных Описание
1 click_trans_id bigint ID платежа в системе CLICK
2 merchant_trans_id varchar ID заказа(для Интернет магазинов)/лицевого счета/логина в биллинге поставщика
3 merchant_prepare_id int ID платежа в биллинг системе поставщика для подтверждения
4 error int Код статуса запроса. 0 – успешно. В случае ошибки возвращается код ошибки
5 error_note varchar Описание кода завершения платежа.

Данным запросом система CLICK по параметрам платежа (merchant_trans_id, amount) проверяет:

a. Наличие сформированного заказа/логина/номера лиц.счета в биллинг системе Поставщика, его актуальность, а также возможность Поставщиком отпустить указанный в заказе товар или услугу.

Примечание. Для интернет-магазина, при получении запроса поставщик по указанному номеру заказа должен зарезервировать соответствующий товар, для предотвращения «перехвата» его другим и покупки одного и того же товара несколькими покупателями.

b. Актуальность суммы заказа или оплаты.

На данный запрос Поставщик должен вернуть состояние заказа/логина/номера лиц.счета:
a. Заказ/логин/номера лиц.счета и сумма актуальны. Ожидает оплаты.
При получении данного статуса со стороны системы CLICK будет отправлен запрос Complete.

b. Заказ/логин/номер лиц.счета неактуален (отменен). При данном ответе со стороны CLICK будет отправлен запрос Complete c признаком отмены платежа.
Примечание. При получении отрицательного ответа от Поставщика в случае если уже средства со счета Пользователя были списаны (запрос давался повторно, если на предыдущий запрос Complete система CLICK не дождалась ответа и не знает о состоянии заказа.), то система CLICK, будет давать запрос Complete с признаком подтверждения платежа. Если средства не списаны, то CLICK также аннулирует платеж.

c. Заказ ранее был подтвержден. При данном ответе со стороны системы CLICK будет завершен платеж. Запрос Complete повторно направлен не будет.

Примечание. Поставщик должен в своей биллинг системе поставить защиту от повторного проведения платежа, ранее уже подтвержденного, с одним и тем же click_trans_id.

Завершение платежа (Complete). Action = 1.

Параметры запроса:

# Наименование параметра Тип данных Описание
1 click_trans_id bigint ID платежа в системе CLICK
2 service_id int ID сервиса
3 click_paydoc_id bigint Номер платежа в системе CLICK. Отображается в СМС у клиента при оплате.
4 merchant_trans_id varchar ID заказа(для Интернет магазинов)/лицевого счета/логина в биллинге поставщика
5 merchant_prepare_id int ID платежа в биллинг системе поставщика для подтверждения, полученный при запросе «Prepare»
6 amount float Сумма оплаты (в сумах)
7 action int Выполняемое действие. Для Complete — 1
8 error int Код статуса завершения платежа. 0 – успешно. В случае ошибки возвращается код ошибки.
9 error_note varchar Описание кода завершения платежа.
10 sign_time varchar Дата платежа. Формат «YYYY-MM-DD HH:mm:ss»
11 sign_string varchar Проверочная строка, подтверждающая подлинность отправляемого запроса. ХЭШ MD5 из следующих параметров:

md5( click_trans_id + service_id + SECRET_KEY* + merchant_trans_id + merchant_prepare_id + amount + action + sign_time )

SECRET_KEY – уникальная строка, выдаваемая Поставщику при подключении.

Параметры ответа:

# Наименование параметра Тип данных Описание
1 click_trans_id bigint ID платежа в системе CLICK
2 merchant_trans_id varchar ID заказа(для Интернет магазинов)/лицевого счета/логина в биллинге поставщика
3 merchant_confirm_id int ID транзакции завершения платежа в биллинг системе (может быть NULL)
4 error int Код статуса запроса. 0 – успешно. В случае ошибки возвращается код ошибки.
5 error_note varchar Описание кода завершения платежа.

Данный запрос завершает процесс он-лайн оплаты. При получении от Поставщика услуг положительного ответа на запрос Prepare система CLICK проверяет возможность оплаты заказа Пользователем. В зависимости от успешности списания средств, запрос Complete содержит параметр error со следующими значениями:

1. «0» – Успешно. Посылается при успешном списании средств. При этом Поставщик должен отпустить товар или оказать оплаченную услугу.

2. «<=-1» – Отмена. Посылается при ошибке списания средств или при других ошибках, возвращается код ошибки. При этом Поставщик должен снять бронь (при имении таковой) с товаров, а так же вернуть ответ с кодом -9 (см. таблицу ответов). При отмене со стороны CLICK будет так же отправлено описание ошибки.

Примечание.
При успешном ответе на запрос Prepare и успешном списании средств с карты, ответ на запрос Complete не может быть ошибочным (кроме случаев, когда платеж уже ранее был подтвержден error = -4 или идет повторная попытка подтвердить ранее отмененного платежа error = -9). При получении ошибочного ответа от поставщика, после нескольких попыток, платеж зависнет для ручного разбирательства со стороны Службы технической поддержки CLICK.


При необходимости, если возникла ошибка предоставления услуг/продажи товара после успешного списания средств с карты и во время выполнения запроса Complete, то Биллинг поставщика отвечает на запрос Complete «успешно» и отправляет запрос на «отмену платежа» (см. документацию CLICK-API-MERCHANT пункт 3. Payment_cancel)

© 2024 Click