iOS開發(fā)之-微信支付

前言:下面為各位看客介紹微信支付的開發(fā)流程細(xì)節(jié),圖文全方位解析,解決下我遇見的種種坑.......

老規(guī)矩嘛,動(dòng)手之前最好看一下微信支付官方文檔吧!雖然這貨文檔意義并沒有幫助到多大的卵用口糕。

第一步

申請(qǐng)開通微信開放平臺(tái)帳號(hào)(這個(gè)是做微信分享,登陸等等都需要開通的就不BB了,鏈接:微信開放平臺(tái))磕蛇,獲取AppID和AppSecret景描。

如圖:如果微信支付這個(gè)能力獲得十办,紅色圈部分就會(huì)變成已獲得,這屬性名取得也是萌萌噠超棺。

點(diǎn)擊查看詳情進(jìn)入以后向族,可以看見申請(qǐng)審核的進(jìn)度,審核通過以后會(huì)把微信支付的商戶號(hào)和密碼都發(fā)到你郵箱,郵箱,郵箱,重要的事說三遍棠绘。

第二步

到了這里你應(yīng)該進(jìn)入到這個(gè)地方:微信支付|商戶平臺(tái)件相,沒錯(cuò),進(jìn)入了另外一個(gè)網(wǎng)站氧苍,就是這么坑B夜矗,樓主在這里被坑過一次.......這里面其實(shí)也沒啥東西,注意一個(gè)地方就好让虐。

介個(gè)密鑰是啥呢紊撕?其實(shí)就是32位的數(shù)字和英文大小字母的組合,這個(gè)隨便找個(gè)生產(chǎn)密鑰的工具就能生成澄干,只需要保證這個(gè)地方填寫的密鑰和后臺(tái)的密鑰一樣就行了逛揩。

第三步

下載官方demo,把下圖這幾個(gè)貨導(dǎo)入到自己的工程,怎么導(dǎo)入不用說明了吧....

最好看看read_me.txt文檔總歸沒有壞處的嘛

第四步

在AppDelegate里的didFinishLaunchingWithOptions方法里添加

1 [WXApi registerApp:AppID withDescription:@"一只帥B程序員"];

2 在Info->URL Types里面添加AppID

3好麸俘,到了我們的重要步驟,重要步驟惧笛,重要步驟找到官方demo調(diào)支付的方法,如下圖:

各位看客可以進(jìn)入到j(luò)umpToBizPay類方法看看从媚。一看就知道其實(shí)核心代碼就這部份:

//調(diào)起微信支付

NSMutableString *stamp? = [dict objectForKey:@"timestamp"];

PayReq* req? ? ? ? ? ? = [[PayReq alloc] init];

req.partnerId? ? ? ? ? = [dict objectForKey:@"partnerid"]; //商家向財(cái)付通申請(qǐng)的商家id

req.prepayId? ? ? ? ? ? = [dict objectForKey:@"prepayid"]; //預(yù)支付訂單

req.nonceStr? ? ? ? ? ? = [dict objectForKey:@"noncestr"]; //隨機(jī)串,防重發(fā)

req.timeStamp? ? ? ? ? = stamp.intValue; //時(shí)間戳患整,防重發(fā)

req.package? ? ? ? ? ? = [dict objectForKey:@"package"]; //商家根據(jù)財(cái)付通文檔填寫的數(shù)據(jù)和簽

req.sign? ? ? ? ? ? ? ? = [dict objectForKey:@"sign"]; //商家根據(jù)微信開放平臺(tái)文檔對(duì)數(shù)據(jù)做的簽

[WXApi sendReq:req];

注意拜效,樓主是這樣做的:

讓服務(wù)器把上面幾個(gè)參數(shù)打包發(fā)給你,把相應(yīng)數(shù)據(jù)轉(zhuǎn)成模型或者字典啥的,怎么方便怎么搞,通過這個(gè)類方法傳過去各谚,這樣做的好處:

1.安全性高

2.數(shù)據(jù)出錯(cuò)方便查找

3.移動(dòng)端基本原則紧憾,盡量將少移動(dòng)端的壓力和處理量

好了,微信支付也就搞定了昌渤,下面來看看這過程中會(huì)有哪些坑赴穗。

常見坑

看見這個(gè)相信你正一臉蒙B的到處找解決方法吧,讓我來幫你解決問題...額,解決技術(shù)問題膀息。 說幾個(gè)可能出現(xiàn)問題的點(diǎn):

1 自己看看AppID是不是和數(shù)據(jù)庫(kù)返回回來的AppID一樣般眉,有次樓主就SB的少copy了一位。潜支。甸赃。。

2 nonceStr這個(gè)隨機(jī)串其實(shí)就是服務(wù)器給你,你不能控制,所以沒啥注意的冗酿。

3 package = @"Sign=WXPay" 看看服務(wù)器傳回來的是不是這樣的,有可能被編譯成了各種奇特的符號(hào)埠对,sign的確需要大寫络断,不像之前有些帖子說的要小寫。

4 timeStamp這個(gè)時(shí)間戳项玛,求注意

