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

UPI

Вариант интеграции QP

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


Оплата

Запрос

Info

Уточните поддерживаемые валюты и страны у аккаунт менеджера.

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

object
object
Секция параметров способа оплаты.
type
обязательный
string
upi
account
обязательный
string
Аккаунт в UPI.
object
Cекция информации о покупателе.
first_name
обязательный
string
Имя клиента.
last_name
обязательный
string
Фамилия клиента.
email
обязательный
string
Адрес электронной почты клиента.
Ответ

Секция upi из ответа на запрос будет иметь все те же параметры, что были присланы в запросе, а также один дополнительный параметр form с необходимыми параметрами, чтобы сформировать веб-форму для перехода на оплату.


Выплата средств

Запрос

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

object
object
Секция параметров способа выплаты.
type
обязательный
string
upi
account
обязательный
string
Аккаунт в UPI.
object
Секция информации о покупателе.
first_name
обязательный
string
Имя покупателя.
last_name
обязательный
string
Фамилия покупателя.
email
обязательный
string
Адрес электронной почты покупателя.
address
обязательный
string
Адрес покупателя.
phone
обязательный
string
10 цифр номера телефона покупателя без кода страны.
Ответ

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

Вариант интеграции PF

Для этого варианта интеграции поддерживается тип транзакций оплата:


Оплата

Описание процесса оплаты

  1. Покупатель выбирает UPI в качестве способа оплаты на сайте торговца и указывает свой VPA (Virtual Payment Address).
  2. Торговец отправляет запрос оплаты в MerchantPay, указав VPA покупателя.
  3. MerchantPay возвращает торговцу статус оплаты: pending или failed.
  4. Покупатель получает запрос подтверждения оплаты в своем аккаунте приложения UPI.
  5. Покупатель подтверждает оплату в приложении UPI.
  6. MerchantPay высылает торговцу автоматическое уведомление со статусом successful, failed или pending.
Запрос

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

object
object
Секция параметров способа оплаты.
type
обязательный
string
upi
account
обязательный
string
VPA/ UPI ID покупателя.
object
Секция информации о покупателе.
first_name
обязательный
string (30)
Имя покупателя.
last_name
обязательный
string(30)
Фамилия покупателя.
state
обязательный
string (2)
Штат покупателя. Укажите 2 последних символа из геокода формата ISO 3166-2.
city
обязательный
string
Город покупателя.
zip
обязательный
string (6)
Почтовый индекс покупателя.
address
обязательный
string (100)
Адрес покупателя.
phone
обязательный
string (14)
Номер телефона покупателя.
email
обязательный
string
Адрес электронной почты покупателя.
Пример запроса
{
    "request": {
        "amount": 10042,
        "currency": "INR",
        "description": "description",
        "test": false,
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "state": "KA",
            "city": "Bangalore",
            "zip": "560002",
            "address": "1st Street",
            "phone": "17777777777",
            "email": "user@example.com"
        },
        "method": {
            "type": "upi",
            "account": "1234"
        }
    }
}
Ответ

Секция upi в ответе будет содержать те же параметры, что и в запросе.

Вариант интеграции PF (QR)

Оплата

Описание процесса оплаты

  1. Покупатель выбирает UPI в качестве способа оплаты на сайте торговца и указывает свой VPA (Virtual Payment Address).
  2. Торговец отправляет запрос оплаты в MerchantPay, указав VPA покупателя.
  3. MerchantPay возвращает торговцу ответ с тремя ссылками:

    • ссылка на QR-код;
    • deeplink для перенаправления покупателя в приложение UPI;
    • ссылка на веб-страницу, где размещена и ссылка для перехода в приложение UPI, и QR-код.
  4. Торговец перенаправляет покупателя на одну из ссылок из ответа.

  5. Покупатель завершает оплату в приложении UPI.
  6. MerchantPay высылает торговцу автоматическое уведомление со статусом транзакции.
Запрос

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

