上周在項目中介入了支付寶支付以及微信支付暑脆,在接入過程中遇到了很多問題渠啤,下面將接入過程以及常見問題做一下總結(jié):
支付寶開發(fā)文檔地址支付寶開放平臺 - 文檔中心
支付寶接入注意點:
簽名注意:商戶在接入的過程中,對于訂單的簽名行為需發(fā)生在服務(wù)端(私鑰需要妥善保管)添吗,切忌將私鑰落在客戶端進行簽名
通知地址:通知地址建議走h(yuǎn)ttps沥曹,確保商戶的訂單信息不外泄
測試場景:商戶在測試支付的過程中,需要包括的場景:安裝支付寶錢包碟联、無支付寶錢包妓美,并確保兩個模式都能支付成功
步驟:
生成公司的私鑰+公鑰對,方法在文檔中鲤孵,注意部脚,IOS和Android客戶端使用的簽名證書采用PKCS8格式,PHP使用的簽名不采用PKCS8格式的證書裤纹;
將公鑰上傳到支付寶網(wǎng)站合作伙伴欄委刘,上傳成功后即可查看支付寶的公鑰
下載支付寶公鑰丧没,這里是拷貝,注意把拷貝下來的內(nèi)容按照64個字符長度換行保存成pem文件
公鑰即可用來驗證來自支付寶通知內(nèi)容
接入流程:
步驟1:啟動IDE(如Xcode)锡移,把iOS包中的壓縮文件中以下文件拷貝到項目文件夾下呕童,并導(dǎo)入到項目工程中。
AlipaySDK.bundle
AlipaySDK.framework
在Build Phases選項卡的Link Binary With Libraries中淆珊,增加以下依賴:
其中夺饲,需要注意的是:
如果是Xcode 7.0之后的版本,需要添加libc++.tbd施符、libz.tbd往声;
如果是Xcode 7.0之前的版本,需要添加libc++.dylib戳吝、libz.dylib(如下圖)浩销。
步驟2:在需要調(diào)用AlipaySDK的文件中,增加頭文件引用
#import<AlipaySDK/AlipaySDK.h>
步驟3:如果你的app基于9.0編譯听哭,那么為了適配iOS9.0中的App Transport Security(ATS)對http的限制慢洋,這里需要對支付寶的請求地址alipay.com、alipayobjects.com做例外陆盘,在app對應(yīng)的info.list中添加如下配置(文中以XML格式描述)普筹。
如果商戶配置了如下的配置:
則上述的NSAppTransportSecurity可以不配置。
步驟4:配置請求信息隘马。
步驟5:配置支付寶客戶端返回url處理方法太防。
(外部存在支付包錢包,支付寶錢包將處理結(jié)果通過url返回酸员。)
常見問題:
參考:集成支付寶IOS
iOS?app支付寶接口調(diào)用的一點總結(jié)(補充支付寶SDK&Demo下載地址)_sad靈動_新浪博客
1.如果遇到運行后報錯,類似于以下提示信息:Cannot find interface declaration for "NSObject', superclass of ‘Base64’ 等錯誤加入頭文件
2.若果支付寶不能跳轉(zhuǎn)回來蜒车,是因為沒有寫相應(yīng)的回調(diào)URL
微信接入:
文檔還是不錯的,接入步驟可以參考文檔:【微信支付】APP支付開發(fā)者文檔
SDK下載地址:微信開放平臺
我的這篇文章:簡單-微信支付寶支付 - 簡書