這個(gè)不是NSString類型啊妓羊,服務(wù)器傳回來的時(shí)間戳可以拿到去時(shí)間戳轉(zhuǎn)換工具里面去轉(zhuǎn)換來看看,和當(dāng)前時(shí)間是否一樣,如果不一樣那么很有可能就是你寫成NSString類型了。

5 如果你app同時(shí)使用了友盟分享(含微信分享)和微信支付稍计。如果你沒有處理好這個(gè)兩個(gè)SDK register的順序躁绸,那就很不幸,也會(huì)出現(xiàn)這種情況臣嚣。 (如何出現(xiàn)這種情況净刮,請(qǐng)看我的測(cè)試步驟:1、殺掉微信進(jìn)程硅则、2淹父、刪除自己開發(fā)的app、3怎虫、重新同步自己的app到設(shè)備暑认,點(diǎn)擊微信支付) 兩者register的順序:如果是先調(diào)用微信registerApp、然后調(diào)用友盟的 [UMSocialWechatHandler setWXAppId:WXAppID appSecret:[NSString stringWithBundleNameForKey:@"WXAppSecret"] url:url] 大审,然后按照我測(cè)試的步驟蘸际,應(yīng)該就會(huì)出現(xiàn)。 解決辦法:改變兩者的register步驟徒扶。先調(diào)用友盟粮彤,然后調(diào)用微信。

6 如果上面的都驗(yàn)證過了沒錯(cuò)誤姜骡,那么我遇見的最坑的地方了,就是sing驗(yàn)簽导坟,這廝需要傳幾個(gè)字段進(jìn)去,是要有順序的圈澈,是要注意順序的惫周,必須要注意順序

總結(jié):

我在整個(gè)做支付過程中,沒遇見大的問題康栈,如果連微信支付界面都沒調(diào)起來递递,肯定是iOS開發(fā)這本的問題,如果能調(diào)起來界面谅将,出現(xiàn)一個(gè)確定界面漾狼,百分之80都是那幾個(gè)字段出了問題....希望這篇問題對(duì)大家開發(fā)微信支付有一定的幫助吧!<⒈邸Q吩辍!隅熙!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稽煤,一起剝皮案震驚了整個(gè)濱河市核芽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌酵熙,老刑警劉巖轧简,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異匾二,居然都是意外死亡哮独,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門察藐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來皮璧,“玉大人,你說我怎么就攤上這事分飞°参瘢” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵譬猫,是天一觀的道長(zhǎng)讯檐。 經(jīng)常有香客問我,道長(zhǎng)染服,這世上最難降的妖魔是什么别洪? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮肌索,結(jié)果婚禮上蕉拢,老公的妹妹穿的比我還像新娘。我一直安慰自己诚亚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布午乓。 她就那樣靜靜地躺著站宗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪益愈。 梳的紋絲不亂的頭發(fā)上梢灭,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音蒸其,去河邊找鬼敏释。 笑死,一個(gè)胖子當(dāng)著我的面吹牛摸袁,可吹牛的內(nèi)容都是我干的钥顽。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼靠汁,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蜂大!你這毒婦竟也來了闽铐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤奶浦,失蹤者是張志新(化名)和其女友劉穎兄墅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澳叉,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隙咸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了成洗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片五督。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖泌枪,靈堂內(nèi)的尸體忽然破棺而出概荷,到底是詐尸還是另有隱情,我是刑警寧澤碌燕,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布误证,位于F島的核電站,受9級(jí)特大地震影響修壕,放射性物質(zhì)發(fā)生泄漏愈捅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一慈鸠、第九天 我趴在偏房一處隱蔽的房頂上張望蓝谨。 院中可真熱鬧,春花似錦青团、人聲如沸譬巫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芦昔。三九已至,卻和暖如春娃肿,著一層夾襖步出監(jiān)牢的瞬間咕缎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工料扰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凭豪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓晒杈,卻偏偏與公主長(zhǎng)得像嫂伞,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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

  • 前言:下面介紹微信支付的開發(fā)流程的細(xì)節(jié)末早,圖文并茂烟馅,你可以按照我的隨筆流程過一遍代碼。包你也學(xué)會(huì)了微信支付然磷。而且支付...
    SmileFans閱讀 1,624評(píng)論 7 18
  • 前言 雖然ApplePay的進(jìn)軍中國(guó)市場(chǎng),但是就目前而言,微信支付和支付寶仍占據(jù)主導(dǎo)地位,本章主要是介紹項(xiàng)目中的微...
    Alexander閱讀 824評(píng)論 1 5
  • 筆者最近的項(xiàng)目中使用到了支付的功能郑趁,也遇到了一些坑。在這里跟大家分享一下姿搜。首先附上微信的官方教程寡润。 相關(guān)配置 1....
    YanniLiu閱讀 400評(píng)論 0 2
  • 兩個(gè)月前app中集成了微信支付功能,現(xiàn)在準(zhǔn)備看著項(xiàng)目中自己寫的代碼和之前參考的文章記錄下來舅柜,方便以后開發(fā)方便梭纹。之前...
    一個(gè)很帥的藍(lán)孩子閱讀 569評(píng)論 2 4
  • 今天在這里為大家分享一下在ios開發(fā)中 二維碼的生成方式,生成二維碼的時(shí)候 我們需要借助 libqrencode ...
    J_mine閱讀 790評(píng)論 0 0