GH GambleHub

Swish Швеция: мобайл-платежи

1) Что такое Swish

Swish — национальная шведская система мобильных A2A-платежей (оператор Getswish AB) с мгновенными переводами 24/7. Пользователь подтверждает операции через BankID (SCA). Поддерживаются сценарии P2P (на телефон), P2M для бизнеса (онлайн и офлайн), донаты и выплаты.

Ключевые свойства:
  • Адресация по номеру телефона (или мерчантскому номеру/QR), без IBAN в UX.
  • Мгновенное зачисление на банковский счет получателя; финальность банковского перевода.
  • Низкое трение: App2App/QR, подтверждение в BankID.
  • Широкое покрытие банков и высокая популярность в рознице/онлайне.

2) Роли и продукты

Getswish (схема) — правила, каталоги и бренд.
Банки-участники — выпускают/подключают Swish, применяют лимиты и антифрод.
PSP/эквайеры — подключают мерчантов (Swish Handel/Swish Företag), предоставляют API/SDK, отчеты, settlement.

Продукты:
  • Swish P2P — переводы между частными лицами.
  • Swish Företag — прием платежей в офлайне (витрина/POS).
  • Swish Handel (Swish for e-commerce) — онлайн-чекаут (QR/App2App/Link).
  • Swish Donations — короткие номера/алиасы для пожертвований.
  • Swish Payouts/Disbursements — массовые выплаты (через банк/PSP).

3) Потоки платежей

3.1 P2P (push)

1. Отправитель выбирает контакт по телефону → вводит сумму/сообщение.
2. Подтверждает в BankID (Face/Touch/код).
3. Получатель мгновенно видит кредит на счете и уведомление в приложении.

3.2 P2M: e-commerce (Swish Handel)

Два канала UX:
  • App2App/Deeplink: на чекауте открываем приложение Swish/BankID → подтверждение → возврат в мерчанта.
  • QR per-order: генерируется динамический QR (сумма, orderId, merchant reference); клиент сканирует камерой Swish → подтверждает в BankID.

3.3 POS/офлайн (Företag)

Динамический QR на кассе или статический Swish-номер (сумма вручную).
Подтверждение в BankID; чек — у мерчанта и в приложении клиента.

3.4 Request-to-Pay/Инвойсы

Мерчант отправляет платежную ссылку/запрос (в email/SMS/мессенджере); клиент подтверждает в BankID.

3.5 Выплаты (Payouts)

Бизнес отправляет клиенту денежный перевод на телефонный номер через банк/PSP; применяется антифрод и лимиты на исходящие.

4) Статусы и тайминги

Типовые статусы: `initiated` → `pending` → `success` / `failed` / `canceled` / `expired`.
Для веб-чекаута возможны задержки ответа приложения/BankID → держите таймауты и повтор статуса (polling + webhooks).
Settlement для мерчанта — банковский кредит в реальном времени/в ближайший операционный слот в зависимости от банка/PSP (для отчетности все равно делайте дневной recon).

5) Лимиты и риск-политики

Лимиты задают банки/PSP и они различаются по профилю и каналу:
  • Per-transaction, per-day/24h; иногда weekly/monthly.
  • Новый получатель/новый мерчант — пониженные пороги/выдержка.
  • Канальные лимиты: P2P, e-commerce (App2App/QR), POS, payouts.
  • Velocity/девайс/гео-правила и риск-скоринг на стороне банка.
💡 Практика: не «вшивайте» жесткие суммы. Ведите справочник лимитов по банкам/каналам, обновляйте; в UI показывайте ясную причину отказа («лимит банка/канала») и предлагайте альтернативы (разбить чек, другой метод).

6) Экономика и комиссии

Стоимость для мерчанта обычно ниже классического картового MDR, но условия зависят от банка/PSP (фикс/низкий процент, плата за QR/SDK/отчеты).
Заложите расходы на поддержку `pending/expired`, диспуты, recon и мониторинг SLA.

7) Возвраты и диспуты (ODR)

Chargeback как в картах отсутствует. Возврат — отдельная кредитовая операция от мерчанта клиенту (поддерживаются partial refunds).
Сроки — банковские (как правило T+0/T+1).
Диспуты — по процедурам банка/PSP: храните логи заказа, подтверждение оказания услуги/доставки, соответствие реквизитов клиента.

8) Безопасность и соответствие

