
"最近由于公司項(xiàng)目需要集成連連支付,文檔寫(xiě)的不是很清楚,遇到了一些坑,因此記錄一下,希望能幫到有需要的人。"
前面簡(jiǎn)單的集成沒(méi)有遇到什么坑,在此整理一下官方的集成文檔,具體步驟如下
導(dǎo)入文件
添加頭文件引用
設(shè)置link標(biāo)志Target->Build Setting ,Other Linker Flags 設(shè)置為 -all_load
可能添加-all_load以后和其他庫(kù)沖突,可以嘗試使用 -force_load 單獨(dú)load庫(kù), force_load后面跟的是 lib庫(kù)的完整路徑
-force_load $(SRCROOT)/***/libPaySdkColor.a (****需要按照你的庫(kù)放置的路徑?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] // 加過(guò)簽名的訂單字典
[self.sdk presentPaySdkInViewController:rootVC withTraderInfo:signedDic];
編寫(xiě)結(jié)果回調(diào)
// 訂單支付結(jié)果返回,主要是異常和成功的不同狀態(tài)
- (void)paymentEnd:(LLWalletPayResult)resultCode withResultDic:(NSDictionary *)dic
SDK可配置部分
iOS SDK可以通過(guò)修改資源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í)彈出框的定制,框子的背景不能改,只能修改下顏色來(lái)和app搭配下
修改的地方如下截圖:

確認(rèn)按鈕:#a-button
取消按鈕:#b-button
文本框:UITextField
彈出對(duì)話框的確認(rèn)字體顏色: #TX-3
官方原來(lái)的效果是下面這樣的:

修改后是這樣的:

參數(shù)字段部分
參數(shù)說(shuō)明在demo中有,可以參考。字段名和wap不一致,請(qǐng)參考demo中的參數(shù)說(shuō)明,參數(shù)中的user_id 不是商戶號(hào),是商戶自己體系中的用戶編號(hào),前置卡輸入時(shí),no_agree是通過(guò)API查詢得到的綁卡序號(hào)
使用部分
Demo中的輸入項(xiàng),是用來(lái)測(cè)試各種支付條件,包括認(rèn)證支付(輸入姓名,身份證),前置支付(輸入卡號(hào),協(xié)議號(hào))。不是必須,請(qǐng)根據(jù)自己的支付方式測(cè)試。
支持銀行數(shù)量,是根據(jù)支付類型以及商戶來(lái),可以配置,請(qǐng)聯(lián)系運(yùn)營(yíng)。
支付的驗(yàn)密方式(短信,手勢(shì)碼,支付密碼)需要通過(guò)我們的服務(wù)器人員配置的,請(qǐng)聯(lián)系相關(guān)服務(wù)器對(duì)接人員。
常見(jiàn)問(wèn)題
簽名請(qǐng)盡量使用服務(wù)器端簽名,假如使用客戶端簽名,請(qǐng)使用Demo中的payutil
1、運(yùn)行直接崩潰
答:sdk沒(méi)有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、初始化常見(jiàn)錯(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、商戶無(wú)此支付產(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)提取了專門(mén)的調(diào)用方法。
// 快捷支付
- (void)presentQuickPaySdkInViewController:(UIViewController*)viewController withTraderInfo:(NSDictionary*)traderInfo;
// 認(rèn)證支付
- (void)presentVerifyPaySdkInViewController:(UIViewController*)viewController withTraderInfo:(NSDictionary*)traderInfo;
3、商戶無(wú)此支付權(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)那邊通過(guò)回調(diào)地址已提交了,但集成的時(shí)候字典里邊傳的notify_url為服務(wù)器的回調(diào)地址,此地址為后臺(tái)人員集成連連支付時(shí)給。
后面持續(xù)遇到到坑有必需申請(qǐng)商戶產(chǎn)品配置表如下圖:

還有連連通銀商戶配置表如下圖:

最最坑爹的是“風(fēng)險(xiǎn)控制參數(shù)”,需要8個(gè)之多,而demo才寫(xiě)了一個(gè),也沒(méi)說(shuō)要寫(xiě)其他的,參數(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開(kāi)發(fā)的app_____|______| | 傳送門(mén)
版權(quán)歸?Bison所有 如需轉(zhuǎn)載請(qǐng)保留原文超鏈接地址!否則后果自負(fù)!