我給你一顆糖,你看到我給他兩顆橄仍,你就對我有看法了.
但你不知道他也曾給我兩顆糖诬垂,而你什么都沒給過我.
較之微信支付的SDK,阿里支付的集成確實(shí)是步驟多了些慷彤,集成過程中稍不注意就可能出現(xiàn)錯(cuò)誤.
一般建議是娄蔼,如果一個(gè)SDK提供有cocoPod的集成通道,那么優(yōu)先選擇使用cocopod. 一來是項(xiàng)目結(jié)構(gòu)不會變的凌亂底哗,二來岁诉,也不需要再額外的配置諸多環(huán)境,當(dāng)前微信支付已經(jīng)提供了cocopod集成,而在alipay文檔中跋选,暫還沒有發(fā)現(xiàn)提供cocopod支持. 故涕癣,阿里支付仍然使用直接拖入SDK的方式. 根據(jù)其提供的API,也可以順利集成.
簽名&流程
需要注意的是前标,支付寶的簽名生成步驟必須在服務(wù)端完成属划,生成簽名的方式按照官方提供說明即可. 一個(gè)大致的流程就是,先用工具生成一個(gè)商戶公鑰和私鑰候生,將商戶公鑰上傳到支付寶后會生成一個(gè)支付寶公鑰同眯,后臺拿到支付寶公鑰并加上商戶私鑰就可以生成簽名sign.
錯(cuò)誤碼
在調(diào)試的過程中,可能出現(xiàn)一些問題. APP端SDK所需參數(shù)均需要從服務(wù)器提供(如appid唯鸭、訂單號...)须蜗,APP僅需要接受服務(wù)器數(shù)據(jù)并傳給SDK即可. 此時(shí)會喚起本地的支付寶APP. 但可能出現(xiàn)一些參數(shù)錯(cuò)誤,會提示不同的錯(cuò)誤碼(導(dǎo)致支付失敗). 具體對照螞蟻金服FAQ即可解決.
后臺事項(xiàng)
后臺集成SDK只需要參照API文檔封裝必要的參數(shù)目溉,非必須的參數(shù)則視需求而定就好. 要注意的是明肮,只需要將SDK生成的請求參數(shù)發(fā)給客戶端就行,不需要對結(jié)果再進(jìn)行一次單獨(dú)的編碼(如UIF-8encode). 如果后臺人員對SDK生成的請求參數(shù)再進(jìn)行一次編碼缭付,那么會導(dǎo)致客戶端SDK請求參數(shù)錯(cuò)誤柿估,出現(xiàn)一些未知的支付失敗異常.
結(jié)語
最后,要說明的是支付失敗的99%原因都是服務(wù)器返回的參數(shù)不正確. 可以與后臺聯(lián)調(diào).