GH GambleHub

UPI Індія: QR, VPA та ліміти

1) Що таке UPI

Unified Payments Interface (UPI) - національна платіжна шина Індії, керована NPCI. Вона забезпечує миттєві перекази 24/7 між банківськими рахунками і фінтех-додатками (PSP). Для користувача і мерчанта UPI - це єдиний шар адресації (VPA), підтвердження (2FA) і клірингу, поверх якого будуються P2P і P2M-сценарії.

Ключові принципи:
  • Інтероперабельність: будь-які UPI-додатки ↔ будь-які банки/рахунки.
  • Адресація без реквізитів: VPA виду'ім'я @handle'замість IFSC/рахунку.
  • Миттєвість і фінальність: переклад підтверджується відразу; повернення - окремою операцією.
  • Низькі витрати для мерчанта: регулювання за MDR/схемами знижує вартість інкасації.

2) Учасники екосистеми

NPCI (схема/світч): роутинг, правила, сертифікація.
PSP-банки і non-bank PSP (Front-End Apps): клієнтські додатки (PhonePe, Google Pay, Paytm та ін.), SDK/APIs для мерчантів.
Acquirer/Issuer: банк-еквайєр мерчанта та банк-емітент платника.
Merchant PSP: провайдер прийому UPI для бізнесу (SDK, QR, Intent, reconciliation).

3) Ідентифікатори: VPA та реквізити

VPA (Virtual Payment Address) - основний ідентифікатор UPI: `user@psphandle` или `merchantname@acquirer`.

Особливості:
  • Прив'язується до банківського рахунку/ноді в UPI.
  • Може бути персональним (P2P) або мерчантським (P2M) з включеними реквізитами бізнесу.
  • Підтримує запит платежу (collect request), інвойси та метадані (orderId, purpose, MCC).

4) QR-платежі: статичний vs динамічний

Статичний QR

Містить VPA/handle мерчанта, іноді - фіксовані поля (MCC, назва).
Сума вводиться платником вручну (підходить для кафе/малого ритейлу).
Плюси: простота, друк один раз. Мінуси: ризики невірної суми, слабкіше аналітика.

Динамічний QR (per-order)

Генерується на кожен чек: включає суму, orderId, поле purpose, необов'язкові знижки, prop-мітки.
Скан → додаток платника відкриває інвойс з фіксованою сумою.
Плюси: менше помилок, простіше звірка, лояльність і антивозвратні докази.

Intent & Deep-Link Flow

Замість сканування додаток мерчанта запускає UPI-клієнт по deeplink/Intent URI, передаючи суму і метадані.
Зручно в e-commerce/додатках, дозволяє будувати рівний UX без камери.

5) Типові платіжні потоки

P2P (pull/push): переклад між користувачами по VPA/телефону/QR.
P2M (push): покупець ініціює оплату (scan/pay).
Collect Request (pull для мерчанта): мерчант виставляє запит, покупець підтверджує в своєму UPI-додатку.
AutoPay (e-mandate): підписка з передавторизацією ліміту і періодичності, дебет ініціюється за мандатом без ручного підтвердження кожну операцію (до ліміту).

6) Ліміти UPI: Як вони працюють

Ліміти визначаються правилами схеми, політиками RBI/NPCI, банками-емітентами і іноді - категорією мерчанта. Вони можуть відрізнятися по учасниках, ризиковому профілю і каналу.

Основні види лімітів:

1. Per-transaction cap (на операцію): «типове» значення для більшості retail-сценаріїв - до ~₹1,00,000 (1 лакх) на платіж; для окремих категорій вище/нижче.

2. Per-day cap (на добу): обмеження на сумарний обсяг/кількість операцій за платіжним додатком/банком.

3. Категорійні ліміти: для певних MCC (наприклад, інвестиції, освіта/медицина, квитки, комунальні) можуть діяти підвищені/окремі пороги.

4. Нові одержувачі/ризик-таймаути: при першому перекладі на новий VPA можливі знижені разові ліміти і витримка.

5. UPI Lite (офлайн-мікроплатежі): гаманець на пристрої/банку для дрібних офлайн-платежів; ліміти нижче звичайних UPI і задаються окремо (per-txn і денний).