SCA через BankID, device binding, проверка сим/устройства банком.
PII-минимизация: храните только необходимые атрибуты (телефон/референсы), шифруйте PII; доступ — по принципу наименьших привилегий.
Webhooks: HMAC/nonce, защита от replay, тайм-штампы и дедуп событий.
Соответствие PSD2/GDPR и локальным требованиям Finansinspektionen.

9) Интеграция мерчанта

Варианты

1. Hosted/Embedded от PSP — быстрый старт, App2App/QR из коробки, статусы и ошибки.
2. Server-to-Server + App2App/QR — собственный UX, динамический QR per-order, глубокая обработка ошибок/повторов.
3. Pay-by-Link/Invoice — отправка ссылки/запроса; удобно для сервисов и B2B.

Обязательные бэкенд-компоненты:
  • API: `createPayment`, `refund`, `requestToPay` (если доступно у PSP), `webhook`, `reconcile`.
  • Идемпотентность (`orderId` + ключ), экспоненциальные ретраи, дедуп событий.
  • Recon: daily auto-recon + периодический full-recon; хранить UTR/банковскую референцию.
  • SLA-дашборды: конверсия, `pending→success/expired`, латентность до зачисления.

10) Сверка и отчетность

Логируйте: `paymentId/transactionId` провайдера, `orderId`, канал (App2App/QR/Link/POS), номер получателя, статус, сумма/валюта, timestamp, UTR.
Из PSP/банка: реестры зачислений/возвратов/коррекции, поздние обновления статусов.
Включите алерты по рассинхронам и аномалиям (двойные списания, подвисшие `pending`).

11) UX-паттерны

Mobile-first: автопредложение App2App; на десктопе — крупный динамический QR с таймером.
Прозрачные ошибки: лимит, отказ BankID, таймаут; безопасный повтор и альтернатива (карта/SEPA/A2A другого провайдера).
Квитанция: сумма, время, `transactionId`, канал, UTR, контакты саппорта.
Таймер действия для QR/запросов и сценарий восстановления после истечения.

12) Рекуррент и мандаты

Базовый Swish — one-off с SCA. Для подписок применяют связку: первый платеж Swish → e-mandate/Autogiro/Open-Banking PIS для дальнейших списаний (лимит/периодичность/уведомления, экран управления мандатом).

13) Высокорисковые вертикали (включая iGaming)

Доступность каналов и лимиты зависят от политики банка/PSP и местного права.
Ожидайте сниженные пороги, расширенный KYC и возможные hold’ы.
Планируйте альтернативные рельсы (карты, SEPA, иные PIS) и smart-routing по риску/банку/каналу.

14) Архитектура «Swish Gateway»

API-слой (REST/GraphQL) для кассы и бэкофиса.
Очереди событий: статус-ивенты → биллинг/CRM/аналитика.
Security: vault для секретов, IP-allowlist PSP, строгая валидация redirect-URI, анти-replay токены.
Observability: конверсия по каналам (App2App/QR/POS/Link), доля `pending→expired`, время до settlement/возврата.

15) Чек-лист вывода в прод

1. Подключите PSP/банк со Swish Handel/Företag; согласуйте тарифы/SLA и каналы (App2App/QR/POS/Link).
2. Реализуйте `createPayment` + динамический QR/App2App, экраны ошибок/лимитов.
3. Подключите webhooks, идемпотентность, ретраи и дедуп событий.
4. Настройте recon (daily + full), хранение UTR/фин-референций.
5. Включите partial/full refunds и процедуры ODR.
6. Запустите SLA-дашборды и алерты по конверсии/латентности/подвисшим статусам.
7. Проведите e2e-тесты с основными банками/устройствами, POS (если актуально).


Карточка ориентиров по лимитам

💡 Реальные пороги задают банк/PSP и различаются по сценариям.

Per-txn / 24h / 7d: хранить в конфиге и проверять до запуска.
Новые получатели/мерчанты: пониженные пороги/выдержка.
Каналы: отдельные лимиты для P2P, e-commerce (App2App/QR), POS, payouts.
Velocity/риск: антифрод банка может мягко отклонять/замедлять операции.


Резюме

Для онлайна — App2App + динамический QR, для офлайна — QR/POS (Företag), для переводов — P2P на телефон.
Разделяйте онлайн-подтверждение и финальный кредит в бизнес-логике; стройте вокруг webhooks + recon и partial refunds.
Не фиксируйте суммы: поддерживайте конфиги лимитов по банкам/каналам с регулярной актуализацией.
Для подписок — связка первый Swish → мандат с прозрачным управлением и уведомлениями.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

Нажимая кнопку, вы соглашаетесь на обработку данных.