Перейти к содержанию

QPay

Процесс проведения оплаты

Процесс проведения транзакции этим способом оплаты содержит следующие этапы:

  1. Торговец инициирует запрос на проведение оплаты, где указывает QPay как способ оплаты.
  2. bePaid направляет запрос провайдеру способа оплаты, который формирует ссылки на приложения мобильного банкинга или сервисов оплаты.
  3. bePaid высылает ответ с полученными ссылками и логотипами торговцу.
  4. Торговец на своем сайте или в приложении строит форму с логотипами банков или провайдеров платежных сервисов со ссылками на их приложения.
  5. Покупатель выбирает подходящий банк или сервис платежей и завершает оплату с помощью его приложения.
  6. После того, как оплата завершена, bePaid высылает торговцу автоматическое уведомление о данных и статусе транзакции.

Для этого альтернативного способа оплаты поддерживаются следующие типы транзакций:


Оплата

Запрос

Отправьте запрос на проведение оплаты со следующими дополнительными данными:

Параметр Тип данных Описание
method object Секция параметров способа оплаты.
type * обязательный
string q_pay
customer object Секция информации о покупателе.
device_id * обязательный
string Идентификатор покупателя в системе торговца.
Пример запроса на проведение оплаты
{
  "request":{
      "amount":200,
      "currency":"MNT",
      "description":"description",
      "test": true,
      "tracking_id":"your_unique_number",
      "language":"en",
      "notification_url":"https://example.com/notification",
      "return_url":"https://example.com/return",
      "customer":{
        "device_id": "123456789"
      },
      "method":{
        "type": "q_pay"
      }
  }
}
Ответ

Ответ на запрос оплаты будет дополнительно содержать секцию transaction.form со ссылками на приложения мобильного банкинга и сервисов платежей. Для того, чтобы покупатель мог выбрать подходящий банк или сервис платежей, постройте форму, используя следующие параметры ответа:

Параметр Тип данных Описание
transaction object Секция данных о транзакии.
form * required
object Секция элементов и атрибутов HTML-формы.
urls array Массив параметров приложений мобильного банкинга и сервисов платежей. Каждое приложение представлено отдельным элементом массива.
name * required
string Краткое или международное название банка или провайдера сервиса платежей.
description * required
string Полное название банка или провайдера сервиса платежей.
logo * required
string Логотип банка или провайдера сервиса платежей.
link * required
string Ссылка на приложение банка или провайдера сервиса платежей.

Info

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

Пример ответа на запрос на проведение оплаты
{
    "transaction": {
        "uid": "1234ccec-56c8-4356-8d53-b081b4a07230",
        "type": "payment",
        "status": "pending",
        "amount": 200,
        "currency": "MNT",
        "description": "description",
        "created_at": "2023-05-04T13:42:47Z",
        "updated_at": "2023-05-04T13:42:51Z",
        "method_type": "q_pay",
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/1234ccec-56c8-4356-8d53-b081b4a07230/735179255e5ff84e8b752f85452563c946f069bbb5cd0fc54541637a095354c0?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 1234,
            "ref_id": "f123456a-265b-4cd1-9823-2aa7123565fc",
            "message": "Transaction in progress"
        },
        "q_pay": {
            "type": "q_pay"
        },
        "customer": {
            "device_id": "123456789",
            "ip": null
        },
        "message": "Transaction in progress",
        "tracking_id": "your_unique_number",
        "test": true,
        "language": "en",
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "gateway": {
            "iframe": true
        },
        "form": {
            "urls": [
                {
                    "name":"Khan bank",
                    "description":"\u0425\u0430\u0430\u043D \u0431\u0430\u043D\u043A",
                    "logo":"{a logo URL}",
                    "link":"{an application deep link}"
                },
                {
                    "name":"State bank",
                    "description":"\u0422\u04E9\u0440\u0438\u0439\u043D \u0431\u0430\u043D\u043A",
                    "logo":"{a logo URL}",
                    "link":"{an application deep link}"
                }
            ]
        }
    }
}

Запрос статуса транзакции

Запрос

Если в запросе на проведение оплаты был передан параметр notification_url, система bePaid высылает вам автоматическое уведомление о статусе транзакции. Обратите внимание! bePaid может потребоваться некоторое время на получение подтверждения статуса транзакции от провайдера способа оплаты.

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

Пример запроса получения статуса транзакции
curl --location --request GET 'https://api.bepaid.by/beyag/transactions/1234ccec-56c8-4356-8d53-b081b4a07229' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic Shop ID: Secret key' \
--data-raw ''
Ответ

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

Пример ответа на запрос получения статуса транзакции
{
    "transaction": {
        "uid": "1234ccec-56c8-4356-8d53-b081b4a07230",
        "type": "payment",
        "status": "successful",
        "amount": 200,
        "currency": "MNT",
        "description": "description",
        "created_at": "2023-05-04T13:42:47Z",
        "updated_at": "2023-05-04T13:50:51Z",
        "method_type": "q_pay",
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/1234ccec-56c8-4356-8d53-b081b4a07230/735179255e5ff84e8b752f85452563c946f069bbb5cd0fc54541637a095354c0?language=en",
        "payment": {
            "status": "successful",
            "gateway_id": 1234,
            "ref_id": "f123456a-265b-4cd1-9823-2aa7123565fc",
            "message": "Transaction is successful"
        },
        "q_pay": {
            "type": "q_pay"
        },
        "customer": {
            "device_id": "123456789",
            "ip": null
        },
        "message": "Transaction is successful",
        "tracking_id": "your_unique_number",
        "test": true,
        "language": "en",
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        }
    }
}