"最近由于公司項(xiàng)目需要集成連連支付,文檔寫的不是很清楚,遇到了一些坑县好,因此記錄一下狼讨,希望能幫到有需要的人。"
前面簡(jiǎn)單的集成沒有遇到什么坑燥透,在此整理一下官方的集成文檔,具體步驟如下
導(dǎo)入文件
添加頭文件引用
設(shè)置link標(biāo)志Target->Build Setting ,Other Linker Flags 設(shè)置為 -all_load
可能添加-all_load以后和其他庫沖突爬泥,可以嘗試使用 -force_load 單獨(dú)load庫, force_load后面跟的是 lib庫的完整路徑
-force_load $(SRCROOT)/***/libPaySdkColor.a (****需要按照你的庫放置的路徑?jīng)Q定)
調(diào)用sdk顯示,注意retain崩瓤,自動(dòng)釋放以后袍啡,調(diào)用后會(huì)崩潰
self.sdk = [[[LLPaySdk alloc] init] autorealse]; // 創(chuàng)建
self.sdk.sdkDelegate = self; // 設(shè)置回調(diào)
NSDictionary* signedDic = [payUtil signedOrderDic:orderParam andSignKey:md5key_or_rsakey] // 加過簽名的訂單字典
[self.sdk presentPaySdkInViewController:rootVC withTraderInfo:signedDic];
編寫結(jié)果回調(diào)
// 訂單支付結(jié)果返回,主要是異常和成功的不同狀態(tài)
- (void)paymentEnd:(LLWalletPayResult)resultCode withResultDic:(NSDictionary *)dic
SDK可配置部分
iOS SDK可以通過修改資源bundle進(jìn)行定制却桶, 因?yàn)槭窃赽undle里面境输,請(qǐng)?jiān)谛薷暮靡院骳lean proj,這樣才會(huì)生效颖系。
1嗅剖、圖片的替換,在內(nèi)部的圖片可以替換修改位自己的樣式
2嘁扼、顏色等的修改信粮,可以修改default.css文件,支持#abcdef趁啸,123,123,123兩種顏色表示
3强缘、修改值意義列表
導(dǎo)航欄顏色:替換shoushi3.png文件,以及修改css文件中NavBar字段(后面只表示字段莲绰,都是在default.css文件中)中的background-color
導(dǎo)航欄標(biāo)題:NavBar字段中的titleIconName; titleText
注意有點(diǎn)坑的是這里欺旧,這是非第一次付款時(shí)彈出框的定制,框子的背景不能改蛤签,只能修改下顏色來和app搭配下
修改的地方如下截圖:
確認(rèn)按鈕:#a-button
取消按鈕:#b-button
文本框:UITextField
彈出對(duì)話框的確認(rèn)字體顏色: #TX-3
官方原來的效果是下面這樣的:
修改后是這樣的:
參數(shù)字段部分
參數(shù)說明在demo中有辞友,可以參考。字段名和wap不一致震肮,請(qǐng)參考demo中的參數(shù)說明称龙,參數(shù)中的user_id 不是商戶號(hào),是商戶自己體系中的用戶編號(hào)戳晌,前置卡輸入時(shí)鲫尊,no_agree是通過API查詢得到的綁卡序號(hào)
使用部分
Demo中的輸入項(xiàng),是用來測(cè)試各種支付條件沦偎,包括認(rèn)證支付(輸入姓名疫向,身份證)咳蔚,前置支付(輸入卡號(hào),協(xié)議號(hào))搔驼。不是必須谈火,請(qǐng)根據(jù)自己的支付方式測(cè)試。
支持銀行數(shù)量舌涨,是根據(jù)支付類型以及商戶來糯耍,可以配置,請(qǐng)聯(lián)系運(yùn)營囊嘉。
支付的驗(yàn)密方式(短信温技,手勢(shì)碼,支付密碼)需要通過我們的服務(wù)器人員配置的扭粱,請(qǐng)聯(lián)系相關(guān)服務(wù)器對(duì)接人員舵鳞。
常見問題
簽名請(qǐng)盡量使用服務(wù)器端簽名,假如使用客戶端簽名焊刹,請(qǐng)使用Demo中的payutil
1系任、運(yùn)行直接崩潰
答:sdk沒有retain保管恳蹲。
2虐块、sdk中使用了類擴(kuò)展,請(qǐng)?jiān)趏ther link flag中添加 -all_load
3嘉蕾、提示初始化錯(cuò)誤
答:1贺奠、檢查環(huán)境和商戶號(hào)等是否匹配;2错忱、檢查簽名方法是否正確(參考簽名工具)儡率;3、訂單信息是否有遺漏項(xiàng)以清;
4儿普、初始化常見錯(cuò)誤提示,解釋掷倔,以及應(yīng)對(duì)方法
1眉孩、所傳的類型不是NSString
解釋:連連的訂單需要傳入的訂單格式為{“strkey”: “strvalue”, “strkey1″ : “strvalue2“},請(qǐng)不要傳遞 {“key”: [v1, v2]} 或者 {“key”: {“ikey”:”v”}} 這種
應(yīng)對(duì)勒葱,修改訂單內(nèi)值的格式浪汪,特別是risk_item,需要變成 {“risk_item”:”{\”r_key\”:\”v\”}”}這樣
2凛虽、商戶無此支付產(chǎn)品權(quán)限
解釋:我們的產(chǎn)品分為認(rèn)證支付死遭、快捷支付等多種支付方式。一種支付方式對(duì)應(yīng)的包凯旋、支付調(diào)用方法呀潭、商戶號(hào)都有所不同钉迷。
應(yīng)對(duì):先檢查商戶號(hào)是否是正確的商戶號(hào),比如 <認(rèn)證支付測(cè)試商戶號(hào) 201408071000001543> <快捷支付測(cè)試商戶號(hào) 201408071000001546>
然后檢查所對(duì)應(yīng)的包或者調(diào)用方法對(duì)不對(duì)钠署。在iOS中篷牌,已經(jīng)提取了專門的調(diào)用方法。
// 快捷支付
- (void)presentQuickPaySdkInViewController:(UIViewController*)viewController withTraderInfo:(NSDictionary*)traderInfo;
// 認(rèn)證支付
- (void)presentVerifyPaySdkInViewController:(UIViewController*)viewController withTraderInfo:(NSDictionary*)traderInfo;
3踏幻、商戶無此支付權(quán)限
解釋:一個(gè)商戶號(hào)對(duì)應(yīng)的商品業(yè)務(wù)類型是有限的枷颊。
應(yīng)對(duì):修改 商戶業(yè)務(wù)類型 busi_partner 是 String(6) 虛擬商品銷售:101001
實(shí)物商品銷售:109001
外部賬戶充值:108001
4、簽名驗(yàn)證不對(duì)
解釋:簽名有特定規(guī)則该面,訂單里面的特定參數(shù)參與簽名夭苗。
應(yīng)對(duì):ios最新的Demo中提供了payUtil函數(shù),直接調(diào)用隔缀,就能生成簽名正確的訂單题造。然后再次提醒,我們墻裂建議商戶在服務(wù)器端完成簽名操作猾瘸。
支付成功之后界赔,不需要做額外的處理,后臺(tái)那邊通過回調(diào)地址已提交了牵触,但集成的時(shí)候字典里邊傳的notify_url為服務(wù)器的回調(diào)地址淮悼,此地址為后臺(tái)人員集成連連支付時(shí)給。
后面持續(xù)遇到到坑有必需申請(qǐng)商戶產(chǎn)品配置表如下圖:
還有連連通銀商戶配置表如下圖:
最最坑爹的是“風(fēng)險(xiǎn)控制參數(shù)”揽思,需要8個(gè)之多袜腥,而demo才寫了一個(gè),也沒說要寫其他的钉汗,參數(shù)如下:
/*
frms_ware_category *商品類目(固定2009)
user_info_mercht_userno 商戶用戶唯一標(biāo)識(shí)(token)
user_info_bind_phone 綁定手機(jī)號(hào)(已有)
user_info_dt_register 注冊(cè)時(shí)間
user_info_full_name 用戶注冊(cè)姓名(認(rèn)證姓名)
user_info_id_no 用戶注冊(cè)證件號(hào)碼
user_info_identify_state 是否實(shí)名認(rèn)證 1是0非
user_info_identify_type 實(shí)名認(rèn)證方式
*/
如對(duì)你有幫助羹令,請(qǐng)不要吝惜你的star和喜歡哦!
技術(shù)交流群:534926022(免費(fèi)) 511040024(0.8/人付費(fèi))
推薦一款學(xué)習(xí)iOS開發(fā)的app_____|______| | 傳送門
版權(quán)歸?Bison所有 如需轉(zhuǎn)載請(qǐng)保留原文超鏈接地址损痰!否則后果自負(fù)福侈!