Оплата
При оплате пользователь при помощи мобильного приложения сканирует QR-код, который отображается на странице оплаты или в вашей системе (при работе через Gate).
| Регионы использования | Киргизия |
| Валюты оплаты | KGS |
| Суммы платежей | Информацию уточняйте у курирующего менеджера EtoPlatezhi. Также вы можете уточнить в Dashboard минимальную и максимальную сумму платежа, доступную в вашем проекте. |
| Время проведения платежа | Информацию уточняйте у курирующего менеджера EtoPlatezhi. |
| Конвертация валют | На стороне EtoPlatezhi |
| Возврат | |
| Организация и стоимость подключения | По согласованию с курирующим менеджером EtoPlatezhi |
Основные операции
| Интерфейсы | |||
|---|---|---|---|
| Payment Page | Gate | Dashboard | |
| Оплата | |||
Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.
Далее подробно рассказывается, что вам нужно делать для проведения платежа, а также о возможностях анализа уже проведенных платежей.
Оплата через Payment Page
Общая информация
Чтобы выполнить оплату через Payment Page с использованием метода ELQR:
- Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы EtoPlatezhi.
- Примите от платежной платформы EtoPlatezhi оповещение (callback) с результатом оплаты.
Полная схема оплаты через Payment Page выглядит следующим образом.
- Пользователь инициирует оплату в вашей системе.
- Ваша система передает запрос на оплату через Payment Page на URL-адрес платежной платформы EtoPlatezhi.
- Страница оплаты отображается пользователю.
- Пользователь выбирает на странице оплаты метод ELQR.
- Пользователю отображается QR-код для оплаты на странице оплаты.
- Пользователь выполняет оплату.
- Сервис провайдера оповещает платежную платформу о результате оплаты.
- Платежная платформа отправляет вашей системе оповещение (callback) о результате оплаты.
- Результат оплаты отображается пользователю на странице оплаты.
Запрос
В запросе на открытие страницы оплаты с использованием метода ELQR укажите необходимые параметры:
|
||
|---|---|---|
| Параметр | Описание | |
project_id | Идентификатор проекта, полученный от EtoPlatezhi при интеграции. Пример: | |
payment_id | Идентификатор платежа, уникальный в рамках проекта. Пример: | |
customer_id | Идентификатор пользователя, уникальный в рамках проекта. Пример: | |
customer_email | Адрес электронной почты пользователя. Пример: | |
payment_currency | Код валюты платежа в формате ISO-4217 alpha-3.
Пример: | |
payment_amount | Сумма платежа в дробных единицах валюты без десятичного разделителя (точки или запятой) и пробелов за исключением случаев, когда у валюты нет дробной части. Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Использование дробных единиц валюты и Коды валют. Пример: 100,00 KGS передается как | |
force_payment_method | Параметр, позволяющий пропустить страницу выбора метода и принудительно выбрать ELQR в качестве платежного метода. Чтобы пропустить страницу выбора метода и принудительно выбрать ELQR в качестве платежного метода, добавьте в запрос параметр force_payment_method со значением Пример: | |
signature | Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Работа с подписью к данным. | |
| При необходимости добавьте в запрос необязательные параметры из числа доступных для работы с Payment Page. Подробнее о параметрах запросов в Payment Page см. Параметры вызова платёжной формы. | ||
Вот пример параметров из запроса на открытие страницы оплаты с использованием виджета
EPayWidget:
EPayWidget.run(
{
project_id: 1234,
payment_id: 'payment_47',
customer_id: 'customer_123',
customer_email: 'johndoe@example.com',
payment_currency: 'KGS',
payment_amount: 10000,
force_payment_method: 'elqr',
signature: 'kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=='
}
)Оповещение (callback)
В методе ELQR результат оплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения.
Вот пример тела оповещения с информацией об успешно выполненной оплате:
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "success",
"date": "2024-12-07T19:08:45+0000",
"method": "elqr",
"sum": {
"amount": 10000,
"currency": "KGS"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 47,
"type": "sale",
"status": "success",
"date": "2024-12-07T19:08:45+0000",
"created_date": "2024-12-07T19:08:05+0000",
"request_id": "1a23456bc7890de",
"sum_initial": {
"amount": 10000,
"currency": "KGS"
},
"sum_converted": {
"amount": 10000,
"currency": "KGS"
},
"code": "0",
"message": "Success",
"provider": {
"id": 12345,
"payment_id": "123abc123-123",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Вот пример тела оповещения с информацией об отклоненной оплате.
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "decline",
"date": "2024-12-07T19:08:45+0000",
"method": "elqr",
"sum": {
"amount": 10000,
"currency": "KGS"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 47,
"type": "sale",
"status": "decline",
"date": "2024-12-07T19:08:45+0000",
"created_date": "2024-12-07T19:08:05+0000",
"request_id": "1a23456bc7890de",
"sum_initial": {
"amount": 10000,
"currency": "KGS"
},
"sum_converted": {
"amount": 10000,
"currency": "KGS"
},
"code": "20000",
"message": "General decline",
"provider": {
"id": 12345,
"payment_id": "123abc123-123",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Оплата через Gate
Общая информация
Чтобы выполнить оплату через Gate с использованием метода ELQR:
- Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы EtoPlatezhi.
- Отобразите пользователю QR-код для оплаты.
- Примите от платежной платформы EtoPlatezhi оповещение (callback) с результатом оплаты.
Полная схема оплаты с использованием метода ELQR выглядит следующим образом.
- Пользователь инициирует оплату в вашей системе.
- Ваша система передает запрос на оплату в платежную платформу.
- Платежная платформа отправляет вашей системе ответ с информацией о получении запроса и о результате проверки его корректности. (Подробнее о структуре ответа см. Формат ответа.)
- Платежная платформа генерирует QR-код для отображения пользователю и отправляет этот QR-код вашей системе в массиве display_data.
- Ваша система отображает пользователю QR-код для оплаты.
- Пользователь выполняет оплату.
- Сервис провайдера оповещает платежную платформу о результате оплаты.
- Платежная платформа отправляет в вашу систему оповещение (callback) с результатом оплаты.
- Ваша система направляет пользователю информацию о результате оплаты.
Запрос
Далее представлена информация, необходимая для создания и отправки запроса на оплату с использованием метода ELQR.
| HTTP-метод запроса | POST |
| Формат тела запроса | JSON |
| Конечная точка | /v2/payment/qr/elqr/sale |
| Полная спецификация конечной точки | /v2/payment/qr/{payment_method}/sale |
|
|||
|---|---|---|---|
| Объект | Параметр | Описание | |
general | project_id | Идентификатор проекта, полученный от EtoPlatezhi при интеграции. Пример: | |
payment_id | Идентификатор платежа, уникальный в рамках проекта. Пример: | ||
signature | Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным. | ||
customer | id | Идентификатор пользователя, уникальный в рамках проекта. Пример: | |
ip_address | IP-адрес устройства пользователя. Пример: | ||
email | Адрес электронной почты пользователя. Пример: | ||
payment | currency | Код валюты платежа в формате ISO-4217 alpha-3. Пример: | |
amount | Сумма платежа в дробных единицах валюты без десятичного разделителя (точки или запятой) и пробелов за исключением случаев, когда у валюты нет дробной части. Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Использование дробных единиц валюты и Коды валют. Пример: 100,00 KGS передается как | ||
description | Описание или комментарий к операции. Пример: | ||
return_url | success | URL-адрес, на который нужно перенаправить пользователя в случае успешного завершения оплаты. Пример: | |
decline | URL-адрес, на который нужно перенаправить пользователя в случае отклонения оплаты. Пример: | ||
return | URL-адрес, куда нужно перенаправить пользователя в случае прерывания оплаты пользователем до ее завершения. Этот же адрес используется, если не заданы параметры success и decline. Если не задан ни один из параметров объекта return_url, то Gate по умолчанию перенаправляет пользователя по URL-адресу, указанному в вашем проекте в EtoPlatezhi. Пример: | ||
| При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference. | |||
Вот пример тела запроса на оплату с использованием метода ELQR:
{
"general": {
"project_id": 1234,
"payment_id": "payment_47",
"signature": "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO/RLUkDJrOcZzUCwX6R/ekpZhkIQg=="
},
"customer": {
"id": "customer_123",
"ip_address": "198.51.100.47",
"email": "johndoe@example.com"
},
"payment": {
"currency": "KGS",
"amount": 10000,
"description": "Описание"
},
"return_url": {
"success": "https://example.com/success/",
"decline": "https://example.com/decline/",
"return": "https://example.com/return/"
}
}
Отображение пользователям QR-кода для оплаты
Получив и обработав запрос на оплату, платежная платформа направит вам оповещение (callback) с данными QR-кода для отображения пользователю.
Чтобы отобразить пользователю QR-код для оплаты, используйте информацию из массива display_data.
| Элемент | Описание |
|---|---|
{
"type": "qr_data",
"title": "qr_code_data",
"data": "https://example.com"
}
|
Данные для отображения QR-кода. Пример: |
{
"type": "add_info",
"title": "lifetime",
"data": "1500"
}
|
Время в секундах, в течение которого действителен QR-код. Пример: |
Далее представлен фрагмент оповещения с массивом display_data.
"display_data": [ { "type": "qr_data", "title": "qr_code_data", "data": "https://example.com" }, { "type": "add_info", "title": "lifetime", "data": "1500" } ]
Оповещение (callback)
В методе ELQR результат оплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения.
Вот пример тела оповещения с информацией об успешно выполненной оплате:
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "success",
"date": "2024-12-07T19:08:45+0000",
"method": "elqr",
"sum": {
"amount": 10000,
"currency": "KGS"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 47,
"type": "sale",
"status": "success",
"date": "2024-12-07T19:08:45+0000",
"created_date": "2024-12-07T19:08:05+0000",
"request_id": "1a23456bc7890de",
"sum_initial": {
"amount": 10000,
"currency": "KGS"
},
"sum_converted": {
"amount": 10000,
"currency": "KGS"
},
"code": "0",
"message": "Success",
"provider": {
"id": 12345,
"payment_id": "123abc123-123",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Вот пример тела оповещения с информацией об отклоненной оплате.
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "decline",
"date": "2024-12-07T19:08:45+0000",
"method": "elqr",
"sum": {
"amount": 10000,
"currency": "KGS"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 47,
"type": "sale",
"status": "decline",
"date": "2024-12-07T19:08:45+0000",
"created_date": "2024-12-07T19:08:05+0000",
"request_id": "1a23456bc7890de",
"sum_initial": {
"amount": 10000,
"currency": "KGS"
},
"sum_converted": {
"amount": 10000,
"currency": "KGS"
},
"code": "20000",
"message": "General decline",
"provider": {
"id": 12345,
"payment_id": "123abc123-123",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4XrUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}