POLi мобильді казино қосымшаларына біріктіру


1) Контекст және шектеулер

POLi функционалы: тек депозиттер; шығару - өзге әдістер арқылы (банк-трансфер/карта/әмиян).
Юрисдикциялар:
  • Австралия: POLi операциялары тоқтатылды (қыркүйек 2023); AU резиденттері үшін онлайн-казино/слоттар тыйым салынған (IGA 2001).
  • Жаңа Зеландия: POLi лицензияланған алаңдарда қол жетімді; ұтқыр интеграция релевантты.
  • Қорытынды: төменде - пайдалануға рұқсат етілген нарықтар үшін техникалық схема (NZ және өзге де заңды юрисдикциялар).

2) Қосудың сәулеттік нұсқалары

A. Redirect/Hosted Payment Page (HPP) - базалық стандарт

Клиент → касса төлем сессиясын жасайды → банкке редирект (браузер/банк-қосымша) → 'return _ url' бойынша қайтару → вебхук/поллинг арқылы растау.
Артықшылықтары: ең төменгі PCI-талаптар, тұрақты модель, тәуекелдер аз.
Кемшіліктері: app-switch және қайтарымды deeplink дұрыс өңдеуге байланысты.

B. server-to-Server + redirect (гибрид)

Сервер POLi провайдерінде төлем жасайды, ұялы клиент тек редиректті бастайды; қорытынды күйі вебхукпен келеді.
Артықшылықтары: айқын реконциляция, ыңғайлы ретра, бэкендегі теңсіздік.
Кемшіліктер: көбірек сервер логикасы.

💡Редакторсыз толық «таза API» тиімді емес: банктік аутентификация банкке көшуді талап етеді.

3) Пайдаланушы ағыны (mobile UX)

1. Kassa → POLi таңдау.
2. Соманы енгізу → төлем сессиясын құру (txn\_ id, state/nonce, өмір сүру мерзімі).
3. App-switch: банкті (немесе интернет-банкпен шолғышты) ашамыз.
4. Банктегі логин/2FA → аударымды растау.
5. 'return _ url '/deeplink бойынша нәтиже экранына қайтару.
6. Бэкенд вебхук алады және депозитті аяқтайды; клиент 'txn _ id' (pull-растау) бойынша веб-хук кідірген жағдайда мәртебесін сұрайды.

4) iOS-ерекшелігі

Браузер қадамы үшін ASWebAuthenticationSession немесе SFSafariViewController пайдаланыңыз; тікелей WKWebView cookie/редакторлар үшін сирек сәйкес келеді.
Universal Links для `return_url`; 'scene (_: continue:)' дегенді өңдеу.
Сессияның таймауттары 10 минуттан ≥, фондық режим міндетті емес, бірақ кассаның жай-күйін сақтау міндетті.
Егер банк жеке қосымша ретінде ашылса, қайтару кезінде достық back-to-app сценарийін және мәртебені қайта алуды қамтамасыз етіңіз.

5) Android ерекшелігі

Веб-ағын үшін Custom Tabs; банк-қосымшалар үшін - intent filters және 'return _ url' үшін тексерілген App Links.
Нәтижені өңдеу - deeplink-активиттер арқылы; 'onResume ()' күйінде қайта сұраңыз.
Төлем күйін 'Activity' бағдарламасында сақтамаңыз; Конфигурациялық өзгерістерді бастан кешетін ViewModel/репозиторийді пайдаланыңыз.
Банк/бағдарлама қол жетімді болмаған жағдайда жүйелік шолғышқа фолбэк.

6) Интеграция қауіпсіздігі

TLS барлық жерде, қорғалмаған протоколдарға тыйым салынған. iOS ATS/Android Network Security Config - қосылған.
CSRF/Replay-қорғау: бір рет пайдаланылатын 'state '/' nonce', қайтару бойынша салыстыру.
Сәйкестік: төлем жасауға idempotency-key; вебхаттарды қайта өңдеу - қауіпсіз.
Вебхактар: қолтаңба, белгіленген шығыс IP (егер қол жетімді болса), экспоненциалды үзілісі бар ретралар, event\_ id бойынша дедупликация.
Логи: банктік логиндерді/ТБТ логиндемеңіз; PII жасырыңыз; 'txn _ id', қайта құру/қайтару уақыты, мәртебе кодтары.
Root/Jailbreak-сигналдары: жұмсақ ескерту және бизнес-ережелер бойынша тәуекелі жоғары операциялар блогы.
Қайтарылатын URL-лерді қорғау: провайдер мен бағдарлама жағындағы 'return _ url' ақ тізімі.

7) Мәртебелерді өңдеу және қате төзімділік

