Android银联手机控件支付使用教程
最近刚接入银联手机支付,也是第一次搞这个,就写一写Demo的使用。这里就不贴全部代码了,具体可以下载Demo查看。这个教程提供一个url获取tn号和测试账号,可以直接完成支付过程!
一、银联手机控件支付流程
简单一点就是:手机生成订单信息,发送到app后台服务器–> 服务器使用银联sdk生成tn号–>app接收到tn号,调起控件进行支付–>支付成功,app后台接收到异步通知结果–>app再去app服务器查询
(注:这个教程提供一个url获取tn号和测试账号,可以直接完成支付过程。)
二、集成SDK(Android Studio)
① 添加资源文件:
1.拷贝upmp_android/sdkPro/jar/data.bin到工程的assets/目录下;
2.拷贝upmp_android/sdkPro/jar/xxx/libentryexpro.so、upmp_android/sdkPro/jar/xxx/libuptsmaddon.so和upmp_android/sdkPro/jar/xxx/libuptsmaddonmi.so到工程的libs/xxx/目录下,其中xxx为 armeabi-v7a、armeabi、arm64-v8a、x86、x86_64之一。
arm64-v8a(x86_64)是针对arm64(x86 64)架构优化的库文件,引入工程后在arm64(x86 64)机型上性能会提升,但是最终生成的程序包将变大。注意: 如果工程中使用了其他的.so库,那么需要所有.so库都有arm64-v8a(x86_64)的版本。
3.拷贝upmp_android/sdkPro/UPPayAssistEx.jar到工程的libs/目录下;
4.拷贝upmp_android/sdkPro/jar/UPPayPluginExPro.jar到工程的libs/目录下;
效果如下图:
arm64-v8a (x86_64)是针对arm64(x86 64)架构优化的库文件,引入工程后在arm64(x86 64)机型上性能会提升,但是最终生成的程序包将变大。注意: 如果工程中使用了其他的.so库,那么需要所有.so库都有arm64-v8a(x86_64)的版本。
在build.gradle添加:
android:
java.srcDirs = ['src/main/java']
assets.srcDirs = ['src/main/assets']
jniLibs.srcDirs = ['libs']
dependencies:
implementation files('libs/UPPayAssistEx.jar')
implementation files('libs/UPPayPluginExPro.jar')
如图:
② AndroidManifest.xml文件中注册支付插件使用的Activity
<application>
<!--工程其它配置此处省略…-->
<uses-library android:name="org.simalliance.openmobileapi" android:required="false"/>
<activity
android:name="com.unionpay.uppay.PayActivity"