PayPlugin顾名思义,是支付插件。支付的东西意味着安全性要得到保证。
大家都知道,Android开发用到的是java语言编写,用java编写,就意味着会被破解,会被反编译。
所以,交易相关的核心代码,我们通常都不希望写在java层,而java层更多的是用来渲染界面。
那么我们把核心代码写在C层,也就是通过jni去调用。但是,交易支付涉及到的业务是非常多的,举个例子,我们要查询银行卡的金额。
我们的步骤是,先刷卡,或者先触卡,或者卡号之后,我们还需要去输入密码,之后,就是银联的8583协议。最后金额查到返回回来。
这当中涉及到的接口十分多。于是乎,我们在jni的native那边写了比较多的方法,比如刷卡,比如输入密码这些步骤。
我们想尽量减少接口,把接口做成通用化,用指令去代替。于是,我设计了这套架构。
下面让我解释一下,上面的架构大体上的意思。
1.PaySys
paySysCmd(ISysCallBack callback)
setSysParams(int tag, String value)
readSysParams(in