iOS 支付寶长捧、微信、銀聯(lián)支付

一吻贿、支付寶支付要注意的問題:
導入AlipaySDk,預編譯一下串结,這是會發(fā)現(xiàn)會有好多錯誤:

錯誤一:


3DD44913-E777-4DD4-8849-C9481C52E7FA.png

解決辦法:
這個是要添加pch文件并配置

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif

錯誤二:

1B4B7CE8-EA8E-4FA9-8DCD-47752765C5F4.png

解決辦法:在Header Search Paths 配置路徑


0118D1CD-4B57-47D4-A5FA-0899B13AB714.png

錯誤三:
添加依賴庫:

0E11D62B-A58A-4ECE-B683-62E011C698A0.png

白名單配置:info.plist
iOS 9系統(tǒng)策略更新,應用需要在“Info.plist”中將要使用的URL Schemes列為白名單舅列,才可正常檢查其他應用是否安裝肌割。

091AC461-E483-46A1-AF4A-37BB469162D6.png

各個平臺白名單說明:
http://blog.csdn.net/hou3035/article/details/50843217

URL Types配置:


353C726D-F1F8-4968-8031-0BDCBD31AC7D.png

特別注意:
/**
重要說明
privateKey等數(shù)據(jù)嚴禁放在客戶端,加簽過程務必要放在服務端完成帐要;
防止商戶私密數(shù)據(jù)泄露把敞,造成不必要的資金損失,及面臨各種安全風險榨惠;

*/

