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

UPI

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

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


Оплата

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

  1. Покупатель выбирает UPI в качестве способа оплаты на сайте торговца и указывает свой VPA (Virtual Payment Address).
  2. Торговец отправляет запрос оплаты в Overpay, указав VPA покупателя.
  3. Overpay возвращает торговцу статус оплаты: pending или failed.
  4. Покупатель получает запрос подтверждения оплаты в своем аккаунте приложения UPI.
  5. Покупатель подтверждает оплату в приложении UPI.
  6. Overpay высылает торговцу автоматическое уведомление со статусом 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. Торговец отправляет запрос оплаты в Overpay, указав VPA покупателя.
  3. Overpay возвращает торговцу ответ с тремя ссылками:

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

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

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

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.overpay.io/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://api.overpay.io/beyag/transactions/redirect/05482b9d-2ec9-4844-8763-55fc3195c9ef",
      "method": "GET",
      "fields": []
    }
  }
}