Статусы: `processing` → `succeeded`/`failed`/`unknown`.
Егер пайдаланушы банкті/шолғышты жапса, «Төлеуді жалғастыру/Басқа әдісті таңдау» экранын көрсетіңіз.
'unknown' кезінде: ойыншыны бұғаттамаңыз - тапсырысты «күтуде» ұстаңыз, бэкендтен қайта сұраңыз, вебхукті күтіңіз.
Қате кодтарын стандарттаңыз (банк қол жетімді емес, лимит, аутентификация, пайдаланушының күшін жою, таймаут).
Бөлшек растауларды ескеріңіз (банк есептен шығарды, мерчант әлі жаңартылмаған) - мұны UI-де түсіндіріңіз.

8) Қайта құру және қаржы

Күнделікті салыстыру: POLi провайдерінің есептері ('merchant _ ref', сома, валюта, уақыт бойынша).
«Рассинхрондарға» жеке кезек; қол кейстері - туллингтің бек-офисіне.
«Депозитке» бонустар үшін - 'succeeded'; 'processing '/' unknown' үшін - hold.

9) UX-кассалық практика (mobile-first)

Көрінетін прогресс жолағы мен таймер «Банк сеансы аяқталады»....
«Банкке өту», «Растады - бағдарламаға оралу» түймешіктеріндегі нақты көшірме.
Нақты сомалар/валюта, лимиттердің редиректорға дейін дереу валидациясы.
Депозиттің жоба нұсқасын сақтау; бағдарламаны қалпына келтіру кезінде сессияны қайта ашу.
Қол жетімділік: VoiceOver/TalkBack-лейблдері, жеткілікті қарама-қарсылық, Dynamic Type/FontScale.

10) Лимиттер, KYC/AML, жауапкершілік

Лимиттерді POLi емес, банк пен оператор қояды; төлем басталғанға дейін қол жетімді ауқымды көрсетіңіз.
KYC/AML әдісіне тәуелді емес - көлемді/жиілікті тексеру бірдей іске қосылады; жоғары тәуекелдер - қолмен тексеру.
Жауапты ойын саясаты: депозит/үзіліс лимиттері POLi кезінде де қол жетімді; кассадағы лимиттерді басқаруға арналған жедел сілтемелерді қосыңыз.

11) Өңірлік ерекшеліктер мен фичефлагтар

AU: ficheflags/bild деңгейінде POLi өшіріңіз; Дисклеймерді көрсетіңіз (қызмет қол жетімді емес; онлайн казино тыйым салынған).
NZ: POLi рұқсат ету; банктердің/лимиттердің тізімін конфигурациядан тарту (remote config).
Геофенсинг, валюта/форматтарды оқшаулау, ел бойынша серверлік allow-lists мерчанттары.

12) Тест-матрица және QA

Банктер: әрбір ірі банкке кемінде бір кейс және 2FA (SMS, пуш, токен) типтері бойынша.
Платформалар: iOS/Android, өзекті мажорлық нұсқалар, қараңғы/ашық тақырып, әртүрлі жергілікті/тілдер.
Жаңылыс сценарийлері: банкте болдырмау, өтіп кеткен сессия, желі үзілісі, webview жабылуы, дұрыс емес deeplink, вебхук қайталануы.
Жүктеме: ең жоғары сағаттар, вебхуктардың кідіруі, жаппай ретрациялар.

13) Мониторинг және операциялық

Өлшемдері: кассаның конверсиясы, CTR «Банкке өту», орташа 'time-to-funds', үлесі 'unknown', вебхук ретрайлерінің жиілігі, себептері бойынша банктен бас тарту.
Алерттар: вебхуктардың таймауты, бір банкадан 'failed' өрісі, 'unknown'> шегі.
Оқиғаның ранбуки: әдістердің басымдығын ауыстыру, пайдаланушыларға хабарлау, форс-поллинг, пост-мортем.

14) Интеграция не істемейді

Қаражат шығысы қосылмайды.
Банктің немесе оператордың лимиттерін айналып өтпейді.
KYC/AML және жауапты ойын процедураларын алмастырмайды.

Жиынтық

POLi-ді мобильді қосымшаларға біріктіру қауіпсіз redirect/HPP айналасында құрылады, дұрыс app-switch, қайтарылатын deeplink сенімді өңдеу, вебхуктер арқылы растау және қатаң демпотенттік. Тұрақтылықтың кілті - ашық мәртебелер, достық қалпына келтіру сценарийлері және толыққанды реконциляция. Австралияда POLi қол жетімді емес және онлайн слоттарға қолданылмайды; Жаңа Зеландияда әдіс жұмыс істейді және пайдаланушыларға техникалық және құқықтық тұрғыдан дұрыс орнатылған кезде жылдам депозиттер береді.