Android 微信支付詳解與坑

前段時間公司項目要添加微信支付的功能,然后就簡單看了下微信支付的官方文檔 :https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1? APP端的開發(fā)步驟并不難材失,就簡單的4步和泌。但是真正做起來的時候贸营,卻是小問題一堆骆捧,下面詳細(xì)說一下自己在這個過程中遇到的問題和難點:

下載微信官方給的Android SDK demo?https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_4? 在自己的項目中導(dǎo)入相應(yīng)的jar包岖常,然后按照官方文檔給出的開發(fā)步驟侍筛,再加上官方demo里面的例子萤皂,把微信支付集成到自己的項目中很快很方便。這個過程中自己也看了幾篇別人寫的不錯的博客:Android快速實現(xiàn)微信支付(真的匣椰!很快q晌酢)Android微信支付徹底掃坑?禽笑,里面的一些重點和坑都講得很清楚了入录,以及一些容易出現(xiàn)的失誤都基本上列舉出來了。

公司項目是做電影售票的佳镜,旗下有好多影城僚稿,由于客戶端的子appid 和 我們總的appid,還有商戶id和旗下影城的子商戶id的關(guān)聯(lián)設(shè)置還沒有申請好蟀伸,但是自助取票機(jī)的關(guān)聯(lián)設(shè)置已經(jīng)弄好蚀同,而且都已經(jīng)上線使用了微信支付功能,所以我們客戶端和homgpage在做微信支付的時候啊掏,用的appid是自助取票機(jī)的appid蠢络。一開始我都按照文檔和demo在自己的項目中都設(shè)置好了,然后開始測試迟蜜,由于調(diào)用微信支付的幾個關(guān)鍵參數(shù)現(xiàn)在都是后臺返回給我們的(處于安全考慮嘛刹孔,做后臺的同志工作量有點大),所以我們客戶端需要做的事情就很簡單小泉,調(diào)用接口獲取參數(shù)芦疏,然后拿這些參數(shù)去調(diào)用微信客戶端發(fā)起支付。由于我們自己的影城較多微姊,子商戶id較多酸茴,一開始都寫好了但是調(diào)不起來微信,然后我們就分析問題兢交,也問了微信支付的技術(shù)人員薪捍,然后換appid,設(shè)置關(guān)聯(lián)appid等都不行配喳,后臺傳參數(shù)那邊也考慮過是不是簽名的問題酪穿,晚上加班折騰了幾個小時,發(fā)現(xiàn)后臺兩次簽名用的nonceStr隨機(jī)字符串不一致晴裹。這個需要特別注意的就是后臺兩次簽名驗證的時候的參數(shù)要保持一致被济。這點要特別注意。

然后就是IOS的同事成功拉起了微信支付涧团,但是我android的怎么都掉不起來微信只磷,中間查了各種資料,也試過了各種方法泌绣,網(wǎng)上有說的清除微信客戶端的緩存就可以了钮追,但是這個操作并不能解決問題,清除微信客戶端的緩存只是在app第一次調(diào)用的時候還沒來得及驗證相關(guān)參數(shù)阿迈,所以app就能調(diào)起微信了元媚。而且這種操作成功率也很低,也不能真正解決問題苗沧。后來給微信的官方技術(shù)人員發(fā)了兩次郵件刊棕,也清楚的描述了自己的問題:當(dāng)發(fā)起支付時調(diào)不出微信支付界面,直接響應(yīng)WXPayEntryActivity中的onResp回調(diào)崎页,并且errCode始終返回-1鞠绰。如果微信未登錄,則會調(diào)起登陸界面飒焦,登陸完成后還是調(diào)不起來蜈膨,errCode依然返回-1。他們給出的答案一直就是五條:

1牺荠,你簽名中的key翁巍,也就是你的API密鑰key,這個參數(shù)要你們自己到商戶平臺設(shè)置的休雌,設(shè)置的規(guī)則是32位數(shù)字與字母大小寫的組合的隨機(jī)數(shù)灶壶,不能設(shè)置成簽名串和參數(shù)appsecret,你們有正確設(shè)置嗎杈曲?驰凛?胸懈?

2,需要用簽名發(fā)布程序恰响,直接調(diào)試就返回那個錯誤

3趣钱,注意你后臺簽名的時候傳的參數(shù)順序不對的話,也會報這個錯誤胚宦,要按照文檔要求的順序

4首有, 從預(yù)支付訂單返回的數(shù)據(jù) ,沒有重新簽名枢劝,也會引起這個問題井联。

5,清微信緩存后試試您旁。

我檢查了自己的項目這些都不是問題烙常,困惑了我很久,眼看IOS的同事已經(jīng)把相關(guān)功能做的差不多被冒,然后實在是著急的不行了就直接給微信的技術(shù)人員電話聯(lián)系了军掂,后來才發(fā)現(xiàn)問題的所在:因為現(xiàn)在的項目用的appid不是在公眾平臺注冊應(yīng)用的appid,而是我們這邊的自助取票機(jī)應(yīng)用的appid昨悼,從而導(dǎo)致的安卓客戶端拉不起來微信支付蝗锥。微信官方技術(shù)人員給出的解釋是這樣的:IOS本身有安全處理機(jī)制 ,所以他們那邊沒有限制IOS的應(yīng)用調(diào)用微信率触,但是安卓的由于開源的原因 终议,安卓應(yīng)用每次調(diào)用微信支付的時候都會校驗 appid 、包名? 和 應(yīng)用簽名的葱蝗。? 這三個必須保持一致才能夠成功調(diào)起微信穴张。

還有其他的一些小問題的話查查資料都會解決的,上面給出的兩個文章的鏈接也可以參考看看两曼,還是很有價值的皂甘。問題不大,但是細(xì)心才行悼凑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末偿枕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子户辫,更是在濱河造成了極大的恐慌渐夸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渔欢,死亡現(xiàn)場離奇詭異墓塌,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門苫幢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來访诱,“玉大人,你說我怎么就攤上這事韩肝⊙问” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵伞梯,是天一觀的道長。 經(jīng)常有香客問我帚屉,道長谜诫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任攻旦,我火速辦了婚禮喻旷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘牢屋。我一直安慰自己且预,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布烙无。 她就那樣靜靜地躺著锋谐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪截酷。 梳的紋絲不亂的頭發(fā)上涮拗,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音迂苛,去河邊找鬼三热。 笑死,一個胖子當(dāng)著我的面吹牛三幻,可吹牛的內(nèi)容都是我干的就漾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼念搬,長吁一口氣:“原來是場噩夢啊……” “哼抑堡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锁蠕,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夷野,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后荣倾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悯搔,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了妒貌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片通危。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖灌曙,靈堂內(nèi)的尸體忽然破棺而出菊碟,到底是詐尸還是另有隱情,我是刑警寧澤在刺,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布逆害,位于F島的核電站,受9級特大地震影響蚣驼,放射性物質(zhì)發(fā)生泄漏魄幕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一颖杏、第九天 我趴在偏房一處隱蔽的房頂上張望纯陨。 院中可真熱鬧,春花似錦留储、人聲如沸翼抠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阴颖。三九已至,卻和暖如春丐膝,著一層夾襖步出監(jiān)牢的瞬間膘盖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工尤误, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留侠畔,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓损晤,卻偏偏與公主長得像软棺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子尤勋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

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