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 қол жетімді емес және онлайн слоттарға қолданылмайды; Жаңа Зеландияда әдіс жұмыс істейді және пайдаланушыларға техникалық және құқықтық тұрғыдан дұрыс орнатылған кезде жылдам депозиттер береді.