iOS-連連支付

連連支付 (參考:http://open.lianlianpay.com/#cat=33----選擇 LLPayDemo1230下載
http://open.lianlianpay.com/#cat=9 —-官方問題解決辦法)
1项戴、連連需要的SDK

連連SDK.png

2包吝、連連支付需要的framework
連連framework.png

3肛著、連連支付導入的代碼

#import "LLPayUtil.h"
#import "LLPaySdk.h"
@interface ViewController () <LLPaySdkDelegate>  //遵守協(xié)議
@property (nonatomic, retain) NSMutableDictionary *orderDic;
@end

#pragma mark -  連連支付   訂單支付
- (void)pay{
    
    self.orderDic = [self createOrder];
    
    LLPayUtil *payUtil = [[LLPayUtil alloc] init];
    
    // 進行簽名
    NSDictionary *signedOrder = [payUtil signedOrderDic:self.orderDic
                                             andSignKey:kLLPartnerKey];
    
    [LLPaySdk sharedSdk].sdkDelegate = self;
    
    // TODO: 根據需要使用特定支付方式
    // 快捷支付
    [[LLPaySdk sharedSdk] presentQuickPaySdkInViewController:self withTraderInfo:signedOrder];
    
    // 認證支付
//    [[LLPaySdk sharedSdk] presentVerifyPaySdkInViewController:self withTraderInfo:signedOrder];
    
    // 預授權
    //[self.sdk presentPreAuthPaySdkInViewController:self withTraderInfo:signedOrder];
    
}
#pragma mark - 創(chuàng)建訂單

/*
 正式環(huán)境 認證支付測試商戶號  201408071000001543
 MD5 key  201408071000001543test_20140812
 
 正式環(huán)境 快捷支付測試商戶號  201408071000001546
 MD5 key  201408071000001546_test_20140815
 */

// TODO: 修改兩個參數成商戶自己的配置
static NSString *kLLOidPartner = @"201408071000001546";   // 商戶號
static NSString *kLLPartnerKey = @"201408071000001546_test_20140815";   // 密鑰

- (NSMutableDictionary*)createOrder{
    
    
    NSString *partnerPrefix = @"LL"; // TODO: 修改成自己公司前綴
    
    NSString *signType = @"MD5";    // MD5 || RSA || HMAC
    
    NSString *user_id = @"asdbasdf1234"; //
    // user_id,一個user_id標示一個用戶
    // user_id為必傳項糟秘,需要關聯(lián)商戶里的用戶編號,一個user_id下的所有支付銀行卡,身份證必須相同
    // demo中需要開發(fā)測試自己填入user_id, 可以先用自己的手機號作為標示天通,正式上線請使用商戶內的用戶編號
    
    NSMutableDictionary *param = [NSMutableDictionary dictionary];
    
    NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
    [dateFormater setDateFormat:@"yyyyMMddHHmmss"];
    NSString *simOrder = [dateFormater stringFromDate:[NSDate date]];
    
    // TODO: 請開發(fā)人員修改下面訂單的所有信息克滴,以匹配實際需求
    [param setDictionary:@{
                           @"sign_type":signType,
                           //簽名方式   partner_sign_type   是   String  RSA  或者 MD5
                           @"busi_partner":@"101001",
                           //商戶業(yè)務類型 busi_partner    是   String(6)   虛擬商品銷售:101001
                           @"dt_order":simOrder,
                           //商戶訂單時間 dt_order    是   String(14)  格式:YYYYMMDDH24MISS  14位數字逼争,精確到秒
                           //                           @"money_order":@"0.10",
                           //交易金額   money_order 是   Number(8,2) 該筆訂單的資金總額,單位為RMB-元劝赔。大于0的數字誓焦,精確到小數點后兩位。 如:49.65
                           @"money_order" : @"0.01",
                           
                           @"no_order":[NSString stringWithFormat:@"%@%@",partnerPrefix,  simOrder],
                           //商戶唯一訂單號    no_order    是   String(32)  商戶系統(tǒng)唯一訂單號
                           @"name_goods":@"訂單名",
                           //商品名稱   name_goods  否   String(40)
                           @"info_order":simOrder,
                           //訂單附加信息 info_order  否   String(255) 商戶訂單的備注信息
                           @"valid_order":@"10080",
                           //分鐘為單位着帽,默認為10080分鐘(7天)罩阵,從創(chuàng)建時間開始,過了此訂單有效時間此筆訂單就會被設置為失敗狀態(tài)不能再重新進行支付启摄。
                           //                           @"shareing_data":@"201412030000035903^101001^10^分賬說明1|201310102000003524^101001^11^分賬說明2|201307232000003510^109001^12^分賬說明3"
                           // 分賬信息數據 shareing_data  否 變(1024)
                           
                           @"notify_url":@"http://www.baidu.com",
                           //服務器異步通知地址  notify_url  是   String(64)  連連錢包支付平臺在用戶支付成功后通知商戶服務端的地址稿壁,如:http://payhttp.xiaofubao.com/back.shtml
                           
                           
                           //                           @"risk_item":@"{\"user_info_bind_phone\":\"13958069593\",\"user_info_dt_register\":\"20131030122130\"}",
                           //風險控制參數 否 此字段填寫風控參數,采用json串的模式傳入歉备,字段名和字段內容彼此對應好
                           @"risk_item" : [LLPayUtil jsonStringOfObj:@{@"user_info_dt_register":@"20131030122130"}],
                           @"user_id": user_id,
                           //商戶用戶唯一編號 否 該用戶在商戶系統(tǒng)中的唯一編號傅是,要求是該編號在商戶系統(tǒng)中唯一標識該用戶
                           //                           @"flag_modify":@"1",
                           //修改標記 flag_modify 否 String 0-可以修改,默認為0, 1-不允許修改 與id_type,id_no,acct_name配合使用,如果該用戶在商戶系統(tǒng)已經實名認證過了喧笔,則在綁定銀行卡的輸入信息不能修改帽驯,否則可以修改
                           
                           //                           @"card_no":@"6227001540670034271",
                           //銀行卡號 card_no 否 銀行卡號前置,卡號可以在商戶的頁面輸入
                           
                           //                           @"no_agree":@"2014070900123076",
                           //簽約協(xié)議號 否 String(16) 已經記錄快捷銀行卡的用戶书闸,商戶在調用的時候可以與pay_type一塊配合使用
                           }];
    BOOL isIsVerifyPay = YES;
    
    if (isIsVerifyPay) {
        [param addEntriesFromDictionary:@{
                                          @"id_no":@"370782199312027016",//@"339005198403100026",
                                          //證件號碼 id_no 否 String
                                          @"acct_name":@"安良浩",//@"測試號",
                                          //銀行賬號姓名 acct_name 否 String
                                          }];
    }
    param[@"oid_partner"] = kLLOidPartner;
    
    
    return param;
}
#pragma -mark 支付結果 LLPaySdkDelegate
// 訂單支付結果返回尼变,主要是異常和成功的不同狀態(tài)
// TODO: 開發(fā)人員需要根據實際業(yè)務調整邏輯
- (void)paymentEnd:(LLPayResult)resultCode withResultDic:(NSDictionary *)dic
{
    NSString *msg = @"支付異常";
    switch (resultCode) {
        case kLLPayResultSuccess:
        {
            msg = @"支付成功";
            NSString* result_pay = dic[@"result_pay"];
            if ([result_pay isEqualToString:@"SUCCESS"])
            {
                //
                //NSString *payBackAgreeNo = dic[@"agreementno"];
                // TODO: 協(xié)議號
            }
            else if ([result_pay isEqualToString:@"PROCESSING"])
            {
                msg = @"支付單處理中";
            }
            else if ([result_pay isEqualToString:@"FAILURE"])
            {
                msg = @"支付單失敗";
            }
            else if ([result_pay isEqualToString:@"REFUND"])
            {
                msg = @"支付單已退款";
            }
        }
            break;
        case kLLPayResultFail:
        {
            msg = @"支付失敗";
        }
            break;
        case kLLPayResultCancel:
        {
            msg = @"支付取消";
        }
            break;
        case kLLPayResultInitError:
        {
            msg = @"sdk初始化異常";
        }
            break;
        case kLLPayResultInitParamError:
        {
            msg = dic[@"ret_msg"];
        }
            break;
        default:
            break;
    }
    
    NSString *showMsg = [msg stringByAppendingString:[LLPayUtil jsonStringOfObj:dic]];
    
    [[[UIAlertView alloc] initWithTitle:@"結果"
                                message:showMsg
                               delegate:nil
                      cancelButtonTitle:@"確認"
                      otherButtonTitles:nil] show];
}

注意:①、修改一下Demo里面的代碼就可以運行

連連支付_注意.png

②浆劲、我只接觸過快捷支付和認證支付嫌术,可以這樣進行調用
跳轉支付.png

只做了上面的操作還是會報錯誤的,需要進行下面的操作
連連支付問題1.png

另外需要注意:
假如你只使用md5牌借,hmac度气,請不用添加,libRsaCrypto.a膨报,并把LLPayUtil.h里面的 kLLPayUtilNeedRSASign 注釋
假如你使用rsa, 請全部添加磷籍,并 把LLPayUtil.h里面的 kLLPayUtilNeedRSASign 注釋取消

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市现柠,隨后出現的幾起案子院领,更是在濱河造成了極大的恐慌,老刑警劉巖够吩,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件比然,死亡現場離奇詭異,居然都是意外死亡废恋,警方通過查閱死者的電腦和手機谈秫,發(fā)現死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鱼鼓,“玉大人拟烫,你說我怎么就攤上這事∑荆” “怎么了硕淑?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嘉赎。 經常有香客問我置媳,道長,這世上最難降的妖魔是什么公条? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任拇囊,我火速辦了婚禮,結果婚禮上靶橱,老公的妹妹穿的比我還像新娘寥袭。我一直安慰自己路捧,他們只是感情好,可當我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布传黄。 她就那樣靜靜地躺著杰扫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪膘掰。 梳的紋絲不亂的頭發(fā)上章姓,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機與錄音识埋,去河邊找鬼凡伊。 笑死,一個胖子當著我的面吹牛惭聂,可吹牛的內容都是我干的窗声。 我是一名探鬼主播相恃,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼辜纲,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拦耐?” 一聲冷哼從身側響起耕腾,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杀糯,沒想到半個月后扫俺,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡固翰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年狼纬,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骂际。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡疗琉,死狀恐怖,靈堂內的尸體忽然破棺而出歉铝,到底是詐尸還是另有隱情盈简,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布太示,位于F島的核電站柠贤,受9級特大地震影響,放射性物質發(fā)生泄漏类缤。R本人自食惡果不足惜臼勉,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望餐弱。 院中可真熱鬧宴霸,春花似錦镜盯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恩闻,卻和暖如春艺糜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背幢尚。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工破停, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人尉剩。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓真慢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親理茎。 傳聞我的和親對象是個殘疾皇子黑界,可洞房花燭夜當晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,273評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現皂林,斷路器朗鸠,智...
    卡卡羅2017閱讀 134,695評論 18 139
  • 支付 1.支付寶和銀聯(lián)的支付流程 常用的支付方式有: 1、支付寶支付 https://openhome.alipa...
    丶逐漸閱讀 1,674評論 3 11
  • 五月天础倍,臺灣搖滾樂團烛占,由樂隊團長兼吉他手怪獸、主唱阿信沟启、吉他手石頭忆家、貝斯瑪莎和鼓手冠佑組成,前身為“So Band...
    Echo麗閱讀 1,267評論 15 10
  • 連續(xù)的陰雨德迹,清冷的天氣芽卿! 早起雨停,爸爸和舅舅開始幫外公種樹了? 猜猜這是啥花兒浦辨? 待到明年春暖花開之時蹬竖,必將滿園...
    悠水立方閱讀 135評論 0 0