6. AutoPay (e-mandate): ліміт на автоматичні списання без повторної автентифікації - фіксується в мандаті; для різних категорій - різні пороги.

7. Сценарні/канальні: intents/QR можуть мати власні валідації (анти-аб'юз, velocity).

💡 Практика: при проектуванні інтеграції закладайте конфігуровані ліміти і довідник по банках/PSP, не хардкодьте жорсткі суми. Показуйте користувачеві залишок ліміту в UX, особливо для AutoPay.

7) Безпека та автентифікація

2FA: підтвердження в UPI-додатку (PIN/біометрія) + зв'язка з пристроєм/сім-слотом/обліком.
Device binding: анти-фрод на рівні програми PSP.
Risk-політики в реальному часі: velocity-чек, санклист/шахрайські шаблони, перевірка імені одержувача (beneficiary name display).
UPI Lite і оффлайн: мікроліміти + delayed-постинг в ядро для зниження ризиків.

8) Тарифи та комісії (MDR)

Для UPI в роздрібному сегменті історично діють мінімальні MDR або нульові комісії для мерчантів в базових випадках. Можливі винятки за категоріями/інструментами (наприклад, UPI-прив'язані гаманці, корпоративні рішення, доп-сервіси PSP). При розрахунку юніт-економіки враховуйте:
  • абонплату/SDK fee за еквайринг UPI,
  • плату за доп. сервіси (динамічний QR, reconciliation API, анотації, звіти),
  • витрати на підтримку, диспути і повернення.

9) Повернення, часткові повернення і диспути (ODR)

Chargeback в картковому сенсі відсутній. Повернення - це нова кредитова операція від мерчанта платнику, з посиланням на вихідну транзакцію.
Partial refund підтримується (за сумою).
ODR (Online Dispute Resolution): стандартний процес врегулювання претензій в онлайні - статуси, SLA, причина відмови, докази (лог оплати, чек, товарна накладна).
Терміни: залежать від банку/PSP; закладайте в регламенти підтримки.

10) Інтеграція мерчанта: варіанти

1. Статичний UPI QR: мінімум розробки; добре для POS/SMB.
2. Динамічний UPI QR: сервер генерує QR на замовлення; краще вивірення суми/замовлення.
3. Intent/Deep Link: мобільний UX без камери; web checkout → «Відкрити UPI-додаток».
4. Collect (request-to-pay): мерчант ініціює «рахунок», клієнт підтверджує.
5. SDK/JS/Native: готові модулі PSP для Android/iOS/web з обробкою статусів.

Обов'язкові компоненти:
  • генерація платіжного payload (VPA/сума/мітки),
  • колбек-ендпоінт на успішну/неуспішну оплату,
  • reconciliation (звірка) по TID/RRN/UTR,
  • ручний/автоматичний refund,
  • моніторинг SLA PSP/банків.

11) Звірка і звітність (UTR, статуси)

UTR (Unique Transaction Reference) - унікальний ідентифікатор розрахунку в банківській рейці; зберігайте його для всіх операцій.
У звітах PSP: вихідні параметри (VPA, сума, orderId), статуси (initiated, pending, success, failure), пізні оновлення, повернення.
Обов'язковий щоденний auto-recon і періодичний full-recon (звід з банком/PSP).

12) Оффлайн і доступність без смартфона

UPI Lite (оффлайн мікроплатежі): для малих сум; транзакції підтверджуються без мережевого запиту, постинг - пізніше.
UPI 123PAY / IVR / feature-phone: оплата за номером/IVR-меню.
Tap-and-Pay (NFC-UPI): безконтактні сценарії там, де підтримано.

13) Крос-бордер (UPI Global)

UPI поступово інтегрується з іноземними рейками/країновими партнерствами (наприклад, сканування індійських UPI-QR туристами або індійцями за кордоном в партнерських мережах). Підтримка та ліміти залежать від пари країн/партнерів та банку-емітента.

14) Ризики, AML/KYC, комплаєнс

