Android 银联控件支付开发流程
目錄
一:介紹
二:支付流程介紹
三:下載銀聯(lián)SDK
四:導入開發(fā)SDK
4.1 如果項目開發(fā)使用的Eclipse軟件,導入步驟如下:
4.2 如果項目開發(fā)使用的Android Studio軟件,導入步驟如下:
除了導入jar包之外,還要導入資源包和依賴包,如下圖:
五:修改AndroidManifest.xml配置
六:支付接口調用
?
一:介紹
項目中要用到支付功能,需要支付寶支付、微信支付、銀聯(lián)支付,所以打算總結一下,方便以后的查閱,也方便大家, 用到的地方避免再次被坑。
今天我們就主要介紹一下銀聯(lián)控件支付,其他支付也寫了對應教程,并且給出了連接。
集成前首先要看看文檔,銀聯(lián)手機控件支付,里面包含需要的庫文件和詳細的文檔。鑒于小伙伴們不容易找到,好事做到底,送上截圖方便下載。
銀聯(lián)手機控件SDK
二:支付流程介紹
通過支付控件進行交易的流程如下圖:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?業(yè)務流程圖
?
流程圖說明:
(1)用戶在客戶端中點擊購買商品,客戶端發(fā)起訂單生成請求到商戶后臺;
(2)商戶后臺收到訂單生成請求后,按照《手機控件支付產(chǎn)品接口規(guī)范》組織并推送訂單信息至銀聯(lián)后臺;
(3)銀聯(lián)后臺接收訂單信息并檢查通過后,生成對應交易流水號(即TN),并回復至商戶后臺(應答要素:交易流水號等);
(4)商戶后臺接收到交易流水號(TN),將交易流水號返回至客戶端;
(5)客戶端通過交易流水號(TN)調用支付控件;
(6)用戶在支付控件中輸入相關支付信息后,由支付控件向銀聯(lián)后臺發(fā)起支付請求;
(7)支付成功后,銀聯(lián)后臺將支付結果通知給商戶后臺;
(8)銀聯(lián)后臺同時也將支付結果通知支付控件;
(9)支付控件顯示支付結果并將支付結果返回至客戶端;
此處備注:我們是通過后臺獲取訂單,我們可以根據(jù)商品id等信息通過后臺接口獲取訂單信息,對訂單支付流程的簽名加密過程后臺完成。
三:下載銀聯(lián)SDK
銀聯(lián)手機控件支付SDK
下載之后,找到兩個jar包,將UPPayAssistEx.jar和UPPayPluginExPro.jar添加到商戶應用的工程中
SDK路徑
?
四:導入開發(fā)SDK
導入sdk流程同支付寶導入流程一樣,這里就借用支付寶導入流程進行介紹。
4.1 如果項目開發(fā)使用的Eclipse軟件,導入步驟如下:
1.將alipaySDK-20150602.jar包放入商戶應用工程的libs目錄下,如下圖。
?
2.進入商戶應用工程的Java Build Path,將libs目錄下的alipaySDK-20150602.jar導入,如下圖。
?
3.選中Order and Export,勾選alipaySDK-20150602.jar,如下圖。
203.png
將上圖的支付寶sdk更換成銀聯(lián)控件支付的兩個jar包即可
?
4.2 如果項目開發(fā)使用的Android Studio軟件,導入步驟如下:
1.將銀聯(lián)SDK拷貝到項目libs文件夾下,如果沒有l(wèi)ibs文件夾,就新建一個。
?
2.如果sdk使用過程中,提示找不到文件。
進行如下操作,選中sdk文件,右擊選擇Reveal in Finder
?
除了導入jar包之外,還要導入資源包和依賴包,如下圖:
?
五:修改AndroidManifest.xml配置
1.在商戶應用工程的AndroidManifest.xml文件里面添加聲明:
<uses-libraryandroid:name="org.simalliance.openmobileapi"android:required="false" /><activityandroid:name="com.unionpay.uppay.PayActivity"android:configChanges="orientation|keyboardHidden"android:excludeFromRecents="true"android:label="@string/app_name"android:screenOrientation="portrait"android:windowSoftInputMode="adjustResize" /><activityandroid:name="com.unionpay.UPPayWapActivity"android:configChanges="orientation|keyboardHidden"android:screenOrientation="portrait"android:windowSoftInputMode="adjustResize" />和權限聲明:
<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" />到這里,銀聯(lián)支付的前期配置已經(jīng)完成,下面需要完成支付代碼編寫。
六:支付接口調用
支付完成后,獲取支付控件支付結果,并添加相應處理邏輯,只需實現(xiàn)調用Activity中的onActivityResult()方法即可,支付成功時會返回商戶客戶端支付結果和簽名信息。
控件返回的結果信息僅作為參考,商戶訂單是否成功支付應該以商戶后臺主動到全渠道查詢的結果或者收到全渠道支付結果通知為準。
示例代碼如下:
以下三種為常用結果判斷
success為支付成功
fail為支付失敗
cancel為取消支付
總結
以上是生活随笔為你收集整理的Android 银联控件支付开发流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机办公自动化应用课程,1-《计算机应
- 下一篇: 如何位图转换矢量图或者数字油画底稿