将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不可用,不适用于在线插槽;在新西兰,该方法仍然有效,并在正确的技术和法律设置下为用户提供快速存款。