Оплата

При оплате пользователь при помощи мобильного приложения сканирует QR-код, который отображается на странице оплаты или в вашей системе (при работе через Gate).

Регионы использования Киргизия
Валюты оплаты KGS
Суммы платежей Информацию уточняйте у курирующего менеджера EtoPlatezhi. Также вы можете уточнить в Dashboard минимальную и максимальную сумму платежа, доступную в вашем проекте.
Время проведения платежа Информацию уточняйте у курирующего менеджера EtoPlatezhi.
Конвертация валют На стороне EtoPlatezhi
Возврат
Организация и стоимость подключения По согласованию с курирующим менеджером EtoPlatezhi

Основные операции

Интерфейсы
Payment Page Gate Dashboard
Оплата

Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.

Далее подробно рассказывается, что вам нужно делать для проведения платежа, а также о возможностях анализа уже проведенных платежей.

Оплата через Payment Page

Общая информация

Чтобы выполнить оплату через Payment Page с использованием метода ELQR:

  1. Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы EtoPlatezhi.
  2. Примите от платежной платформы EtoPlatezhi оповещение (callback) с результатом оплаты.

Полная схема оплаты через Payment Page выглядит следующим образом.



Рис. 1. Здесь описаны шаги оплаты через Payment Page
  1. Пользователь инициирует оплату в вашей системе.
  2. Ваша система передает запрос на оплату через Payment Page на URL-адрес платежной платформы EtoPlatezhi.
  3. Страница оплаты отображается пользователю.
  4. Пользователь выбирает на странице оплаты метод ELQR.
  5. Пользователю отображается QR-код для оплаты на странице оплаты.
  6. Пользователь выполняет оплату.
  7. Сервис провайдера оповещает платежную платформу о результате оплаты.
  8. Платежная платформа отправляет вашей системе оповещение (callback) о результате оплаты.
  9. Результат оплаты отображается пользователю на странице оплаты.

Запрос

В запросе на открытие страницы оплаты с использованием метода ELQR укажите необходимые параметры:

Табл. 1. Базовые параметры запроса в Payment Page

strictly required — параметр обязательно должен присутствовать в начальном запросе.

optional — параметр необязателен, но в общем случае его наличие в запросе способствует оптимизации проведения платежа, например упрощает процесс платежа для пользователя или повышает процент успешных платежей.

ПараметрОписание

project_id
integer
strictly required

Идентификатор проекта, полученный от EtoPlatezhi при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, уникальный в рамках проекта.

Пример: payment_47

customer_id
string
strictly required

Идентификатор пользователя, уникальный в рамках проекта.

Пример: customer_123

customer_email
string
strictly required

Адрес электронной почты пользователя.

Пример: johndoe@example.com

payment_currency
string
strictly required

Код валюты платежа в формате ISO-4217 alpha-3.

Пример: KGS

payment_amount
integer
strictly required

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

Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Использование дробных единиц валюты и Коды валют.

Пример: 100,00 KGS передается как 10000

force_payment_method
string
optional

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

Чтобы пропустить страницу выбора метода и принудительно выбрать ELQR в качестве платежного метода, добавьте в запрос параметр force_payment_method со значением elqr. (Подробнее о предварительном выборе метода см. Предварительный выбор платёжных методов.)

Пример: force_payment_method: 'elqr'

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Работа с подписью к данным.
При необходимости добавьте в запрос необязательные параметры из числа доступных для работы с 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 результат оплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения.

Вот пример тела оповещения с информацией об успешно выполненной оплате:

Рис. 2. Пример тела оповещения об успешно выполненной оплате
{
    "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=="
}

Вот пример тела оповещения с информацией об отклоненной оплате.

