Этапы осуществления платежа.
- Инициализация платежа
- Переход пользователя от магазина на платежный шлюз
- Осуществление платежа/отказ от оплаты
- Возвращение в магазин
1. Инициализация платежа
Магазин осуществляет POST или GET запрос на платежный шлюз по адресу:
- https://engine.artpay.by/create/.
- https://gateway-sandbox-artpay.dev-3c.by/create/ ("песочница")
- https://gateway-test-artpay.dev-3c.by/create/ (тестовая среда)
со следующими обязательными и опциональными полями:
Информация
При использовании тестового режима данные карты не проверяются. Средства с карты не списываются.
Параметры инициализации платежа.
Название | Тип | Обязательность | Значение | Пример |
---|---|---|---|---|
ap_storeid | String(1..30) | Да | Идентификатор точки обслуживания. | 43434 |
ap_order_num | Int64 | Да | Номер заказа. | 123 |
ap_client_dt | Int32 | DateTime | Нет | Дата и время. Дата и время не должны отличаться более чем на 12 часов от даты и времени на сервере. | 1466602065 | |
ap_amount | Double | Да | Сумма платежа. | 12.10 |
ap_currency | String(3..3) | Да | Цифровой трехсимвольный код валюты либо его буквенное обозначение согласно ISO4271. | BYN|USD|EUR|RUB |
ap_invoice_desc | String (max 2500) | Да | Краткое описание приобретаемых товаров или оказываемых услуг. | Холодильник |
ap_signature | String (32..512) | Да | Хеш-Подпись. | ac9afb894a07a92fde3bc8638f475b1e3d6ca6f1780d1a711f11ba77f61236579 |
ap_lang | String(2..2) | Нет | Язык пользовательского интерфейса. Принимает значения ISO 639-1. Если выбранный язык не поддерживается, то используется русский. | ru|by|en|pl |
ap_test | Boolean | Нет | Уведомляет сервер об использовании тестового режима. В случае если значение параметра установлено в "1" или "true", возможно использование только тестового платежного шлюза. При отсутствии в запросе, по умолчанию, параметр принимает значение "0" или "false" (реальный режим). | 1|0 |
up_... | String (1..1024) | Нет | Набор пользовательских параметров. Разрешается добавлять до 16 пользовательских параметров с любыми именами, начинающимися с префикса "up_" (например, "up_any_param"). Данные параметры не обрабатываются и не учитываются в платежной системе при оплате, но передаются предприятию (точке обслуживания) после успешного выполнения операции в уведомлении. Пользовательские параметры учитываются при расчете хеш-подписи. | up_any_param=success |
Пример формы для вызова инициализации платежа.
<form method="POST" action="https://engine.artpay.by/create/">
<input type="hidden" name="ap_storeid" value="57003"/>
<input type="hidden" name="ap_order_num" value="1234"/>
<input type="hidden" name="ap_amount" value="1000"/>
<input type="hidden" name="ap_currency" value="BYN"/>
<input type="hidden" name="ap_client_dt" value="1466602065"/>
<input type="hidden" name="ap_invoice_desc" value="Телевизор марки Горизонт"/>
<input type="hidden" name="ap_test" value="0"/>
<input type="hidden" name="ap_signature" value="dab4a472561b49c355a80379f0a96a7efe2269bb7cc45b48ce9e587b6c2415de"/>
<input type="submit" value="Оплатить">
</form>
2. Переход пользователя от магазина на платежный шлюз.
В случае корректности параметров Шлюз создает платеж и отправляет посетителя на страницу платежа. Если заказ создать не удалось, пользователю будет показана страница с ошибкой. Пример адреса для перенаправления пользователя: https://engine.artpay.by/1dd6-a5be-9077-1b80-e5da-ca81-1d0e-5726/
3. Осуществление платежа/отказ от оплаты.
На странице платежа пользователь вводит данные карты, либо отказывается от платежа.
4. Возвращение в магазин.
В зависимости от результата платежа пользователь будет возвращен:
- В случае успешного платежа на success url. При этом с помощью метода из success method будет осуществлена передача пераметров платежа в формате, указанным в success data format. Также будет осуществлен вызов result url, при этом методом result method будут переданы параметры для оповещения платежа в формате, указанным в result data format. Если в качестве result method указан email, то уведомление о платеже будет отправлено по электронной почте.
- В случае отказа от платежа/невозможности платежа на cancel url. При этом с помощью метода из cancel method будет осуществлена передача пераметров платежа в формате, указанным в cancel data format.
Пример адреса перенаправления пользователя после оплаты: http://testshop.tld/success/?ap_storeid=57003&ap_order_num=776175&ap_test=true&result=success&up_btn_name=super%21&ap_signature=dab4a472561b49c355a80379f0a96a7efe2269bb7cc45b48ce9e587b6c2415de
Параметры перенаправления.
Название | Тип | Обязательность | Значение |
---|---|---|---|
ap_storeid | String(1..30) | Да | Идентификатор точки обслуживания |
ap_order_num | Int64 | Да | Номер заказа |
ap_operation_status | Enum : cancel|success | Да | Результат операции. cancel - платеж отменен. success - платеж прошел успешно. |
ap_signature | String (32..512) | Да | Хеш-Подпись |
ap_test | Boolean | Нет | Уведомляет магазин об использовании тестового режима. |
up_... | String (1..1024) | Нет | Набор пользовательских параметров. |
Извещение о результатах оплаты или сторнировании оплаченного в ЕРИП счета.
Название | Тип | Обязательность | Значение |
---|---|---|---|
ap_notice_type | String | Да | EripTrnStatus |
ap_storeid | String(1..30) | Да | Идентификатор точки обслуживания |
ap_order_num | Int64 | Да | Номер заказа |
ap_erip_trn_state | Enum : Paid|Canceled|PayError|CancelError | Да |
|
ap_erip_service_no | Int32 | Да | Номер услуги в ЕРИП. |
ap_erip_invoice_id | String | Да | Уникальный номер оплаченного счета в системе ЕРИП. (в общем случае номер заказа плательщика) |
ap_erip_trn_id | String | Да | Уникальный номер транзакции в системе ЕРИП. |
ap_sp_trn_id | String | Да | Уникальный номер транзакции у поставщика услуг. |
ap_amount | Double | Да | Сумма платежа. |
ap_currency | String(3..3) | Да | Цифровой трехсимвольный код валюты либо его буквенное обозначение согласно ISO4271. |
ap_test | Boolean | Нет | Уведомляет магазин об использовании тестового режима. |
ap_trans_dt | String | Нет | Дата и время выполнения транзакции на сервере ЕРИП. |
up_... | String (1..1024) | Нет | Набор пользовательских параметров. |
ap_signature | String (32..512) | Да | Хеш-Подпись |
Пример формы для вызова инициализации платежа.
{"ap_storeid":57003,"ap_order_num":776175,"ap_test":true,"ap_operation_status":"success","up_btn_name":"super","ap_signature":"ac9afb894a07a92fde3bc8638f475b1e3d6ca6f1780d1a711f11ba77f61236579"}
ap_storeid=57003&ap_order_num=776175&ap_test=true&ap_operation_status=cancel&up_btn_name=super%21&ap_signature=ac9afb894a07a92fde3bc8638f475b1e3d6ca6f1780d1a711f11ba77f61236579