object
return_url
обязательный
string
URL, на который будет перенаправлен покупатель после завершения транзакции в платёжной системе.
object
Секция параметров способа оплаты.
type
обязательный
string
upi_qr_deeplink
account
обязательный
string
VPA/ UPI ID покупателя.
object
Секция информации о покупателе.
first_name
обязательный
string
Имя покупателя.
last_name
обязательный
string
Фамилия покупателя.
state
обязательный
string (2)
Штат покупателя. Укажите 2 последних символа из геокода формата ISO 3166-2.
city
обязательный
string
Город покупателя.
zip
обязательный
string (6)
Почтовый индекс покупателя.
address
обязательный
string (100)
Адрес покупателя.
phone
обязательный
string (14)
Номер телефона покупателя.
email
обязательный
string
Адрес электронной почты покупателя.
Пример запроса
{
  "request": {
    "amount": 20000,
    "currency": "INR",
    "description": "description",
    "duplicate_check": false,
    "test": false,
    "expired_at": "2026-01-01T15:00:00+01:00",
    "tracking_id": "your_uniq_number",
    "ip": "127.0.0.1",
    "language": "en",
    "notification_url": "https://merchant.ltd/notification",
    "return_url": "https://merchant.ltd/return",
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "middle_name": "Mid",
      "country": "IN",
      "state": "KA",
      "city": "Bangalore",
      "zip": "560002",
      "address": "1st Street",
      "phone": "17777777777",
      "device_id": "12312312321fff67",
      "email": "example@example.com"
    },
    "method": {
      "account": "BE11-EF898-251F-A949",
      "type": "upi_qr_deeplink"
    }
  }
}
Ответ

Отправьте покупателя на один из следующих URL-адресов:

  • additional_data.payment_method.qr_code – чтобы отобразить покупателю QR-код для сканирования мобильным устройством;
  • additional_data.payment_method.deeplink – чтобы перенаправить покупателя в приложение UPI;
  • form.action – чтобы перенаправить покупателя на HTML страницу, где размещены и QR-код и кнопка перехода в приложение UPI.
Пример ответа
{
  "transaction": {
    "uid": "05482b9d-2ec9-4844-8763-55fc3195c9ef",
    "type": "payment",
    "status": "pending",
    "amount": 20000,
    "currency": "INR",
    "description": "description",
    "created_at": "2025-07-12T10:07:52Z",
    "updated_at": "2025-07-12T10:07:52Z",
    "method_type": "upi_qr_deeplink",
    "receipt_url": "https://backoffice.universepay.eu/customer/transactions/05482b9d-2ec9-4844-8763-55fc3195c9ef/27b5379b2b6796c4d9ef9f2d850000190fac077da124f4d8b14e370b4a737c27?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 5374,
      "ref_id": "178648809",
      "message": "Transaction was initialized"
    },
    "upi_qr_deeplink": {
      "type": "upi_qr_deeplink",
      "account": "BE11-EF898-251F-A949"
    },
    "customer": {
      "zip": "560002",
      "city": "Bangalore",
      "email": "example@example.com",
      "phone": "17777777777",
      "state": "KA",
      "address": "1st Street",
      "country": "IN",
      "device_id": "12312312321fff67",
      "last_name": "Doe",
      "first_name": "John",
      "middle_name": "Mid",
      "ip": "127.0.0.1"
    },
    "manually_corrected_at": null,
    "version": 1,
    "message": "Transaction was initialized",
    "tracking_id": "your_uniq_number",
    "test": false,
    "language": "en",
    "expired_at": "2026-01-01T14:00:00Z",
    "billing_address": {
      "zip": "560002",
      "city": "Bangalore",
      "email": "example@example.com",
      "phone": "17777777777",
      "state": "KA",
      "address": "1st Street",
      "country": "IN",
      "device_id": "12312312321fff67",
      "last_name": "Doe",
      "first_name": "John",
      "middle_name": "Mid"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative",
        "qr_code": "data:image/png;base64,",
        "deeplink": "upi:/"
      }
    },    
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "https://apm.universepay.eu/beyag/transactions/redirect/05482b9d-2ec9-4844-8763-55fc3195c9ef",
      "method": "GET",
      "fields": []
    }
  }
}

