因爲支付寶改版,申請服務上有些變化,基本流程爲:註冊帳號->添加應用->添加工程->針對功能簽約。php
如下有可參考的網頁:html
一、簽約方案:https://openclub.alipay.com/read.php?tid=276&fid=25ios
二、APP支付報錯ALI40247處理方案: https://openclub.alipay.com/read.php?tid=250&fid=2c++
在進行ios集成支付寶的問題上,坑了很久,主要是兩個地方折騰了很久,web
一、search paths中Header Search paths 設置問題, 搜索網上的資料,發現都是在這一項添加$(SRCROOT)/xxx/openssl這條路徑,可是發現依然提示"'openssl/asn1.h' file not found",最終查閱衆多資料發現,緣由是include <> ""的緣由,<> ""能夠簡單參考這個網址http://blog.chinaunix.net/uid-23922099-id-3586571.html,那麼解決這條錯誤方法就是將"$(SRCROOT)/xxx/openssl"替換成"$(SRCROOT)/xxx/",再次編譯,"openssl/asn1.h' file not found"這條錯誤已經沒有了網絡
二、在沒有添加對正確的依賴庫,編譯應該會有這樣的"Undefined symbols for architecture x86_64:"的錯誤,那麼就須要在build phases->Link Binary With Libraries 添加以下四個library, "CoreMotion.framework"、"CoreTelephony.framework"、"libc++.tbd"、"libz.tbd",添加完以後而且在1中的問題解決的狀況下,能夠成功編譯;不然,請查看支付寶提供的四個文件是否已經正確添加,"AlipaySDK.bundle"、"AlipaySDK.framework"、"libcrypto.a"、"libssl.a",ui
三、支付寶回調問題:前段時間有人問過我支付寶中的回調怎麼用,因此這裏簡單說明下。在集成支付寶支付的時候,會有兩個回調,一個在AppDelegate中,一個在支付代碼中,都是支付成功的回調,區別是,在AppDelegate中的回調是調用客戶端支付成功後的回調(成功和失敗),在支付處的回調(指的是調用[AlipaySDK defaultService] payOrder:fromScheme:callback:)是經過web支付成功的回調。其中resultStatus對應狀態爲:spa
9000 訂單支付成功
8000 正在處理中
4000 訂單支付失敗
6001 用戶中途取消
6002 網絡鏈接出錯.net
順帶吐槽一下支付寶開發平臺中對於ios集成的開發文檔真夠能夠的,在解決第2個問題的時候,原本打算查看官方的集成文檔是否列出了,必須的依賴庫,找了很久,最後仍是沒有找到;最後實在沒辦法,對照支付寶的demo中的依賴庫,一個個對比,最後發現第2個問題中列舉的四個必須libraryunix