Оплата по 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==" }