Android集成微信支付(史上最詳細(xì)芥备,最無腦)

寫在前面的話

第一次在簡書發(fā)文章冬耿,上個星期公司項(xiàng)目因?yàn)闃I(yè)務(wù)需求,需要接入微信支付萌壳,本人之前并沒有接入微信支付的經(jīng)驗(yàn)亦镶,經(jīng)過一個星期的噩夢,在此整理一下在app端接入微信支付的詳細(xì)步驟袱瓮,能讓小白都能無腦接入成功的新手教程缤骨。


接入前的準(zhǔn)備

別先急著去搞你的代碼,接入先從微信開放平臺open.weixin.qq.com/cgi-bin/index官網(wǎng)開始懂讯。


1.微信開放平臺

已經(jīng)搞定微信平臺開發(fā)者賬號荷憋,并且添加好了應(yīng)用,開通了微信支付的同學(xué)跳過褐望。

申請接入步驟流程

為什么第一步先看這個地方勒庄,因?yàn)橛械墓鹃_發(fā)團(tuán)隊(duì)職責(zé)分配不明確,有些這部分任務(wù)也是由開發(fā)人員來完成的瘫里,1來照顧小白实蔽,看一篇帖子就搞定這個垃圾功能,不用再去百度怎么創(chuàng)建平臺賬號等等瑣事谨读。2來讓開發(fā)人員直接把這個圖丟產(chǎn)品臉上局装,開發(fā):“接個雞兒微信開發(fā),微信平臺賬號你創(chuàng)好了嘛劳殖?應(yīng)用添加了嘛铐尚?支付功能申請了嘛?”哆姻。

推薦是由產(chǎn)品等劃水職業(yè)來搞定這部分工作宣增,反正不是開發(fā)來做。不是偷懶什么的矛缨,這里面有些步驟是需要公司工商證明等材料提交上去爹脾,然后審核的帖旨,我們小開發(fā)仔沒有,再說產(chǎn)品連這個都搞不定灵妨,我要你產(chǎn)品干嘛解阅?


2.微信開放平臺-開發(fā)者

如果你的產(chǎn)品經(jīng)理跟你說他弄好了,你打開開放平臺泌霍,登錄賬號货抄,根據(jù)步驟進(jìn)入到這個界面,不是下面這個圖的樣子烹吵,二話不說直接錘他碉熄,往死里錘! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ------ 尼古拉斯 子路

正常的應(yīng)用詳情

全部審核成功還會有一個商戶號肋拔,還包括商戶平臺的賬號密碼等,商戶平臺我們不管呀酸,但是appID商戶號我們一定要知道凉蜂,調(diào)起微信支付需要用到這兩個參數(shù),可以自己本地配置性誉,推薦還是讓服務(wù)器回給我們窿吩,我們從服務(wù)器取比較正規(guī)。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ------ 尼古拉斯 子路

如果是這個樣子错览,那么恭喜纫雁,你的產(chǎn)品經(jīng)理不是個廢材、只會喊加油666倾哺。


綁定應(yīng)用簽名和包名

上面這個界面怎么來的:“應(yīng)用詳情”界面轧邪,拉倒最底下,看到“開發(fā)信息”羞海,點(diǎn)擊它最右邊那個原諒色的“修改”忌愚,界面跳轉(zhuǎn)后就是這個界面。


下面告訴大家怎么找自己的應(yīng)用簽名和包名: ? ? ??

AS中項(xiàng)目的包名

1.簽名稍微復(fù)雜一點(diǎn)却邓,先下載一個簽名生成工具硕糊,安裝到手機(jī)上。簽名生成工具下載(這個下載鏈接如果失效了腊徙,自己直接去開放平臺 資源中心--->資源下載--->Android資源下載)?再把頁面拉到最下面简十,就能看到了。

2.運(yùn)行那個簽名生成工具撬腾,在那個框里輸入應(yīng)用包名點(diǎn)擊獲取簽名就行了螟蝙。

簽名生成工具

3.簽名是根據(jù)你編譯時候用的jks文件決定的,建議大家debug版build的時候也設(shè)置成release時候用到的jks文件(下圖)时鸵。不用一會去開放平臺提交debug版簽名胶逢,等待開發(fā)調(diào)試完畢厅瞎,又去開放平臺換成release簽名,我個人感覺是有點(diǎn)麻煩的初坠,當(dāng)然和簸,自己選擇。

