集成支付寶SDK遇到的坑

一、首先我先把集成過程說一下。
小編想說的話:支付寶是我做支付中覺得坑最多的一個(gè),各種編譯不過,各種出問題。

廢話不多說,進(jìn)入主題:
1.首先當(dāng)前是下載官方SDK啦,當(dāng)前你也可以通過cocopods進(jìn)行導(dǎo)入

1.1 官方下載地址文檔

https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.aL2Pps&treeId=59&articleId=103676&docType=1

將下圖兩個(gè)文件導(dǎo)入您的項(xiàng)目中 (支付寶SDK)


Paste_Image.png

1.2 cocopods導(dǎo)入

pod 'AliPay', '~> 2.1.2'

2.若通過cocopods導(dǎo)入直接跳過此步 -- 導(dǎo)入系統(tǒng)庫

系統(tǒng)依賴庫.png
  1. 在項(xiàng)目中新建一個(gè)文件夾存放SDK 把官方demo 的所需的文件統(tǒng)統(tǒng)拷貝過來,如下圖 其中AlipaySDK.bundle AlipaySDK.FRAMEWORK 根據(jù)你是否cocopods集成選擇導(dǎo)入。
Paste_Image.png

導(dǎo)入完畢之后還需要設(shè)置下路徑以免出現(xiàn)問題
User Header Search Paths
把上面的路徑拖到里面即可。
或者使用 $(SRCROOT)/項(xiàng)目名稱/SDK名稱 也是可行的。

4.使用支付寶 需要配置 URL type 在info中直接配置即可

5.對了,還有一個(gè)就是需要支持iOS9 哦
1.https


Paste_Image.png

2.白名單


Paste_Image.png

走到這里基本上的配置就算完成了,那么我們該如何使用呢? 很簡單支付寶有提供一個(gè)方法 我們只需要把所需要的參數(shù)給傳遞過去即可。下面為基本調(diào)用過程

Paste_Image.png

參數(shù)說明:
payOrder: 很明顯是關(guān)于訂單的信息
1.重點(diǎn)1
在demo 中 我們會(huì)看到如下一句代碼

NSString *orderSpec = [order description];

意思是說 將商品信息拼接成字符串 這個(gè)拼接的過程他這個(gè)方法里已經(jīng)封裝直接調(diào)用即可。

2.重點(diǎn) 2
// 獲取私鑰并將商戶信息簽名,外部商戶可以根據(jù)情況存放私鑰和簽名,只需要遵循RSA簽名規(guī)范,并將簽名字符串base64編碼和UrlEncode

id<DataSigner> signer = CreateRSADataSigner(@"您的私匙");
NSString *signedString = [signer signString:@"重點(diǎn)1 的商品字符串"];

3.最后我們將所有內(nèi)容拼接下 傳遞給支付寶SDK

orderString = [NSString stringWithFormat:@"%@&sign="%@"&sign_type="%@"",
@"重點(diǎn)1 的商品字符串", signedString, @"RSA"];

appScheme:應(yīng)用注冊scheme,在AlixPayDemo-Info.plist定義URL types

綜合上述 已經(jīng)完成了大部分的工作,現(xiàn)在咱們運(yùn)行看看效果。。。

運(yùn)行中。。。。。

等待中。。。。。

臥槽,這不科學(xué),報(bào)錯(cuò)了,這個(gè)時(shí)候我的內(nèi)心是奔潰的。。。。

咋辦??????

不要著急我們一個(gè)一個(gè)錯(cuò)誤來看。

錯(cuò)誤 1:

Paste_Image.png

解決方案 我們只要添加頭文件 (我是在pch 文件中加入)

import <Foundation/Foundation.h>

import <UIKit/UIKit.h>

錯(cuò)誤 2

Paste_Image.png

如果是按照上述我描述的步驟 是不會(huì)出現(xiàn)這個(gè)問題的,但是還是要說一下,萬一遇到了呢?

解決方案:
在官方demo 中 有兩個(gè)文件
libcrypto.a
libssl.a
將兩個(gè)文件放在你的項(xiàng)目中即可。

錯(cuò)誤 3

Paste_Image.png

解決方案:
你少加了系統(tǒng)庫哦
加上CoreMotion.framework 即可

錯(cuò)誤 4

Paste_Image.png

尼瑪,明明有 你特么的說沒有。這個(gè)問題其實(shí)就是他找不到你的這個(gè)文件,按照我之前的流程也是不會(huì)出現(xiàn)這個(gè)問題的。

解決方案: 將他需要的文件都放在一個(gè)文件夾中,并且
Header Search Path添加路徑.
直接將項(xiàng)目中的相應(yīng)文件拖入即可.也可以$(SRCROOT)/文件路徑.

錯(cuò)誤 5

可能會(huì)報(bào)類似錯(cuò)誤 大概就是這個(gè)第三方不支持 bitcode Xcode 7 默認(rèn)為YES

Paste_Image.png

解決方案: bitcode 設(shè)置為NO

錯(cuò)誤 6

這個(gè)錯(cuò)誤不知道為什么會(huì)發(fā)生? 請大神指導(dǎo)。。。

Paste_Image.png

我只知道如何解決。
哈哈哈。。。。
找到 Always Search User Paths 設(shè)置為YES 即可。 是不是很神奇。
說到這里我需要介紹下

`#include“file.h”: 先搜索當(dāng)前工作目錄,如果沒有,再去搜索庫,庫沒有再搜索資源庫;

當(dāng)#include<file.h>:編譯器先從標(biāo)準(zhǔn)庫路徑開始搜索,如果沒再搜索資源庫目錄,最好搜索當(dāng)前工作目錄。

錯(cuò)誤 7

在設(shè)置 應(yīng)用注冊scheme 時(shí) 切勿使用與支付寶系統(tǒng)重復(fù)命名,否則無法調(diào)用sdk。

Paste_Image.png

陸續(xù)更細(xì)中......

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,062評(píng)論 25 709
  • 實(shí)現(xiàn)支付寶支付的準(zhǔn)備工作: 1.向支付寶簽約,成為支付寶的商戶 簽約完成后,支付寶會(huì)提供一些必要的數(shù)據(jù)給我們 商戶...
    Anson楊春安閱讀 8,631評(píng)論 0 6
  • 日輝澤,山景麗,春水微波,波上煙霞逸。遠(yuǎn)草碧云天渺際,汀上新枝,喜鵲雙雙立。 語呢喃,吟璨綺,細(xì)目柔眉,眉里膠漆意...
    靜鈴音閱讀 846評(píng)論 33 33
  • 風(fēng)斜雨,執(zhí)傘度。 雨滑傘骨,半步囚簾珠。 花季吹冷卻枝綴。 停步折花,落紅夢明朝。 青石路,斷橋處。 月掛梢枯,是...
    我思無邪閱讀 161評(píng)論 0 0
  • 盡可能的讓類或者成員不被外接訪問單一職責(zé),高內(nèi)聚低耦合,降低類被修改的風(fēng)險(xiǎn); 類具有共有的靜態(tài)finnal數(shù)組域 ...
    mrwangyong閱讀 273評(píng)論 0 1

友情鏈接更多精彩內(nèi)容