iOS銀聯支付集成與使用

APP中銀聯支付的使用量相比較來說是比較少的,官方給出的文檔比較簡陋但是集成起來還是比較簡單的。以下是我參考官方文檔和實際項目中總結一些集成步驟和問題

去銀聯支付開放平臺下載開發包https://open.unionpay.com/ajweb/index,開發包不怎么好找 = =

1.最新版本的開發包現在只有兩個文件這里我事先新進一個文件夾講開發包里面的libPaymentControl.a文件和UPPaymentControl.h文件放在一個文件夾中,并添加到工程當中,如下圖所示:


Paste_Image.png

2.添加庫文件CFNetwork.framework、SystemConfiguration.framework 、libz.tbd、libPaymentControl.a到工程如圖所示

Paste_Image.png

3.添加完庫文件需要設置應用回調地址。在URL Types里面添加 如圖:

Paste_Image.png

在紅線處添加你工程的名稱即可

4.適配http網絡設置。需要在工程對應的plist文件中添加NSAppTransportSecurity Dictionary 并同時設置里面NSAllowsArbitraryLoads 屬性值為 YES。

Paste_Image.png

但是蘋果在2017.01.01起就強制要求所有的網絡請求的接口必須是HTTPS了,所以這里讓還是后臺設置好最為妥當。

5.添加協議白名單。在Xcode7.0之后的版本中進行開發,需要在工程對應的plist文件中,添加LSApplicationQueriesSchemes Array并加入uppaysdk、uppaywallet、uppayx1、uppayx2、uppayx3五個item。如圖所示:

Paste_Image.png

6.調用支付。這里銀聯支付的開發文檔提示我們:如果工程的compile source as 選項的值不是Objective–C++,則引用此頭文件的文件類型都要改為.mm。查看下自己的選項是不是,直接在工程中修改要吊起的 .m文件的文件名問 .mm 即可。
6.1 在要吊起支付的文件中引入頭文件 #import "UPPaymentControl.h" 。
6.2 從后臺獲取吊起支付需要的參數 tn 執行方法:
if (_tnStr != nil && _tnStr.length>0) {
[[UPPaymentControl defaultControl]startPay:_tnStr fromScheme:@"YouProjectName" mode:@"00" viewController:self];
}
這里的mode有兩種值 當為00時代表生產模式,當為01時代表測試模式。
6.3 支付結果回調。在Appdelegate.m文件里。前端的支付結果是要通過服務器反饋來判斷的,我這里為了省事直接獲取的結果然后用的通知返回給吊起頁面的。

Paste_Image.png

銀聯支付的大概集成使用也就這些了,對于前端來說還是比較簡單的。

對于集成中遇到的問題以后會陸續更新,大家也可以相互交流。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,466評論 25 708
  • 銀聯支付,支付寶支付,微信支付的三大總結,之前也有寫過兩篇。 微信支付,支付寶支付,銀聯支付——三大支付總結: h...
    LucasAdam閱讀 4,983評論 2 23
  • iOS支付 iOS支付分為兩類,第三方支付和應用內支付(內購)。 第三方支付包括:支付寶支付、微信支付、銀聯支付、...
    請輸入賬號名閱讀 6,317評論 3 22
  • 文/陶子 愛總是很美妙和溫情,總是讓人心碎神傷卻又滿懷希望,總是讓人流盡眼淚卻又久久不愿離去。 如果對方愛你多一點...
    5號陶子閱讀 283評論 0 0
  • 30歲,2022年嘍,想著奔三的路也算走了一半了,一直小心的過著平穩的生活,有些遺憾。 所以,希望在30歲之前能嘗...
    水葫蘆菌閱讀 173評論 0 0