設(shè)置編輯時候的jks文件

Tips:開放平臺綁定的簽名和手機(jī)上用簽名生成工具得到的簽名一定要一致碟刺。當(dāng)然包名你也別給我搞錯了锁保,不然你就等著各種BOOM。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 綁定包名和簽名的時候不用管ios他們填什么半沽,我們只管我們android爽柒,他們填什么都跟我們不搭嘎,這里告訴大家這個顧慮是多余的者填。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?------尼古拉斯 子路

是不是很簡單浩村,開發(fā)平臺配置完成后,可以細(xì)致的過下官方文檔占哟,有驚喜心墅,下面正式開始代碼部分的接入(文中說的是android studio集成方法,還在用eclipse的小伙伴我只能默哀榨乎,這東西就像一個是電腦端游怎燥,各種超清畫質(zhì),無限地圖蜜暑,多人競技等等铐姚,一個就是小時候玩過的插卡小霸王,二者不可以道里計)肛捍。


代碼集成

1.添加依賴隐绵,下載demo(筆記本截圖太難受了,屏幕太小篇梭,截不全)

android資源下載

2.打開官方支付demo

PayActivityWXPayEntryActivity(支付回調(diào)界面)復(fù)制到自己的項(xiàng)目中氢橙,修改下報錯,除了Copy一下跟這兩個類有關(guān)聯(lián)的類恬偷,其他都不用管悍手。其中WXPayEntryActivity的文件目錄格式要跟下圖一樣,開放平臺綁定的商戶應(yīng)用包名 + wxapi + WXPayEntryActivity袍患。PayActivity則作為支付界面坦康,來調(diào)起微信支付,如果有自己的支付界面诡延,請?zhí)鎿Q滞欠。

Tips:Copy的類中所用到的appID替換成自己應(yīng)用的appID,這點(diǎn)都忘了可以回家養(yǎng)豬了 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ------尼古拉斯 子路

官方demo截圖

3.AndroidManifest.xml中注冊

權(quán)限和activity注冊代碼在demo中就能找到

AndroidManifest.xml中注冊

4.完善一下Copy的兩個主要類

其中WXPayEntryActivity回調(diào)類中肆良,onResp方法筛璧,可以參考修改成下圖逸绎。

微信支付回調(diào)方法

PayActivity支付類

這個類要跟你們講一下支付的流程,先看demo夭谤。

微信官方demo支付類

1.demo中這個接口地址是直接返回參數(shù)的棺牧,可以用瀏覽器看到返回值,真實(shí)項(xiàng)目中地址由后臺接口提供朗儒,并且我們還要傳若干參數(shù)給服務(wù)器颊乘,讓它調(diào)用微信的統(tǒng)一下單接口,再回給我們訂單信息醉锄。

2.這七個參數(shù)是必須傳給我們的乏悄,具體自己跟服務(wù)器端商量,看需求恳不。需要注意的是sign這個參數(shù)回給我們的時候是要經(jīng)過二次簽名的檩小。一次簽名是在服務(wù)端調(diào)統(tǒng)一下單接口需要作為參數(shù)傳給微信的api的,通過微信api返回的參數(shù)妆够,進(jìn)行二次簽名(如下圖)识啦。這個app本不需要了解,但是就怕你的服務(wù)端隊(duì)友沒做過支付神妹,然后又沒仔細(xì)看過文檔,或者在文檔中迷失家妆,那就等著無情-1教做人鸵荠。

商戶與支付系統(tǒng)交互說明

最后貼上我的支付類截圖

給服務(wù)器傳的參數(shù)
請求成功調(diào)起微信支付
獲取七顆龍珠召喚神龍

如果微信支付難度如果是100,那么返回-1的就是其中的80伤极,為什么這么說蛹找,看下圖。

回調(diào)errCode值列表

你們看見這個-1知道是什么原因造成的嘛哨坪?沒人知道庸疾!最屌的就是這個叫“其他異常”的,所以說搞過微信支付的程序員為什么說這個東西垃圾当编,不是沒原因的届慈,把這些吃人飯不干人事的東西推出去斃了,我第一個贊成忿偷。吐槽的地方有很多金顿,就不多說了。

