1. 程式人生 > >android app 快速接入銀聯支付流程(android studio版)

android app 快速接入銀聯支付流程(android studio版)

剛接觸了下銀聯支付,在網上搜還是看官方文件銀聯支付都不是很清晰,所以自己總結一篇,希望可以幫助大家快速整合。

一.進入下載官網,選擇下載手機控制元件支付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