Bison詳解連連支付集成

?allluckly.cn.png

"最近由于公司項(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搭配下

修改的地方如下截圖:

![Uploading lianlianzhifu01_768352.png . . .]

確認(rèn)按鈕:#a-button

取消按鈕:#b-button

文本框:UITextField

彈出對(duì)話框的確認(rèn)字體顏色: #TX-3

官方原來(lái)的效果是下面這樣的:

lianlianzhifu01.png

修改后是這樣的:

lianlianzhifu02.png


參數(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)品配置表如下圖:

![Uploading lianlianzhifu03_844594.png . . .]

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

lianlianzhifu03.png

最最坑爹的是“風(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ù)!

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

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

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