微信支付返回-1的情況和提醒:

1.appID鲤桥,一般不會搞錯揍拆,搞錯的都是一些非要手打的鐵頭娃。

2.正式打包發(fā)布的簽名茶凳,前面說過開放平臺綁定的簽名和手機(jī)上用簽名生成工具得到的簽名一定要一致嫂拴,概念要清楚播揪,一般情況是你發(fā)布打包和debug運(yùn)行的時候他不是一個jks文件,這個隨時可以用簽名生成工具apk查看筒狠,問題不大猪狈。

3.開放平臺修改綁定簽名都是即時生效,提交就生效窟蓝,不用審核啊那些鬼東西罪裹。

4.服務(wù)器訂單簽名,雖然調(diào)了統(tǒng)一下單运挫,但是沒有拿微信api返回給他的參數(shù)做二次簽名就回給我們状共,然后我們這邊也沒處理,這是一定報-1的谁帕,沒做過的不一定知道這點(diǎn)峡继,文章前面也說過。服務(wù)器和app端都可以二次簽名匈挖,但是我們讓服務(wù)端做碾牌,為什么?因?yàn)閍ndroid開發(fā)雞兒最大儡循。

按照我的文章來舶吗,不會報錯,當(dāng)然了择膝,少不了忘記寫什么內(nèi)容誓琼,,如果害的大家掉坑了肴捉,可以評論回復(fù)腹侣,也可以噴我,但是我先聲明齿穗,我這人經(jīng)不起批評傲隶! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ------尼古拉斯 子路

最后

建議大家上面的代碼和截圖不要全部搞ctrl+C,ctrl+V那一套窃页,能自己敲的盡量自己敲跺株,加深印象,有助理解腮出,理解掌握了才能做到無招勝有招的境界帖鸦,上山的路有很多條,希望我們都能找到自己那條胚嘲。

最后把業(yè)務(wù)流程圖給大家作儿,這個一定要看,而且要看明白馋劈,看懂攻锰,想做好程序員要知其然還要知其所以然晾嘶。放在最后是因?yàn)槲矣X得接入成功之后再看能更好的理解,對著代碼娶吞,對著流程垒迂,這么簡單的東西,相信搞android開發(fā)的都能明白妒蛇,加油机断,開發(fā)至上。

以上有關(guān)激進(jìn)言論跟我沒任何關(guān)系绣夺,網(wǎng)上復(fù)制來的吏奸,18以下的請在大人陪同下觀看,本人原創(chuàng)陶耍,轉(zhuǎn)載注明出處就行奋蔚,謝謝大家。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烈钞,一起剝皮案震驚了整個濱河市泊碑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌毯欣,老刑警劉巖馒过,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異酗钞,居然都是意外死亡沉桌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門算吩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人佃扼,你說我怎么就攤上這事偎巢。” “怎么了兼耀?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵压昼,是天一觀的道長。 經(jīng)常有香客問我瘤运,道長窍霞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任拯坟,我火速辦了婚禮但金,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘郁季。我一直安慰自己冷溃,他們只是感情好钱磅,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著似枕,像睡著了一般盖淡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凿歼,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天褪迟,我揣著相機(jī)與錄音,去河邊找鬼答憔。 笑死味赃,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的攀唯。 我是一名探鬼主播洁桌,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼侯嘀!你這毒婦竟也來了另凌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤戒幔,失蹤者是張志新(化名)和其女友劉穎吠谢,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诗茎,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡工坊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了敢订。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片王污。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖楚午,靈堂內(nèi)的尸體忽然破棺而出昭齐,到底是詐尸還是另有隱情,我是刑警寧澤矾柜,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布阱驾,位于F島的核電站,受9級特大地震影響怪蔑,放射性物質(zhì)發(fā)生泄漏里覆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一缆瓣、第九天 我趴在偏房一處隱蔽的房頂上張望喧枷。 院中可真熱鬧,春花似錦、人聲如沸割去。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呻逆。三九已至夸赫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間咖城,已是汗流浹背茬腿。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宜雀,地道東北人切平。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓仗扬,卻偏偏與公主長得像述暂,于是被迫代替她去往敵國和親凶赁。 傳聞我的和親對象是個殘疾皇子撩满,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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