手机端脚本回调使用指南
description: 本文介绍了手机脚本的使用,以及如何正确的拉单测试。
手机端脚本回调使用指南
手机端脚本目前支持代收和代付,代收即在手机上登录收款卡对应手机银行,然后安装回调脚本(不同银行使用不同回调脚本),通过定时刷新账单获取最新得账单,并通过过滤将最新得订单上报到服务器以实现回调。代付则是在手机上安装支持快速打款的手机银行app之后,登录手机银行,使用代付脚本打开app,实现自动打款,回调打款状态,脚本代付和代收为全自动,用户可以监听每台脚本机已打款和已收款,用于提示运营人员及时对资金进行操作。
不管是手机脚本代付还是代收。都需要一些列前置准备工作,准备工作如下。
准备工作
在所有准备工作之前,我们要准备好需要的资料和环境,包括但不限于:
- Windows 电脑一台
- 刷机套件(开发人员提供,已刷机请忽略)
- TypeC 的 USB 数据线
- 测试机(小米8/一加8/小米8青春版)
- 账户信息(收款或代付账户,用于登录对应银行app,通常包括uid,账号,密码,pin,tpin)
- 账户对应手机卡(登录和转账需要用到)
- OKSMS短信App
- 银行对应脚本(代付或代收,每个银行脚本不一样)
- 通用测试脚本(用于测试短信连通性,目标app是否可开发)
- OKPAY的后台运营账号(查单,添加手机号,链接脚本机需要在后台操作)
- telegram运营账号(用于tg查单和日常的交流,故障反馈)
账号信息准备
为了方便管理,通常我们需要标准的账号信息,如果没有,最小要求是能够登录手机银行并正常转账,这个需要运营人员自行测试。账号关键信息主要是:
- 收款码
- 银行名称
- 账户名+账号+ifsc
- 手机号
- loginId/uid/password/tpin/mpin
- 信用卡信息(如果有必要)
- 每日限额
账户信息格式可参考如下:
|
脚本机环境
首先我们需要确保脚本机刷入了我们的系统,刷入定制系统可以参考另一篇文章《OKPAY定制系统刷入流程》。输入完成后进入如下桌面[见图11],以 IOB银行为例,我们需要安装测试脚本OK助手。然后使用谷歌商店安装目标银行IOB MOBILE。
手机银行适配
对于已经适配的手机银行,我们可以直接使用。目前已经适配的手机银行有:
- RBL Bank
- IndusInd Bank (Indus)
- Bank of Baroda (BOB)
- Federal Bank (Fedral Mobile)
- Ujjivan Small Finance Bank (Ujjbank)
- UCO Bank
- Canara Bank
- Karnataka Bank (KBL)
- Muthoot Finance (Manco Bank)
- Bank of India (BOI)
- Indian Overseas Bank (IOB)
- State Bank of India (SBI Plus)
- Maharashtra Bank (Maharastra Bank)
- Jana Small Finance Bank (Jana Bank)
- City Union Bank (CUB)
- Tamilnad Mercantile Bank (TMB)
- IDBI Bank
- Punjab & Sind Bank (PSB)
- Jammu and Kashmir Bank (JBK)
- India Smart Bank (India Smart)
- South Indian Bank (SIB)
- Yes Bank (Yesbank)
对于没有适配的手机银行,后续可提供适配支持,但在适配之前,需要运营人员做一下验证,验证流程如下:
- 在应用商店找到对应手机银行app。
- 登录手机银行app
- 找到查看流水的地方
- 判断流水格式是否符合要求
流水格式是否符合要求,主要看找到的流水页面的数据上是否有对应的utr显示,是否支持带备注(付款的时候会自动带上备注),备注信息是否完整(需要和开发人员核对)。
无Sim的登陆实现
很多时候,我们收到的卡在卡商那边,运营人员无法直接操作,这是我们需要使用OKSMS配合操作来实现短信的收发,用以完成手机银行app的登录。关于OKSMS app的使用方法可以参考《OKSMS使用指南》。
无sim卡登录手机银行,分两种情况,一种是需要发短信验证的一种是直接接码登录的。接码登录只需要能拿到验证码即可。当卡在卡商那边运营人员无法访问的时候,需要要求卡商将对应的sim卡插在安卓手机中,并安装OKSMS的App,打开App之后需要留意sim卡一栏,如果是空的需要手动编辑当前sim卡手机号。然后将编辑的这个手机号告诉运营人员,运营人员在后台添加该手机号之后即可看到改手机号已经在线,且能在后台页面的短信一栏看到短信内容。
运营端手机号管理
在后台查看短信
短信app在收到新消息时会第一时间将收到的短信上报到服务器,并显示在短信验证码区域。
短信app在使用的时候尽量保证在前台,以防止掉线而导致运营人员无法正常转账的情况
通用登陆脚本
有的时候,单纯OTP码并不能实现手机银行登录,有很多银行需要验证手机卡,禁用wifi,发短信绑定设备等一些列复杂操作。这个时候就需要用到通用登陆脚本。通用登陆脚本需要配合定制系统使用,我们在安装通用登陆脚本OK助手之后,打开可以看到如下页面。其中模拟位置可以点击,选择印度的一些主要城市,下面的控制台,通过绿色小字,可以打印出运行的辅助日志。
在启动测试前,需要进行一些配置。点击右上角会显示配置菜单(见图二),先选择目标银行app,弹出app选择对话框,选择我们要劫持的银行如Cub。选择后需要编辑用于登录手机银行对应账号的手机号(见图四),这个手机号是和短信App (OKSMS)上填写的手机号要完全对应,要保证后台配置的手机号和短信App配置的手机号以及登陆脚本的手机号完全一致,否则会导致无法登录的情况。
有时候测试人员在测试的时候,会发现及时正确选择了目标银行,配置了正确的手机号,还是无法登录成功的情况,这个时候需要检查卡商的手机卡是否欠费,或者短信App是否在线(短信App是否在线除了通过后台查看外,还可以通过 TG 机器人查看,详细使用方法请参考《telegram运营机器人使用手册》)。此时可以通过第三项菜单,进行短信发出测试,在弹出的对话框中填入自己的手机号(见图五),确认后,输入的手机号会收到一条测试短信,如果没有收到,则需要联系卡上是否需要充值。
通用脚本还有备份还原App的功能,有时候,由于银行App出现自动升级,导致脚本无法正常使用,我们可以事先在手机中备份对应的银行App,只需要选择需要备份的App,App就会备份到Backups/[pkg]/[versionName]
下。需要还原的时候,直接先卸载掉最新的,选择还原即可。
代收流程测试
为了确保后续运营工作顺利进行,我们需要先做代收测试,也就是模拟用户进入收银台拉取支付订单进行支付,确保其正常回调。在测试前,代收的流程测试是为了验证用户进入我们的收银台后,我们可以正确创建支付订单,并在用户付款后及时更新支付状态,并告知商户订单是否支付成功,流程如下。
graph TD A[使用手机端脚本登录目标手机银行] --> B[脚本日志打印uniqueId] B --> C[后台添加通道账号] C --> D[配置通道账号信息] D --> E[通道管理开启通道] E --> F[创建支付链接] F --> G[用户点击链接进入收银台] G --> H{收银台引导完成支付} H -->|支付成功| I[支付完成] I --> J[后台通知商户支付成功] J --> K[收银台更新支付结果] H -->|支付失败| L[收银台显示支付失败]
在后台创建通道测试链接的时候,需要注意的是,关闭的通道无法创建测试链接,会提示通道找不到。这个很好理解,关闭的通道无法测试。在打开的通道中,如果没有可以用于测试的账号也无法完成回调测试,这个也很好理解,没有用于回调的账号,测试则无意义。
通道创建
拿到新的卡商账号之后,需要卡商在后台创建通道(Ok会创建卡商账号给卡商),卡商先创建通道,然后将账号信息配置上去。目前OkPay
系统支持创建自己的通道,也支持接入三方通道分流。这里只是为了测试,创建个人通道,具体配置方法可参考文档《后台使用文档-运营端》的通道篇。
- 通道创建(通常建议创建的时候选择关闭,等配置好账号再打开)
随后可在通道列表看到刚创建的通道。
- 配置通道账号
点击账户配置,可对账号进行管理,目前是空的
- 新增账号
点击新增按钮,弹出新增账号对话框,这里需要填账号信息(带*的是必填项)。由于是收款账号,需要填写账户,每日限额等基本信息。其中还有一个唯一id,是根据下面的手机端脚本操作的脚本获取到的唯一id填入,绑定手机如果要填就是天短信App主页显示那个手机号,填入之后点击确定,通道就配置好了。
- 查看短信App和账号在线
在通道管理那里可以看到所有的通道账号,其中可以进行通道的账号配置。点开可以看到手机号和脚本机在线情况。

