關于支付的那些事(Ping++)

一提起支付,很多人都會以為是一件很高大上的技能,逼格瞬間就提升了幾個檔次。下面為大家推薦一款支付的SDK,瞬間解決iOS各種平臺上支付的問題,且簡單易用。因為Ping++官網上面的介紹不夠完善,集成過程中可能會遇到很多坑,所以整理了下,希望能對大家有所幫助。

安裝

Ping++如果使用 CocoaPods導入,那么直接pod 'Pingpp', '~> 2.1.0'即可。手動導入請看下文:
1.在github相應地址下載Ping++SDK
2.導入所需文件(微信,支付寶,銀聯只需要導入以上幾個文件夾即可,其他的刪掉。另外,Ping++里面有一個SDWebImage,不需要刪掉即可)

177FFE83-52C3-4B27-A092-55BE536ACA01.png

3.分別導入微信,支付寶,銀聯所需依賴庫(本文尚不介紹百度錢包支付)
必需:
CFNetwork.framework
SystemConfiguration.framework
Security.framework
libc++.dylib
libz.dylib
libsqlite3.0.dylib
4.添加 URL Schemes:在 Xcode 中,選擇你的工程設置項,選中 TARGETS 一欄,在 Info 標簽欄的 URL Types 添加 URL Schemes,如果使用微信,填入微信平臺上注冊的應用程序 id(為 wx 開頭的字符串),如果不使用微信,則自定義,建議起名稍復雜一些,盡量避免與其他程序沖突。允許英文字母和數字,首字母必須是英文字母,不允許特殊字符。
5.添加 Other Linker Flags:在 Build Settings 搜索 Other Linker Flags,添加 -ObjC
附:如果Other Linker Flags不能添加 -ObjC,則按一下方法導入

F2D588A2-2DB7-4572-8846-3919DDE89FC6.png

接入支付

后臺集成Ping++成功之后,會給前端一個接口,調用此接口就會返回charge 對象,然后根據此方法就可以調用支付控件進行支付

[Pingpp createPayment:charge
       viewController:viewController
         appURLScheme:kUrlScheme
       withCompletion:^(NSString *result, PingppError *error) {
    if ([result isEqualToString:@"success"]) {
        // 支付成功
    } else {
        // 支付失敗或取消
        NSLog(@"Error: code=%lu msg=%@", error.code, [error getMsg]);
    }
}];

關于渠道

關于iOS9系統,需要注意的一些事項
1.針對 iOS 9 系統更新, 為了使你接入的微信支付與支付寶支付兼容 iOS 9 ,請按照以下引導進行操作: 應用需要在 Info.plist 中將要使用的 URL Schemes 列為白名單,才可正常檢查其他應用是否安裝。受此影響,當你使用 Xcode 7 及 iOS 9 編譯發布新版本 App,并且用到了判斷是否安裝相應的 App (支付寶錢包、微信)的接口時,需要在 Info.plist 里添加如下代碼:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>weixin</string>
    <string>wechat</string>
    <string>alipay</string>
</array>

2.針對 iOS 9 限制 http 協議的訪問,如果 App 需要訪問 http://, 則需要在 Info.plist 添加如下代碼:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

3.針對使用 Xcode 7 編譯失敗,遇到錯誤信息為:
XXXXXXX does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.
請到 Xcode 項目的 Build Settings 標簽頁搜索 bitcode,將 Enable Bitcode 設置為 NO 即可。

附:如果使用過程當中還有其他問題,可以進入Ping++幫助中心,同時歡迎留言與我交流。

因有所獲,故筆而記之,分享之。

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

推薦閱讀更多精彩內容