本文主要是介绍接入银联支付,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
官方文档实在没法看,我是根据视频demo接入的。
接入的是手机控件支付,地址如下:
https://open.unionpay.com/tjweb/acproduct/list?apiservId=450&tdsourcetag=s_pctim_aiomsg
1、导入UPPayAssistEx.jar,UPPayPluginExPro.jar到libs中
还有assets中添加data.bin文件
2、AndroidManifest.xml配置
<uses-permission android:name="org.simalliance.openmobileapi.SMARTCARD" /><uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc.hce"/>
<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>
3、调用以及回调
调用就一句代码:
//“00” - 启动银联正式环境 “01” - 连接银联测试环境
//tn接口返回 服务器已经做好有返回最好,没有请求http://101.231.204.84:8091/sim/getacptn(官方test请求地址)
UPPayAssistEx.startPay(mContext, null, null, tn,01);
回调(官方demo代码有):
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {/************************************************** 处理银联手机支付控件返回的支付结果************************************************/if (data == null) {return;}/** 支付控件返回字符串:success、fail、cancel 分别代表支付成功,支付失败,支付取消*/String str = data.getExtras().getString("pay_result");if (str.equalsIgnoreCase("success")) {// 结果result_data为成功时,去商户后台查询一下再展示成功//做些成功支付后的业务//关闭弹框if (null != showPayDialog) {showPayDialog.dialogDismiss();}} else if (str.equalsIgnoreCase("fail")) {//做些支付失败后的业务也可以toast即可toast(R.string.pay_fail);} else if (str.equalsIgnoreCase("cancel")) {//做些支付失败后的业务也可以toast即可toast(getString(R.string.pay_cancel));}}
混淆代码
-keep class org.simalliance.openmobileapi.** {*;}
-keep class org.simalliance.openmobileapi.service.** {*;}-keep class com.unionpay.** {*;}
有问题请加群:142739277
这篇关于接入银联支付的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!