- 配置商户
通道创建好之后,需要和商户关联,点击需要测试的商户,基础管理->支付用户->通道配置。

然后勾选前面创建的通道,选中之后就可以开始测试了。

后台创建测试链接
创建好了通道之后,可以进行通道测试,创建测试订单流程如下,具体可以参考文档《后台使用文档-运营端》。
如上图,我们通过复制ResponseData
的code_url
的值,放在浏览器中打开。即可跳转到收银台页面,当然实际接入过程中,是开发人员通过调用我们的接口生成的收银台页面,具体可以参考文档《新商户接入开发文档》。
手机端脚本操作
手机端银行脚本主要功能和通用测试脚本相似,不同得手机银行使用的脚本不一样,脚本在使用前也需要先配置手机号和登陆密码(有一些银行需要password而不是pin,脚本都有做针对性适配)。有一些脚本属于版协议脚本,也就是拿到需要的一些登陆参数后不需要再次打开银行App即可实现账单抓取回调。有一些需要保持手机银行打开。
一般来说,第一次登陆手机银行,需要运营人员借助对应的银行脚本或通用测试脚本辅助登录,之后每次点击StartWork
,脚本会自动执行登录并回调。点击StartWork
后,右上角会有一个悬浮窗以方便运营人员快捷的监控和操作手机脚本。
注意:首次运行脚本后,会拿到登录信息,在脚本的下方会打印出账号标识,可看到绿字
unqueid:xxxxx
字样,这个唯一id需要和通道账号中的唯一ID保持一致
各自作用为:
- Balance:显示当前账户余额,不可点击
- Size/Pause:显示当前上报的最新账单如4/200 表示上报了4条最新的,总共处理了200条。点击之后会暂停轮询账单
- time:上一次上报的时间
- Hide Me:点击之后隐藏悬浮窗
- Stop Run:点击之后立即停止脚本,并退回到手机脚本页面
- Fill Order:点击之后执行补单操作
补单机制:有时候由于脚本没有启动或者脚本中途出现异常退出,或者其它一些异常情况导致漏掉了一些账单的上报,可以点击此按钮进行补单。同时程序在运行时,也会定时补单,一般为10分钟一次
测试员回调测试
收银台页面如下,测试人员需要按照页面提示进行操作,目前大部分支付链接的唤起,需要在用户支付之后,回填12位数的 UTR 码,这样服务器才能进行订单状态回调。
用户回填UTR之后,点击submit,等待服务端回调,稍等片刻,回调完成,提示success。
注意:不会填UTR无法完成系统回调 !!