KYC рівні у PSP/банків впливають на ліміти.
AML/санкції: фільтри одержувачів/призначення, моніторинг аномалій.
Фрод-кейсинг: повернення коштів неможливе без згоди мерчанта → необхідна сувора верифікація замовлення (динамічний QR, чек, гео/девайс).
Правовий режим галузі: для окремих вертикалей діють обмеження (категорії MCC, ліцензування, геоблок в штатах/UT). Плануйте з юристами локальну допустимість прийому UPI для вашого виду бізнесу.

15) Проектування UX і best-practices

Поверхня помилок: явно показуйте таймер, інструкції і як повторити оплату.
Idempotency: 'orderId'+ ключ ідемпотентності для safe-повторів.
Fallback: якщо Intent не відкрився, запропонуйте QR і «копіювати VPA/суму».
Ліміти в інтерфейсі: попереджайте про перевищення і пропонуєте дроблення чеків там, де дозволено.
Надійність: ретраї по експоненті для статусу, webhooks + pull-API.
Прозорість: чек з UTR, сума, дата/час, VPA мерчанта, контакт підтримки.

16) Чек-лист інтеграції (P2M)

1. Отримати мерчантський VPA/handle у PSP.
2. Вибрати канал: статичний/динамічний QR, Intent, Collect.
3. Реалізувати генерацію payload і безпечні колбеки.
4. Увімкнути reconciliation по UTR/OrderId (daily + full).
5. Налаштувати повернення (часткові/повні), логи і ODR.
6. Ввести антифрод-правила (velocity, нові одержувачі, підсвічування high-risk MCC).
7. UI/UX: підказки, помилки, повтор, відображення лімітів.
8. Налагодити моніторинг SLA PSP/банків, алерти і звітність.
9. Провести end-to-end тести з реальними UPI-клієнтами.
10. Регулярно актуалізувати ліміти/правила (по банках/категоріях).

17) Картка лімітів (орієнтири для проектування)

💡 Значення служать для проектних орієнтирів; фактичні ліміти задаються банком/PSP/схемою і можуть відрізнятися.

Per-txn (роздріб): орієнтир до ~₹1,00,000.
Per-day: сумарний денний поріг по банку/додатку; задається локально.
UPI Lite: істотно нижче звичайного UPI (мікроплатежі).
AutoPay (e-mandate): ліміт на транзакцію без повторної 2FA - за мандатом/категорією.
Нові бенефіціари: знижені разові ліміти та/або затримки.
Категорії з підвищеними стелями: залежать від МСС/правил банку (приклад: освіта/медицина/квитки/інвестиційні сценарії - за погодженням).

18) Порівняння QR-стратегій для мерчанта

КритерійСтатичний QRДинамічний QRIntent/Deep Link
Помилки сумиВищеНизькіНизькі
ЗвіркаБазоваНайкраща (per-order)Найкраща (per-order)
UXПростоКращий для офлайнуКращий для онлайну
Витрати впровадженняМінімумСередніСередні
Антифрод-сигналиМенше контекстуБільше метаданихБільше метаданих

19) Що врахувати iGaming/високоризиковим вертикалям

Перевіряйте допустимість категорії у PSP/банку та відповідність локальному праву.
Очікуйте звужені ліміти і вимога розширеного KYC/ODR.
Розглядайте альтернативні рейки для депозиту/виведення і сувору сегментацію трафіку.

20) Архітектурні нотатки

Сервіс «UPI-Gateway» як мікросервіс:
  • endpoints: `createPaymentIntent`, `generateDynamicQR`, `refund`, `reconcile`, `webhook`.
  • ідемпотентність через ключі і таблицю dedupe.
  • черги подій (event bus) для статусів і бухгалтерії.
  • observability: метрики (успіх/відмови/латентність), трасування, алерти.
  • сек'юрність: HMAC-підписи вебхуків, allowlist IP PSP, secret rotation.

Резюме для продакшену

Робіть ставку на динамічний QR і/або Intent.
Не хардкодьте ліміти - конфіг + актуалізація по банках/PSP.
Включайте UTR-звірку, часткові повернення і ODR-флоу.
Покривайте UX сценаріями відмов, повторами і прозорими чеками.
Регулярно переглядайте політику лімітів і категорій разом з PSP.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Telegram
@Gamble_GC
Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.