玩轉 iOS 開發:集成 AliPay - 支付寶

文章轉至: https://cainluo.github.io/14739456388212.htmlhtml


做者感言

前面我已經寫了一篇關於**WeChat SDK的支付篇, 那咱們繼續研究接下來的支付SDK, 此次就是國民支付軟件支付寶, 下面就讓咱們來看看怎麼集成AliPay SDK**. 最後: 若是你有更好的建議或者對這篇文章有不滿的地方, 請聯繫我, 我會參考大家的意見再進行修改, 聯繫我時, 請備註AliPay SDK若是以爲好的話, 但願你們也能夠打賞一下~嘻嘻~祝你們學習愉快~謝謝~c++


簡介

支付寶SDK, 只要作過支付類App的, 都百分百接觸過, 至於爲何那麼多人喜歡用支付寶, 這個我就不在這裏作解釋了, 你們都懂的, 可是呢, 因爲在阿里巴巴的發展下, 支付寶慢慢與螞蟻金服整合, 甚至連開放平臺名字都改爲**螞蟻金服開放平臺**, 但不管怎麼樣, 支付寶都是行業內安全性最高的,git


準備工做

其實集成**AliPay SDKWeChat SDK有些相似, 就連商家ID**的申請, **App ID的申請, 流程都差很少, 詳細這裏我就不在這裏講解了, 你們能夠去支付寶商家商戶服務平臺**瞭解瞭解.github


下載SDK包

因爲螞蟻金服和支付寶的整合, 就連SDK的資源都改了, 你們能夠去**開放平臺-文檔中心**找到資源下載.安全

1

2

3


繼續來段廢話

SDK包下載好了以後, 咱們去到以前的那個支付工程創建咱們的新工程, 命名爲**AliPay-Objective-C, 接下來咱們就能夠繼續集成AliPay SDK**了.微信

4


配置文件

如今咱們創建好了工程, 而後咱們和集成**WeChat SDK同樣, 須要配置一下工程, 這樣子咱們才能讓AliPay SDK正常工做. 如今讓咱們來打開工程的Info.plist**文件, 添加一些配置.佈局

5

6


添加依賴包

和**WeChat SDK**同樣, **AliPay SDK同樣是須要導入依賴包的, 可是這個依賴包要比WeChat SDK**要多一些, 這個比較蛋疼.學習

  • UIKit.framework
  • CoreMotion.framework
  • CFNetWork.framework
  • Foundation.framework
  • CoreGraphics.framework
  • CoreText.framework
  • QuartzCore.framework
  • CoreTelephony.framework
  • SystemConfiguration.framework
  • libz.tbd
  • libc++.tbd
這些都是所需的依賴庫, 真的是很是的蛋疼.

7


註冊App ID

因爲**AliPay SDK是不須要在AppDelegate.m文件裏註冊的, 因此註冊App ID**這個步驟咱們就忽略了.測試


佈局UI界面

這裏的UI佈局界面就和**WeChat SDK那樣, 直接拖一個UIButton, 以及加一個Action**事件就行了.3d

8


注意!!!

因爲**AliPay改版了, 若是是老版本的SDK須要更新到最新的話, 必定要去好好的讀一下接口文檔, 由於這裏須要添加多兩個額外庫以及一些依賴的簽名文件, 這兩個庫在AliPay**的資源包裏能夠找到.

9

10

11

把這些依賴文件都拖入咱們的工程裏, 這樣子咱們就能正常的完成開發了~~

12


集成SDK

以前的全部準備工做都已經作好了, 如今重點來了, 就讓咱們看看怎麼實現支付寶支付!

> 首先咱們須要一個訂單對象, 這裏咱們命名爲**`AliPayOther`**, 還有一個**`AliPayBizContent`**, 而後聲明一些屬性, 而且在內部實現一些方法, 因爲這裏的代碼比較多, 這裏就不列舉了, 各位童鞋們仍是自行去翻翻工程吧~~

13

而後呢, 咱們就要把兩個重量級的文件拖入到工程, 一個就是**AlipaySDK.bundle, 一個是AlipaySDK.framework, 這兩個文件也是在AliPay**的資源包裏能夠找到.

14

導入以後編譯一下, Xcode竟然提示出錯了!!!

15

看了一下錯誤信息, 提示**NSObject, 我想應該是<Foundation/Foundation.h>**沒有導入到對應的文件裏去吧, 試試看先

16

我屮艸芔茻, 一些問題解決了, 另外一些問題又出來了, 仔細一看, 我勒個去, 原來是忘了導入剛剛所說的**libcrypto.a以及libssl.a**庫了...我說怎麼好像少了兩個東西, 趕忙導入進去~

17

導入完以後, 還有一個錯誤, 我也是醉醉噠....尼瑪, 這是玩我呢....之前導入SDK那有那麼麻煩啊...翻了一下文檔, 發現要添加一個**Header的連接....我也是醉了, 這個連接的寫法是$(SRCROOT)/(工程名), 我這裏所寫的是$(SRCROOT)/AliPay-Objective-C**

18


實現支付寶支付

好了, 咱們把遇到的坑填完以後, 如今就來實現支付寶支付, 這裏咱們就直接把**AliPayDemo**裏的代碼直接拷貝過來,

19

添加完以後, 別忘了處理**AliPay回調回來的信息, 順便說說, 這裏的代理方法會有兩個, 一個是iOS 9**以後纔有的新方法, 你們能夠動動小腦殼, 看看怎麼樣封裝纔會比較好一些~

20

到這裏咱們就已經集成完畢了, 因爲支付寶的Demo裏沒有提供**App ID私鑰, 因此咱們這裏顯示的效果只能是醬紫了...須要測試的童鞋們只能本身去申請App ID私鑰**了

21


工程地址

項目地址: https://github.com/CainRun/PayProject


最後

碼字很費腦, 看官賞點飯錢可好

微信

支付寶
相關文章
相關標籤/搜索