android app 快速接入银联支付流程(android studio版)


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


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

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

android app 快速接入银联支付流程(android studio版)_第1张图片



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

android app 快速接入银联支付流程(android studio版)_第2张图片

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



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

android app 快速接入银联支付流程(android studio版)_第3张图片

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



四.看下这三个类:

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

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

android app 快速接入银联支付流程(android studio版)_第4张图片

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

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


下面看步骤二

android app 快速接入银联支付流程(android studio版)_第5张图片

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

doStartUnionPayPlugin(this, tn, mMode);

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

JARActivity 中的

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


下面看步骤三

android app 快速接入银联支付流程(android studio版)_第6张图片

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





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


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

android app 快速接入银联支付流程(android studio版)_第7张图片

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


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


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



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

你可能感兴趣的:(android,开发基础,集成第三方快速开发)