Вариант интеграции PO

Оплата

Описание процесса оплаты

  1. Покупатель инициирует UPI оплату на странице торговца.
  2. Торговец отправляет запрос оплаты в MerchantPay.
  3. MerchantPay возвращает торговцу ссылку на страницу оплаты.
  4. Торговец перенаправляет покупателя на страницу оплаты.
  5. Покупатель совершает оплату.
  6. MerchantPay высылает торговцу автоматическое уведомление.

Info

Этот вариант интеграции поддерживает только валюту INR.

Warning

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

Запрос

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

object
return_url
обязательный
string
URL, на который будет возвращен покупатель после завершения операции в платёжной системе.
ip
string
IP-адрес покупателя.
object
Секция параметров способа оплаты.
type
обязательный
string
upi
account
обязательный
string
UPI ID покупателя.
object
Секция информации о покупателе.
first_name
обязательный
string
Имя покупателя.
email
обязательный
string (100)
Адрес электронной почты покупателя.
phone
обязательный
string
Номер телефона покупателя.
country
string
Страна покупателя в формате ISO 3166-1 alpha-2.
city
string
Город покупателя.
address
string (100)
Адрес покупателя.
zip
string
Почтовый индекс покупателя.
device_id
string
Идентификационный номер устройства покупателя.
Пример запроса
{
    "request": {
        "amount": 5100,
        "currency": "INR",
        "description": "description",
        "test": false,
        "tracking_id": "your_uniq_number",
        "ip": "127.0.0.1",
        "language": "hi",
        "notification_url": "https://merchant.ltd/notification",
        "return_url": "https://merchant.ltd/return",
        "customer": {
            "first_name": "John",
            "email": "john@example.com",
            "phone": "17777777777",
            "country": "IN",
            "city": "Bangalore",
            "zip": "560002",
            "address": "1st Street",
            "device_id": "12312312321fff67"
        },
        "method": {
            "type": "upi",
            "account": "98798654"
        }
    }
}
Ответ

Ответ на запрос выплаты средств будет дополнительно содержать секцию form. Направьте покупателя на URL, переданный как значение параметра form.action.

Пример ответа
{
    "transaction": {
        "uid": "9dd7f79d-998e-4ac5-a0f1-9a77d9675d17",
        "type": "payment",
        "status": "pending",
        "amount": 5100,
        "currency": "INR",
        "description": "description",
        "created_at": "2025-10-31T12:06:05Z",
        "updated_at": "2025-10-31T12:06:09Z",
        "method_type": "upi",
        "receipt_url": "https://backoffice.universepay.eu/customer/transactions/9dd7f79d-998e-4ac5-a0f1-9a77d9675d17/13c43106d9f1bb575e350bcd6570da8a75e24ef7bbedf44f5a447ec8d8557412?language=hi",
        "payment": {
            "status": "pending",
            "gateway_id": 5875,
            "ref_id": "2025103106700000011",
            "message": "Transaction was initialized."
        },
        "upi": {
            "type": "upi"
        },
        "customer": {
            "zip": "560002",
            "city": "Bangalore",
            "email": "john@example.com",
            "phone": "17777777777",
            "address": "1st Street",
            "country": "IN",
            "device_id": "12312312321fff67",
            "first_name": "John",
            "ip": "127.0.0.1"
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized.",
        "tracking_id": "your_uniq_number",
        "test": false,
        "language": "hi",
        "billing_address": {
            "zip": "560002",
            "city": "Bangalore",
            "email": "john@example.com",
            "phone": "17777777777",
            "address": "1st Street",
            "country": "IN",
            "device_id": "12312312321fff67",
            "first_name": "John"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "payment-url",
            "fields": [],
            "method": "GET"
        }
    }
}