/*
     *生成訂單信息及簽名
     */
    //將商品信息賦予AlixPayOrder的成員變量
    Order* order = [Order new];
    
    // NOTE: app_id設置
    order.app_id = appID;
    
    // NOTE: 支付接口名稱
    order.method = @"alipay.trade.app.pay";
    
    // NOTE: 參數(shù)編碼格式
    order.charset = @"utf-8";
    
    // NOTE: 當前時間點
    NSDateFormatter* formatter = [NSDateFormatter new];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    order.timestamp = [formatter stringFromDate:[NSDate date]];
    
    // NOTE: 支付版本
    order.version = @"1.0";
    
    // NOTE: sign_type 根據(jù)商戶設置的私鑰來決定
    order.sign_type = (rsa2PrivateKey.length > 1)?@"RSA2":@"RSA";
    
    // NOTE: 商品數(shù)據(jù)
    order.biz_content = [BizContent new];
    order.biz_content.body = @"我是測試數(shù)據(jù)";
    order.biz_content.subject = @"1";
    order.biz_content.out_trade_no = [self generateTradeNO]; //訂單ID(由商家自行制定)
    order.biz_content.timeout_express = @"30m"; //超時時間設置
    order.biz_content.total_amount = [NSString stringWithFormat:@"%.2f", 0.01]; //商品價格
    
    //將商品信息拼接成字符串
    NSString *orderInfo = [order orderInfoEncoded:NO];
    NSString *orderInfoEncoded = [order orderInfoEncoded:YES];
    NSLog(@"orderSpec = %@",orderInfo);
    // NOTE: 獲取私鑰并將商戶信息簽名奋早,外部商戶的加簽過程請務必放在服務端盛霎,防止公私鑰數(shù)據(jù)泄露;
    //       需要遵循RSA簽名規(guī)范耽装,并將簽名字符串base64編碼和UrlEncode
    NSString *signedString = nil;
    RSADataSigner* signer = [[RSADataSigner alloc] initWithPrivateKey:((rsa2PrivateKey.length > 1)?rsa2PrivateKey:rsaPrivateKey)];
    if ((rsa2PrivateKey.length > 1)) {
        signedString = [signer signString:orderInfo withRSA2:YES];
    } else {
       signedString = [signer signString:orderInfo withRSA2:NO];
    }
    // NOTE: 如果加簽成功摩渺,則繼續(xù)執(zhí)行支付
    if (signedString != nil) {
        //應用注冊scheme,在AliSDKDemo-Info.plist定義URL types
        NSString *appScheme = @"alisdkdemo";
        
        // NOTE: 將簽名成功字符串格式化為訂單字符串,請嚴格按照該格式
        NSString *orderString = [NSString stringWithFormat:@"%@&sign=%@",
                                 orderInfoEncoded, signedString];

二、微信支付要注意的問題:
1.白名單剂邮、URL Types配置問題和支付寶一樣摇幻,不再說明。
2.app注冊微信crash挥萌,代碼如下:

[WXApi registerApp:appId withDescription:description];

解決方案:Targets -> Bulid setting -> Other Linker Flags

9D3FCED2-607F-4C0D-AD49-193C03081C11.png

3.依賴庫在支付寶中已經(jīng)說明绰姻。
4.和支付寶不一樣,微信如果沒有安裝是不會跳轉(zhuǎn)到微信網(wǎng)頁支付的引瀑,支付寶就不存在這個問題狂芋,所以微信在調(diào)起支付的時候要判斷是否已經(jīng)安裝微信。

if([WXApi isWXAppInstalled])
    {
        PayReq *req = [[PayReq alloc] init];
        req.openID = appId;
        req.partnerId = partnerId;
        req.prepayId = prepayId;
        req.package = package;
        req.nonceStr = nonceStr;
        req.timeStamp = (UInt32)timeStamp.integerValue;
        req.sign = sign;
        [WXApi sendReq:req];
    }
    else
    {
        if(self.WXPayResponseBlock)
        {
            self.WXPayResponseBlock(-3, @"未安裝微信");
        }
    }

字段說明:
@param appId 微信開放平臺審核通過的應用APPID
@param partnerId 微信支付分配的商戶號
@param prepayId 微信生成的預支付回話標識憨栽,該值有效期為2小時
@param package 暫填寫固定值Sign=WXPay
@param nonceStr 隨機字符串帜矾,不長于32位。推薦隨機數(shù)生成算法
@param timeStamp 時間戳屑柔,請見接口規(guī)則-參數(shù)規(guī)定
@param sign 簽名屡萤,詳見簽名生成算法

注意:
和支付寶一樣,這些信息都要從服務端獲取掸宛,嚴禁放在客戶端死陆。

三、 銀聯(lián)支付
銀聯(lián)支付基本上沒有什么坑唧瘾,用起來也比較簡單措译,就是SDK比較難找。
https://open.unionpay.com/ajweb/help/file/techFile?productId=3

0F9F56F1-27F6-42FE-B237-66257DBCAABA.png

關(guān)于配置問題就不說了饰序,和支付寶领虹、微信支付一樣,提供一篇文章非常詳細求豫。
http://blog.csdn.net/lxlzy/article/details/53338278

下面是個人封裝的三種支付塌衰,可做參考:
https://github.com/DeveloperiMichael/SAPlatformPayManager

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市注祖,隨后出現(xiàn)的幾起案子猾蒂,更是在濱河造成了極大的恐慌,老刑警劉巖是晨,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異舔箭,居然都是意外死亡罩缴,警方通過查閱死者的電腦和手機蚊逢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箫章,“玉大人烙荷,你說我怎么就攤上這事∶始牛” “怎么了终抽?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長桶至。 經(jīng)常有香客問我昼伴,道長,這世上最難降的妖魔是什么镣屹? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任圃郊,我火速辦了婚禮,結(jié)果婚禮上女蜈,老公的妹妹穿的比我還像新娘持舆。我一直安慰自己,他們只是感情好伪窖,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布逸寓。 她就那樣靜靜地躺著,像睡著了一般覆山。 火紅的嫁衣襯著肌膚如雪席覆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天汹买,我揣著相機與錄音佩伤,去河邊找鬼。 笑死晦毙,一個胖子當著我的面吹牛生巡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播见妒,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼孤荣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了须揣?” 一聲冷哼從身側(cè)響起盐股,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎耻卡,沒想到半個月后疯汁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡卵酪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年幌蚊,在試婚紗的時候發(fā)現(xiàn)自己被綠了谤碳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡溢豆,死狀恐怖蜒简,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情漩仙,我是刑警寧澤搓茬,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站队他,受9級特大地震影響卷仑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜漱挎,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一系枪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧磕谅,春花似錦私爷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至放刨,卻和暖如春工秩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背进统。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工助币, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人螟碎。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓眉菱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掉分。 傳聞我的和親對象是個殘疾皇子俭缓,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容