Bizum Испания: мгновенные переводы
1) Контекст и позиционирование Bizum
Bizum — испанская межбанковская схема мгновенных переводов и платежей, встроенная в приложения местных банков. Работает 24/7, охватывает P2P (на номер телефона), P2M (оплата в e-commerce/офлайне), а также пожертвования/донаты и счета к оплате. Подтверждение выполняется в банковском приложении (SCA/PSD2), средства движутся по банковским рельсам с немедленной авторизацией и быстрым зачислением.
Ключевые свойства:- Адресация по телефону (alias), без IBAN в UX.
- Мгновенность и финальность кредитового перевода (chargeback как в картах отсутствует).
- P2M: оплатa на сайте, в приложении, в офлайне (QR/код Bizum).
- Request-to-Pay: «запрос денег» контактам или клиентам.
2) Участники и роли
Схема Bizum/межбанковский свитч — правила, роутинг, каталоги участников.
Банки-эмитенты — мобильные приложения, SCA, антифрод и лимиты.
PSP/эквайеры — подключение мерчанта к Bizum P2M, API/SDK, отчетность и расчеты.
Мерчант — инициирует платеж/запрос, обрабатывает статусы, ведет возвраты и сверку.
Плательщик/получатель — подтверждает операции в приложении банка.
3) Режимы и пользовательские сценарии
3.1 P2P «на телефон»
Отправитель выбирает контакт (номер телефона) → вводит сумму → подтверждает в своем банковском приложении → получатель видит мгновенный кредит на счете.
Для новых получателей возможны пониженные пороги/доп. проверки.
3.2 P2M (оплата мерчанту)
E-commerce: на кассе вводится номер телефона Bizum, либо открывается банковское приложение по deeplink; подтверждение — push/SCA.
Офлайн/QR: динамический QR per-order (сумма + orderId), сканирование в банковском приложении → подтверждение → онлайн-статус мерчанту.
Код Bizum: мерчант может показывать краткий код/alias для оплаты в точке продаж.
3.3 Request-to-Pay / Инвойсы
Мерчант формирует запрос на оплату (сумма/назначение/срок действия) → клиент подтверждает в своем банковском приложении → средства зачисляются как обычный Bizum-перевод.
3.4 Донаты и счета к оплате
Поддерживаются короткие коды/alias для благотворительности и коммунальных/мелких платежей.
4) Статусы
`initiated` → `pending` (ожидается подтверждение/ответ банка) → `success` / `failed` / `canceled` / `expired`.
Для запросов — дополнительные состояния `requested` / `expired`.
5) Лимиты и риск-политики
Единого «сверхсхемного» потолка нет: лимиты задают банки и/или PSP, часто зависят от KYC-уровня, истории и канала.
Per-transaction, per-day/24h, иногда weekly/monthly.
Новый получатель/мерчант — сниженные пороги, выдержка или подтверждение.
Канал/сценарий: отдельные лимиты для P2P, P2M (web/app/QR), Request-to-Pay.
Velocity/девайс/гео-правила на стороне банка.
6) Экономика и комиссии
Для мерчанта Bizum обычно дешевле картового MDR, но условия зависят от PSP/банка.
Планируйте расходы на интеграцию/SDK, обработку `pending/expired`, поддержку/ODR и recon.
7) Возвраты и диспуты
Chargeback (как в картах) отсутствует для A2A. Возврат — новая кредитовая операция от мерчанта к плательщику (поддерживаются partial refunds).
Сроки — банковские (часто T+0/T+1).
Диспуты/жалобы — через процедуры PSP и банк; готовьте логи заказа, подтверждения и коммуникацию с клиентом.
8) Безопасность и соответствие
PSD2/SCA в банковском приложении: PIN/биометрия, device binding, risk-based аутентификация у банка.
PII-минимизация: храните только необходимые атрибуты (телефон/рефы), шифруйте PII, ограничивайте доступ.
Webhooks: HMAC/nonce, защита от replay, журнал аудита и ретраи.
9) Интеграция мерчанта
Варианты
1. Hosted/Embedded от PSP — быстрый старт: формы Bizum, статусы, ошибки из коробки.
2. Server-to-Server + App2App/QR — собственный UX, динамический QR per-order, глубокая обработка ошибок.
3. Pay-by-Link / Request-to-Pay — счет по ссылке (email/SMS/мессенджер), подтверждение в банке.
- API: `createPayment`, `requestToPay`, `refund`, `webhook`, `reconcile`.
- Идемпотентность (`orderId` + ключ), экспоненциальные ретраи, дедуп событий.
- Recon: daily auto-recon + периодический full-recon; хранение UTR/фин-референций.
- SLA-дашборды: конверсия, `pending→success/expired`, латентность до зачисления.
10) Сверка и отчетность
Логируйте: `paymentId/transactionId`, `orderId`, канал (P2P/P2M/QR/App2App/Request), банк плательщика, статус, сумма/валюта, timestamp, UTR/банковская ссылка.
От PSP: реестры по зачислениям/возвратам/коррекциям, поздние обновления статусов.
11) UX-паттерны
Mobile-first: для мобайла — App2App; для десктопа — динамический QR.
Прозрачные ошибки: лимит, таймаут, отказ SCA; безопасный повтор + альтернатива (карта/SEPA/другой A2A).
Квитанция: сумма, время, `transactionId`, канал, UTR, контакты поддержки.
Срок действия запроса/QR: показывайте таймер и сценарий восстановления.
12) Рекуррент и мандаты
Базовый Bizum — one-off с SCA. Для подписок используют связку: первый платеж Bizum → e-mandate/SEPA DD/Open-Banking для последующих списаний (лимит/периодичность/уведомления, экран управления мандатом).
13) Высокорисковые вертикали (включая iGaming)
Доступность/лимиты зависят от политики банков/PSP и местного права.
Ожидайте пониженные пороги, усиленный KYC, возможные hold’ы.
Планируйте альтернативные рельсы (карты, SEPA, другие PIS) и smart-routing по риску.
14) Архитектура «Bizum Gateway»
API-слой (REST/GraphQL) для кассы и бэкофиса.
Очереди событий: статус-ивенты → биллинг/CRM/аналитика.
Security: vault для секретов, IP-allowlist PSP, строгая валидация redirect-URI, анти-replay токены.
Observability: метрики по каналам (App2App/QR/Request), `pending→success/expired`, время до settlement.
15) Чек-лист вывода в прод
1. Подпишите канал Bizum у PSP/банка; выберите каналы (App2App/QR/Request).
2. Реализуйте `createPayment`/`requestToPay`, динамический QR, экраны ошибок/лимитов.
3. Подключите webhooks, идемпотентность, ретраи и дедуп событий.
4. Настройте recon (daily + full), хранение UTR/фин-референций.
5. Поддержите partial/full refunds и процедуры ODR.
6. Запустите SLA-дашборды и алерты по конверсии/латентности.
7. Проведите e2e-тесты с основными банками/устройствами.
Карточка ориентиров по лимитам
Per-txn / 24h / 7d: хранить в конфиге, проверять до запуска.
Новые получатели/мерчанты: пониженные пороги/выдержка.
Каналы: отдельные лимиты для P2P, P2M (web/app/QR), Request-to-Pay.
Velocity/риск: антифрод банка может мягко отклонять/замедлять операции.
Резюме
Для онлайна — App2App + динамический QR, для офлайна — QR/код Bizum, для переводов — P2P по номеру.
Разделяйте онлайн-подтверждение и финальный кредит в логике; стройте вокруг webhooks + recon и partial refunds.
Не фиксируйте суммы: поддерживайте конфиги лимитов по банкам/каналам и регулярно обновляйте.
Для подписок — связка первый Bizum → мандат с прозрачным управлением и уведомлениями.