APP中銀聯(lián)支付的使用量相比較來說是比較少的,官方給出的文檔比較簡陋但是集成起來還是比較簡單的酿矢。以下是我參考官方文檔和實(shí)際項(xiàng)目中總結(jié)一些集成步驟和問題
去銀聯(lián)支付開放平臺下載開發(fā)包https://open.unionpay.com/ajweb/index榨乎,開發(fā)包不怎么好找 = =
1.最新版本的開發(fā)包現(xiàn)在只有兩個文件這里我事先新進(jìn)一個文件夾講開發(fā)包里面的libPaymentControl.a文件和UPPaymentControl.h文件放在一個文件夾中,并添加到工程當(dāng)中瘫筐,如下圖所示:
2.添加庫文件CFNetwork.framework蜜暑、SystemConfiguration.framework 、libz.tbd策肝、libPaymentControl.a到工程如圖所示
3.添加完庫文件需要設(shè)置應(yīng)用回調(diào)地址肛捍。在URL Types里面添加 如圖:
在紅線處添加你工程的名稱即可
4.適配http網(wǎng)絡(luò)設(shè)置隐绵。需要在工程對應(yīng)的plist文件中添加NSAppTransportSecurity Dictionary 并同時(shí)設(shè)置里面NSAllowsArbitraryLoads 屬性值為 YES。
但是蘋果在2017.01.01起就強(qiáng)制要求所有的網(wǎng)絡(luò)請求的接口必須是HTTPS了篇梭,所以這里讓還是后臺設(shè)置好最為妥當(dāng)氢橙。
5.添加協(xié)議白名單。在Xcode7.0之后的版本中進(jìn)行開發(fā)恬偷,需要在工程對應(yīng)的plist文件中,添加LSApplicationQueriesSchemes Array并加入uppaysdk帘睦、uppaywallet袍患、uppayx1、uppayx2竣付、uppayx3五個item诡延。如圖所示:
6.調(diào)用支付。這里銀聯(lián)支付的開發(fā)文檔提示我們:如果工程的compile source as 選項(xiàng)的值不是Objective–C++古胆,則引用此頭文件的文件類型都要改為.mm肆良。查看下自己的選項(xiàng)是不是,直接在工程中修改要吊起的 .m文件的文件名問 .mm 即可逸绎。
6.1 在要吊起支付的文件中引入頭文件 #import "UPPaymentControl.h" 惹恃。
6.2 從后臺獲取吊起支付需要的參數(shù) tn 執(zhí)行方法:
if (_tnStr != nil && _tnStr.length>0) {
[[UPPaymentControl defaultControl]startPay:_tnStr fromScheme:@"YouProjectName" mode:@"00" viewController:self];
}
這里的mode有兩種值 當(dāng)為00時(shí)代表生產(chǎn)模式,當(dāng)為01時(shí)代表測試模式棺牧。
6.3 支付結(jié)果回調(diào)巫糙。在Appdelegate.m文件里。前端的支付結(jié)果是要通過服務(wù)器反饋來判斷的颊乘,我這里為了省事直接獲取的結(jié)果然后用的通知返回給吊起頁面的参淹。
銀聯(lián)支付的大概集成使用也就這些了,對于前端來說還是比較簡單的乏悄。
對于集成中遇到的問題以后會陸續(xù)更新浙值,大家也可以相互交流。檩小。