將POLi集成到移動賭場應用程序中


1)上下文和限制

POLi功能:僅存款;通過其他方法(轉賬/卡/錢包)推斷。
司法管轄區:

澳大利亞:POLi業務已停止(2023年9月);禁止在線賭場/AU居民插槽(IGA 2001)。
新西蘭:POLi可在許可的場所使用;移動集成是相關的。
結論:下文是允許使用市場的技術藍圖(新西蘭和其他合法司法管轄區)。

2)體系結構連接選項

A. Redirect/Hosted Payment Page (HPP)-基本標準

出納→客戶創建付款會話,→重新分配到銀行(瀏覽器/銀行應用程序)→通過「return_url」退款→通過webhook/polling確認。
優點:最低PCI要求,可持續模型,風險較小。
缺點:取決於正確處理app-switch和返回deeplink。

B. Server to-Server+redirect(混合體)

服務器在POLi提供商處創建一個付款人,移動客戶端僅啟動重新分配。最終狀態是網絡包。
優點:清晰的重構,方便的回溯,在後端的相等性。
缺點:更多服務器邏輯。

💡完整的「幹凈API」而不重新引導是不切實際的:銀行身份驗證需要轉到銀行。

3)用戶流(移動UX)

1.售票處→ POLi的選擇。
2.輸入金額→創建付款會話(txn\_ id, state/nonce, Life Life)。
3.App switch:我們打開銀行(或帶有互聯網銀行的瀏覽器)。
4.登錄/2FA在銀行→轉賬確認。
5.返回「return_url」/deeplink到應用程序→結果屏幕。
6.Backend收到webhook並最終確定押金;在webhook延遲的情況下,客戶端通過「txn_id」(拉式確認)請求狀態。

4) iOS特點

使用ASWebAuthenticationSession或SFSafariViewController進行瀏覽器步驟;直接的WKWebView由於餅幹/重定向而不太適合。
Universal Links для `return_url`;在'scene(_:continue:)'中處理。
會議時間≥ 10分鐘,背景模式沒有約束力,但必須保持現金狀態。
如果銀行作為一個單獨的應用程序打開-提供友好的後端到應用程序腳本,並在返回時重新獲得狀態。

5) Android特點

最好是Web流的Custom Tabs;對於銀行應用程序-intent filters和App Links驗證的「return_url」。
結果處理-通過deeplink激活劑;在「onResume()」下重新查詢狀態。
不要在「活動」中存儲付款狀態;使用正在進行配置更改的ViewModel/存儲庫。
當銀行/應用程序不可用時,返回到系統瀏覽器。

6)集成安全

TLS無處不在,禁止不受保護的協議。iOS ATS/Android網絡安全Config-啟用。
CSRF/Replay保護:一次性「state」/「nonce」,退貨對賬。
相同性:創造付款的偶然性;重新處理webhook-安全。
Webhooks:簽名、固定IP傳出(如果可用)、指數暫停轉發、事件重復數據消除\_id。
Logi: 不用用銀行登錄記錄/OTR;偽裝PII;存儲:「txn_id」,重新排序/返回時間,狀態代碼。
Root/Jailbreak信號:軟警告和業務規則的高風險操作單元。
可退回URL保護:提供商和應用程序側的「return_url」白名單。

7)狀態和缺陷處理

Статусы: `processing` → `succeeded`/`failed`/`unknown`.
如果用戶關閉了銀行/瀏覽器-顯示「繼續付款/選擇其他方法」屏幕。
在「未知」時:不要阻止玩家-保持「等待」順序,重新詢問後臺,等待webhook。
標準化錯誤代碼(銀行不可用、限制、身份驗證、用戶取消、定時)。
考慮分數確認(銀行註銷,商家尚未更新)-在UI中解釋這一點。

8)重組與財務

每日對賬:POLi提供商↔您的數據庫的報告(「merchant_ref」,金額,貨幣,時間)。
在「非同步」上單獨排隊;手動案例-在tulling beck辦公室。
對於「存款」獎金-在「成功」之後計費;對於「processing」/「unknown」-放下。

9)收銀機的UX練習(移動第一)

可見的進度帶和計時器「銀行會議將通過……」。
按鈕上的清晰副本:「轉到銀行」,「確認-返回應用程序。」
明確金額/貨幣,即時驗證限額直至重新引導。
保存押金草稿;在恢復應用程序時重新打開會話。
可用性:VoiceOver/TalkBack標簽,充分對比,動態類型/FontScale。

10)限制,KYC/AML,責任

限制由銀行和運營商而不是POLi指定;在付款前顯示可用範圍。
KYC/AML與方法無關-體積/頻率檢查以相同的方式觸發;高風險-手動驗證。
負責任的遊戲策略:POLi也提供存款/暫停限制;在收銀機中添加有關限制管理的快速鏈接。

11)區域特色和ficheflagi

AU:在ficheflags/bold級別禁用POLi;顯示軟盤(服務不可用;禁止在線賭場)。
新西蘭:允許POLi;從配置(remote config)中拉出庫/限制列表。
Geofensing,貨幣/格式本地化,服務器allow-lists lists merchants遍及全國。

12)測試矩陣和QA

銀行:每個大型銀行和類型2FA(SMS,push,令牌)至少一個案例。
平臺:iOS/Android,當前的主要版本,深色/淺色主題,不同的本地語言/語言。
故障場景:銀行取消、會話到期、網絡中斷、webview關閉、deeplink錯誤、webhook重播。
負載:高峰時段,webhook延遲,大量retrai。

13)監控和操作

指標:結帳轉換,CTR「轉為銀行」,平均「時間到資金」,「未知」份額,webhook中繼頻率,銀行拒絕的原因。
Alerts: taymaut webhook,一個罐子「failed」激增,「unknown」>門檻上升。
事件手冊:切換方法的優先級,通知用戶,強制整理狀態,後驗屍。

14)集成不會做什麼

不添加提款。
不會繞過銀行或運營商的限制。
不能取代KYC/AML程序和負責任的遊戲。

結果

將POLi集成到移動應用程序中是圍繞安全的redirect/HPP構建的,該應用程序具有正確的應用程序開關,可靠的回程處理,通過webhooks進行確認以及嚴格的冪等性。穩定性的關鍵是透明的狀態,友好的恢復場景和全面的重新配置。在澳大利亞,POLi不可用,不適用於在線插槽;在新西蘭,該方法仍然有效,並在正確的技術和法律設置下為用戶提供快速存款。