Рис. 3. Пример тела оповещения об отклоненной оплате
{
    "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:

  1. Отправьте запрос с нужными параметрами и подписью на рабочий URL-адрес платежной платформы EtoPlatezhi.
  2. Отобразите пользователю QR-код для оплаты.
  3. Примите от платежной платформы EtoPlatezhi оповещение (callback) с результатом оплаты.

Полная схема оплаты с использованием метода ELQR выглядит следующим образом.



Рис. 4. Здесь описаны шаги оплаты через Gate
  1. Пользователь инициирует оплату в вашей системе.
  2. Ваша система передает запрос на оплату в платежную платформу.
  3. Платежная платформа отправляет вашей системе ответ с информацией о получении запроса и о результате проверки его корректности. (Подробнее о структуре ответа см. Формат ответа.)
  4. Платежная платформа генерирует QR-код для отображения пользователю и отправляет этот QR-код вашей системе в массиве display_data.
  5. Ваша система отображает пользователю QR-код для оплаты.
  6. Пользователь выполняет оплату.
  7. Сервис провайдера оповещает платежную платформу о результате оплаты.
  8. Платежная платформа отправляет в вашу систему оповещение (callback) с результатом оплаты.
  9. Ваша система направляет пользователю информацию о результате оплаты.

Запрос

Далее представлена информация, необходимая для создания и отправки запроса на оплату с использованием метода ELQR.

HTTP-метод запроса POST
Формат тела запроса JSON
Конечная точка/v2/payment/qr/elqr/sale
Полная спецификация конечной точки /v2/payment/qr/{payment_method}/sale
Табл. 2. Базовые параметры запроса на оплату

strictly required — параметр обязательно должен присутствовать в начальном запросе.

optional — параметр необязателен, но в общем случае его наличие в запросе способствует оптимизации проведения платежа, например упрощает процесс платежа для пользователя или повышает процент успешных платежей.

ОбъектПараметрОписание

general
object
strictly required

project_id
integer
strictly required

Идентификатор проекта, полученный от EtoPlatezhi при интеграции.

Пример: 1234

payment_id
string
strictly required

Идентификатор платежа, уникальный в рамках проекта.

Пример: payment_47

signature
string
strictly required

Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Использование подписи к данным.

customer
object
strictly required

id
string
strictly required

Идентификатор пользователя, уникальный в рамках проекта.

Пример: customer_123

ip_address
string
strictly required

IP-адрес устройства пользователя.

Пример: 198.51.100.47

email
string
strictly required

Адрес электронной почты пользователя.

Пример: johndoe@example.com

payment
object
strictly required

currency
string
strictly required

Код валюты платежа в формате ISO-4217 alpha-3.

Пример: KGS

amount
integer
strictly required

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

Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Использование дробных единиц валюты и Коды валют.

Пример: 100,00 KGS передается как 10000

description
string
optional

Описание или комментарий к операции.

Пример: Описание операции.

return_url
object
optional

success
string
optional

URL-адрес, на который нужно перенаправить пользователя в случае успешного завершения оплаты.

Пример: https://example.com/success/

decline
string
optional

URL-адрес, на который нужно перенаправить пользователя в случае отклонения оплаты.

Пример: https://example.com/decline/

return
string
optional

URL-адрес, куда нужно перенаправить пользователя в случае прерывания оплаты пользователем до ее завершения. Этот же адрес используется, если не заданы параметры success и decline. Если не задан ни один из параметров объекта return_url, то Gate по умолчанию перенаправляет пользователя по URL-адресу, указанному в вашем проекте в EtoPlatezhi.

Пример: https://example.com/return/

При необходимости добавьте в запрос необязательные параметры, указанные в спецификации Gate: API Reference.

Вот пример тела запроса на оплату с использованием метода ELQR:

Рис. 5. Пример тела запроса на оплату
{
    "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.

Табл. 3. Состав массива display_data
Элемент Описание
{
    "type": "qr_data",
    "title": "qr_code_data",
    "data": "https://example.com"
}
Данные для отображения QR-кода.

Пример: https://example.com

{
    "type": "add_info",
    "title": "lifetime",
    "data": "1500"
}
Время в секундах, в течение которого действителен QR-код.

Пример: 1500

Далее представлен фрагмент оповещения с массивом display_data.

"display_data": [
    {
        "type": "qr_data",
        "title": "qr_code_data",
        "data": "https://example.com"
    },
    {
        "type": "add_info",
        "title": "lifetime",
        "data": "1500"
    }
]

Оповещение (callback)

В методе ELQR результат оплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения.

Вот пример тела оповещения с информацией об успешно выполненной оплате:

Рис. 6. Пример тела оповещения об успешно выполненной оплате
{
    "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=="
}

Вот пример тела оповещения с информацией об отклоненной оплате.

Рис. 7. Пример тела оповещения об отклоненной оплате
{
    "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=="
}