Android银联支付控件集成总结

银联支付

1.概述

银联支付有很多种类型,我们这里主要说的是手机控件支付

银联手机支付控件主要应用于各类手机电子商务平台的支付应用。银联控件合作商户的手机客户端(或网站)内集成(或调用)银联支付控件后,持卡人在合作商户上即可使用银联手机支付安全控件进行安全的、便捷的即时支付,同时,保障用户银行卡信息的安全。

2.支付流程

流程图说明:

(1)用户在客户端中点击购买商品,客户端发起订单生成请求到商户后台;

(2)商户后台收到订单生成请求后,按照《手机控件支付产品接口规范》组织并推送订单信息至银联后台;

(3)银联后台接收订单信息并检查通过后,生成对应交易流水号(即TN),并回复交易流水号至商户后台(应答要素:交易流水号等);

(4)商户后台接收到交易流水号,将交易流水号返回给客户端;

(5)客户端通过交易流水号(TN)调用支付控件;

(6)用户在支付控件中输入相关支付信息后,由支付控件向银联后台发起支付请求;

(7)支付成功后,银联后台将支付结果通知给商户后台;

(8)银联将支付结果通知支付控件;

(9)支付控件显示支付结果并将支付结果返回给客户端;

注: 本文档主要关注上述流程中(5)、(9)部分的实现

目前各个平台支持的设备情况如下:

Android平台SDK主要适用于Android 2.3及以上版本的终端设备;

3.测试账号

提供测试使用卡号、手机号信息(此类信息仅供测试,不会发生正式交易

招商银行借记卡:6226090000000048
    手机号:18100000000
    密码:111101
    短信验证码:123456(先点获取验证码之后再输入
    证件类型:01身份证
    证件号:510265790128303
    姓名:张三

华夏银行贷记卡:6226388000000095
    手机号:18100000000
    cvn2:248
    有效期:1219
    短信验证码:123456(先点获取验证码之后再输入
    证件类型:01身份证
    证件号:510265790128303
    姓名:张三

4.接入SDK和一些文档的说明

因为下载下来的银联手机控件支付开发包里面的demo工程都还没配好的,还有是用eclipse的,一些说明也在下载回来的控件使用指南的文档中有了,这里也会列出来,现在我改用Androidstudio来完成这个demo,如下:

4.1 SDK包说明

商户开发者在获取到银联提供的开发包后请检查SDK文件所在目录upmp_android/sdkProSDK,以下部分提及的文件均在该目录中:

Android Studio环境的配置:重点

UPPayAssistEx.jar 和UPPayPluginExPro.jar的jar包导入libs下面。并在main下面创建assets文件夹把data.bin添加进去。armeabi文件要添加到jniLibs文件加下  同理:jniLibs也是手动创建的。

mainifests中也要配置:

首先是权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.NFC" />

<uses-feature android:name="android.hardware.nfc.hce" />

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="org.simalliance.openmobileapi.SMARTCARD" />

第二步:添加跳转app与网页的类等

<uses-library
    android:name="org.simalliance.openmobileapi"
    android:required="false" />

<activity
    android:name="com.unionpay.uppay.PayActivity"
    android:configChanges="orientation|keyboardHidden|keyboard"
    android:screenOrientation="portrait">
</activity>

<activity
    android:name="com.unionpay.UPPayWapActivity"
    android:configChanges="orientation|keyboardHidden|fontScale"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustResize" >
</activity>

最后设置build.gradle文件:

设置支持的so库:

defaultConfig {
        ndk {
            // 设置支持的 SO 库构架
            abiFilters 'armeabi'//, 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64'
    }
}

设置找到lib文件的配置:

sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}
最后就可以测试看看了 。



原创文章 47 获赞 34 访问量 3万+

猜你喜欢

转载自blog.csdn.net/xige1995/article/details/80334148
今日推荐