Bancontact Бельгія: карти та A2A
1) Екосистема: Bancontact и Payconiq
Bancontact - національна белгійська схема безготівкових платежів з сильною картковою компонентою (дебетові картки, часто co-badge з Maestro/Debit Mastercard) і підтримкою e-commerce/POS/NFC.
Payconiq by Bancontact - шар А2А/мобільних платежів (QR/App2App/P2P «на телефон»), широко використовуваний в онлайні та офлайні.
- Дві рейки: картковий (card rails) і банківський A2A (Payconiq).
- Єдиний бренд на касі: логотип Bancontact/Payconiq впізнаваний і звичний користувачеві.
- SCA/PSD2: підтвердження в банку/додатку, низький фрод.
- Миттєві підтвердження в онлайні та швидкі розрахунки (див. нижче).
2) Ролі та учасники
Схема Bancontact/Payconiq: правила, сертифікація, роутинг.
Issuer (банк платника): емітент картки та/або акаунту Payconiq, ліміти та антифрод.
Acquirer/PSP: підключає мерчанта (карта/А2А), дає API/SDK, звіти та розрахунки.
Мерчант: ініціює платіж, обробляє статуси/повернення, веде звірку.
3) Канали і флоу
3. 1 Картка Bancontact (POS/e-commerce/NFC)
POS/NFC: класичний дебетовий платіж по терміналу; офлайн/онлайн авторизація за налаштуваннями емітента.
E-commerce (CNP): хостед-сторінка/віджет PSP, підтвердження по SCA (3DS-подібний флоу).
Co-badge: при наявності міжнародного додатку (Maestro/Debit MC) термінал/PSP вибирає маршрут.
3. 2 Payconiq (A2A: QR/App2App/Link)
QR per-order: мерчант генерує динамічний QR (сума + orderId); користувач сканує додатком Payconiq/банку → підтверджує → мерчант отримує онлайн-статус.
App2App/Deeplink: з веб/додатка мерчанта відкривається банківський додаток відразу на платежі.
Pay-by-Link: інвойс/посилання в email/SMS/месенджері.
P2P «на телефон»: перекази між користувачами за номером контакту.
3. 3 Офлайн-сценарії
Статичний QR (рідко для мерчантів) - сума вручну, зручний для донатів/мікроплатежів.
SoftPOS: прийом карт/Payconiq на смартфонах (де підтримано).
4) Ліміти та поведінка банків
Ліміти задають емітенти (банк/додаток) і PSP (для payout/ризику):- Per-transaction/per-day/week для карти і окремо для Payconiq.
- Новий одержувач/новий мерчант - знижені пороги/витримка.
- Канальні/velocity-правила: мобільний vs веб, гео/девайс, частота операцій.
- P2P/QR/NFC можуть мати окремі мікроліміти.
5) Статуси та розрахунки
Картки (Bancontact card)
Онлайн-статус: `authorized/approved`, `declined`, `referred`, `timeout`.
Settlement: зазвичай T + 1/T + 2 банківських днів через еквайєри; можливі коригування/реверсали.
Chargeback: доступний за картковими правилами (терміни/коди, докази).
Payconiq (A2A)
Онлайн-статус: `success`, `pending`, `failed`, `canceled`, `expired`.
Settlement: швидкий банківський кредит (часто T + 0/T + 1, залежить від банку/PSP).
Chargeback відсутній: повернення - нова кредитова операція мерчанта платнику (підтримуються partial refunds).
6) Тарифи та економіка
Картова рейка: фікс/відсоток MDR еквайєру + 3DS/SCA-витрати у PSP.
Payconiq (A2A): зазвичай нижче карткових MDR; можливі збори за QR/віджети/звітність.
Закладіть вартість підтримки/ODR, роботу з'pending/expired'і recon.
7) Повернення і диспути
Карта: chargeback-процедури за картковими правилами; зберігайте proof-of-delivery/послуги, журнали SCA.
A2A: чарджбека немає, робіть refund (full/partial) як окрему операцію; терміни T + 0/T + 1/T + 2 залежно від банку.
8) Безпека та комплаєнс
PSD2/SCA в банку/додатку; device binding і антифрод емітента.
PII-мінімізація, шифрування веб-хуків, HMAC/nonce, захист від replay, журнал аудиту.
GDPR: прозорість зберігання і видалення даних за запитом (DSAR).
9) UX-патерни
Smart-routing: за замовчуванням пропонуйте Payconiq (A2A) для низької комісії; fallback - карта.
Mobile-first: при мобільному трафіку - App2App; на десктопі - QR/redirect.
Чеки: сума, дата/час,'transactionId', канал (Card/Payconiq), UTR/референція, контакти саппорту.
Ідемпотентність: 'orderId'+ ключ, безпечні повтори при таймаутах.
Recovery: при'pending/expired'- одна кнопка повтору, альтернатива методу.
10) Інтеграція мерчанта
Варіанти
1. Hosted/Embedded від PSP (карта + Payconiq): швидкий старт, готові віджети, статуси і помилки.
2. Server-to-Server + Redirect/App2App/QR: повний контроль UX, власний вибір каналу, динамічний QR per-order.
3. Pay-by-Link/Invoice: рахунок по email/SMS/месенджеру (особливо для В2В/сервісів).
4. POS/SoftPOS: прийом карт/NFC і Payconiq-QR в роздробі.
- API: `createPayment`, `refund`, `webhook`, `queryStatus`, `reconcile`.
- Webhooks (HMAC, ретраї, дедуп), таблиця ідемпотентності.
- Recon: daily auto-recon + періодичний full-recon; зберігання UTR/фін-референцій.
- Дашборди SLA: конверсія по каналах, «pending→success/expired», латентність до settlement.
11) Рекуррент і мандати
Карта: класичний токенізований дебет (network tokens/COF) з SCA на першому платежі + MIT.
A2A: через e-mandate/SEPA DD/open-banking мандати: перший платіж → мандат на наступні списання (ліміт/періодичність/повідомлення).
12) Високоризикові вертикалі (включаючи iGaming)
У Бельгії сувора регуляція: доступність каналів і ліміти залежать від PSP/банку і локального права.
Очікуйте знижені ліміти, розширений КУС/моніторинг, можливі hold'и.
Плануйте альтернативні рейки (карта, SEPA, інші PIS) і маршрутизацію за ризиковим профілем.
13) Архітектура «Bancontact/Payconiq Gateway»
API-шар (REST/GraphQL) для каси і back-office.
Черги подій: статус-івенти → білінг/CRM/аналітика.
Security: vault для секретів, IP-allowlist PSP, сувора валідація redirect-URI, анти-replay.
Надійність: експоненціальні ретраї, DLQ для нестабільних статусів, ідемпотентність.
Дані: каталоги банків/лімітів/кодів помилок; журнал ODR і карта мандатів.
14) Чек-лист виведення в прод
1. Виберіть PSP з підтримкою карта + Payconiq; узгодьте тарифи/SLA.
2. Реалізуйте'createPayment'з вибором каналу, App2App/QR для мобайлу/офлайну.
3. Підключіть webhooks, таймаути, повтори та ідемпотентність.
4. Налаштуйте recon (daily + full), зберігання UTR/фін-референцій.
5. Підтримайте partial/full refunds, ODR-процедури в саппорті.
6. Увімкніть smart-routing (A2A пріоритетно, карта - fallback), алерти по конверсії/латентності.
7. Покрийте e2e-тестами банки/мобільні платформи/POS.
Картка орієнтирів
Статуси карта: `authorized/approved`, `declined`, `timeout`.
Статуси A2A: `success`, `pending`, `failed`, `canceled`, `expired`.
Settlement: карта T + 1/T + 2, A2A часто T + 0/T + 1.
Ліміти: per-txn/day/week; для нових одержувачів - знижені пороги.
Рекурент: карта (COF/MIT) або A2A через e-mandate/SEPA DD.
Резюме
Рушій каси будуємо на двох рейках: Payconiq-A2A для низької вартості і картка Bancontact як універсальний fallback.
Поділяємо онлайн-підтвердження і settlement в бізнес-логіці, включаємо partial refunds і чіткий ODR.
Не фіксуємо суми: підтримуємо конфіги лімітів по банках/каналах і регулярну актуалізацію.
Для мобайлу - App2App/QR, для роздробу - NFC + динамічний QR, для підписок - перший платіж → мандат.