刚接触了下银联支付,在网上搜还是看官方文档银联支付都不是很清晰,所以自己总结一篇,希望可以帮助大家快速集成。


一.进入下载官网,选择下载手机控件支付demo:

https://open.unionpay.com/ajweb/help/file/techFile?productId=3




二.直接找到demo中的三个类:


这里不得不吐槽下银联支付的demo了,不像支付宝那样的简单明了调一个方法改一些参数,银联的demo能用到的地方,需要自己手动复制到自己的代码中去。或者自己封装一下。(其中的jar包,.so文件这些就不说,直接复制到自己项目里面 ,特别注意,.so文件要放在src/main 目录下,和java文件并行。还有就是把用到的权限复制到自己项目中)



三.简单说下手机控件银联支付的流程:


概括一下就是,app这边将购买的商品信息提交给app后台,app后台接收到购买信息之后,将信息提交给银联后台,银联接收到支付信息给app后台返回一个交易流水号(也就是app需要的tn号,app后台将这个交易流水号返回给app,app拿到的这个订单流水号为21位纯数字号,为app调用银联所需的tn号)



四.看下这三个类:

这个demo不像支付宝的demo,这个demo,没有什么工具类固定类之类的,直接看BaseActivity 这个类。

这个类里面有注释,前面的不用看了,直接按照注释给的流程走:


步骤一看图,需要注意的,在用银联demo给的tn,和测试账号的时候,用01测试环境,在真正和后台交互的时候要换成00开发环境,不然报错。

demo中的步骤一,我们可以忽略掉,因为这个步骤一是在请求一个银联给的接口,只是用来获取tn值。(咱们上面第三部已经获取了tn值,所以直接跳过步骤一即可)


下面看步骤二


步骤二才是调用银联支付插件的重要地方,看demo,调了一个

doStartUnionPayPlugin(this, tn, mMode);

方法(上下文,tn值,开发环境)。tn值就是上面第三后台给的tn,mMode看第一步骤,自己改一下就行了,00开发环境,01测试环境。但是要注意,这个只是个回调接口方法。真正有用的其实在 

JARActivity 中的

UPPayAssistEx.startPay(activity, null, null, tn, mode);
开启调用银联支付。


下面看步骤三


步骤三就是调用银联支付后,返回app的时候用了,看返回结果传,成功,失败,或者是什么返回。





完成以上的,银联控件支付基本就结束了。


但是要特别注意,在第三步骤上:


demo在返回结果上,进行了延签,我们直接把延签过程全部删除,不需要延签。经过延签的话,因为延签不通过,所以每次都是返回失败。


开发路漫漫,每天进步一点点。


看的有不明白的可以回帖,荣幸和各位大神一同探讨~



原创文章,转载请注明出处: http://blog.csdn.net/qq_33078541?viewmode=contents

更多相关文章

  1. 如何在后台运行Linux命令?
  2. Nginx系列教程(一)| 手把手教你在Linux环境下搭建Nginx服务
  3. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  4. Android前台画面和后台service之间通信的方法之Broadcast(转)
  5. Android应用程序UI硬件加速渲染环境初始化过程分析
  6. mac10.8下搭建Android的Eclipse开发环境
  7. [Android问答] 如何实现“退出应用”功能?
  8. android真机调试步骤
  9. Android模拟机设置中文输入法(拼音、手写、笔画等)

随机推荐

  1. 一道面试题引发的对android中context的研
  2. AIR Native Extension on Android(安卓)-
  3. Android实用代码七段(一)
  4. Android的ImageSwitcher和TextSw-android
  5. 移动开发10段常用的JavaScript代码
  6. Android中dip(dp)与px之间单位转换 dip2p
  7. Android开发之BroadcastReceiver详解
  8. Android电话系统GSMCallTacker分析
  9. Android属性动画与自定义属性动画
  10. 解决:android NDK的AMediaCodec配置surfac