Оплата по QR-коду
Общая информация
Вы можете запросить у JetPay QR-код, чтобы пользователь по этому QR-коду мог перейти на страницу оплаты и оплатить. После того как пользователь откроет страницу оплаты, оплата будет проходить как описано в разделе Оплата с использованием Payment Page.
Шаги оплаты по QR-коду
Чтобы выполнить оплату с использованием QR-кода:
- Создайте и отправьте по URL-адресу
https://paymentpage.jetpay.kz/payment/generate-qrзапрос на оплату с использованием QR-кода. - Примите от платежной платформы ответ (response) в формате HTTP-сообщения с данными для отображения QR-кода пользователю.
- Примите от платежной платформы оповещение (callback) с результатом проведения оплаты.
Запрос
В запросе на создание QR-кода для отображения страницы оплаты укажите необходимые параметры:
|
||
|---|---|---|
| Параметр | Описание | |
|
project_id |
Идентификатор проекта, полученный от JetPay при интеграции. Пример: |
|
|
payment_id |
Идентификатор платежа, уникальный в рамках проекта. Пример: |
|
|
payment_currency |
Код валюты оплаты в формате ISO-4217 alpha-3. Пример: |
|
|
payment_amount |
Сумма оплаты в дробных единицах валюты без десятичной точки и пробелов за исключением случаев, когда у валюты нет дробной части. Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Коды валют. Пример: 100,00 KZT передается как |
|
|
customer_first_name |
Имя пользователя. Пример: |
|
|
customer_last_name |
Фамилия пользователя. Пример: |
|
|
customer_email |
Адрес электронной почты пользователя. Пример: |
|
|
customer_id |
Идентификатор пользователя, уникальный в рамках проекта. Пример: |
|
|
signature |
Подпись запроса, составленная после определения всех параметров запроса. Подробнее о составлении подписи см. Подписывание и проверка подписи. | |
| При необходимости добавьте в запрос необязательные параметры из числа доступных для работы с Payment Page. Подробнее о параметрах запросов в Payment Page см. Параметры открытия платежной страницы Payment Page. | ||
Вот пример параметров из запроса на оплату по QR-коду:
EPayWidget.run(
{
project_id: 123,
payment_id: 'payment_47',
customer_id: 'customer_123',
customer_first_name: 'John',
customer_last_name: 'Doe',
customer_email: 'johndoe@example.com',
payment_currency: 'KZT',
payment_amount: 10000,
signature: 'kUi2x9dKHAVNU0FYldJrxh4yo...UCwX6R\/ekpZhkIQg=='
}
)
Рис.: Пример GET-запроса на оплату по QR-коду
https://paymentpage.jetpay.kz/payment/generate-qr?payment_currency=KZT&language_code=ru&project_id=123&payment_amount=10000&customer_id=customer_123&payment_id=payment_47&signature=J5EVIByEojBn...etmdMozpECuRxOw%3D%3D
Ответ
После отправки запроса вы получите от платежной платформы ответ в формате HTTP-сообщения с данными для отображения QR-кода пользователю. Подробнее об ответах см. Ответ.
В ответе в параметре img_src содержатся данные в формате base64, которые надо преобразовать в изображение с QR-кодом. Разместите это изображение на странице своего сайта или мобильного приложения, чтобы пользователь мог его просканировать и выполнить оплату.
Рис.: Пример ответа с данными для преобразования в QR-код
{
"img_src": "data:image/png;base64,iVBORw0KGgoAAAC+CAIi...2zk8HAU1QkMAAAORK5CYII="
}
Оповещение (callback)
Результат оплаты платежная платформа возвращает в оповещении. Подробнее о структуре оповещений см. Оповещения (callbacks) в Payment Page.
Рис.: Пример тела оповещения об успешно выполненной оплате
{
"project_id": 123,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"method": "mobile",
"sum": {
"amount": 10000,
"currency": "KZT"
},
"description": ""
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 28,
"type": "sale",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"created_date": "2022-03-25T11:08:05+0000",
"request_id": "9e32835fb27907e0b085636c5117242b5cf60a4e17839",
"sum_initial": {
"amount": 10000,
"currency": "KZT"
},
"sum_converted": {
"amount": 10000,
"currency": "KZT"
},
"code": "0",
"message": "Success",
"provider": {
"id": 12345,
"payment_id": "123abc123-321",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhM...oB3cs9CRd4xeYG2Q=="
}