Android微信支付接入之細枝末節(jié)

? ? ? ?微信支付接入比較坑的是其官方文檔很簡潔顺献,文檔結構不清晰罐脊,往往不容易找到自己想要看到的東西定嗓。下面對接入微信支付作一個完整的介紹。

一萍桌、創(chuàng)建應用

? ? ? 注冊申請開放平臺賬號是為了創(chuàng)建應用宵溅,不管是移動、網頁上炎、公眾號還是小程序都需要通過開放平臺創(chuàng)建應用恃逻,下面僅描述創(chuàng)建應用中的細節(jié)。

a. 應用圖標大小藕施,必須按照限定的尺寸寇损;

b. 繼上一步之后,下一步填寫平臺信息裳食,需填寫應用簽名與包名矛市,值得注意的是需要把簽名的MD5值的冒號去掉,

獲得該值的方式:

? ? ????1诲祸、在Android Studio的Treminal窗口中使用命令:keytool -list -v -keystore + keystore-path,若在此處執(zhí)行命令失敗浊吏,可以在JDK安裝目錄的bin目錄下打開cmd運行此命令憨愉,而此處若你的電腦是win10,仍可能提示如下信息卿捎,按照提示輸入命令 .\keytool -list -v -keystore xxx-path.jks即可配紫。

????????2、轉入官方文檔APP端開發(fā)步驟午阵,下載官方獲取應用簽名的APK躺孝,GetSignApk,安裝上輸入報名即可底桂。但是此處需要注意調試和Release時所使用的keySotre路徑植袍,如果為了方便可以在App的build.gradle中加入簽名配置,方便更改keystore路徑進行調試籽懦。

signingConfigs {

????debug {

????????storeFile file('xxxx.jks')

????????storePassword"xxxxxxx"

? ? ? ? keyAlias"xxxxxxx"

? ? ? ? keyPassword"xxxxxx"

? ? }

}

3于个、下一步就是提交申請,等待審核暮顺,然后開通支付功能厅篓,需要填寫商戶信息,提交資料捶码,這里就涉及到微信商戶平臺羽氮,已有商戶平臺賬號就快捷很多了,沒有商戶平臺賬號就需要注冊惫恼。商戶Id档押、商戶簽名的key都是來源于商戶平臺。

二祈纯、集成開發(fā)與調試

1令宿、按照指定步驟接入支付到工程,Android接入指南腕窥;

2粒没、進行調試,通常統一下單生成微信預支付訂單油昂、以及對AppId革娄、partnerid、prepayid冕碟、noncestr、timestamp匆浙、package這些必需參數進行簽名都由服務器端完成安寺,客戶端只需要對服務器返回的這些參數進行封裝,本地發(fā)起支付即可首尼,代碼如下:

????????此時挑庶,當你欣喜的編譯代碼言秸,想要發(fā)起支付的時候,發(fā)現支付回調的code為-1迎捺,哈哈举畸,大多數人都會跳進這個坑,摸不著頭腦凳枝,關鍵是官方對-1作如下解釋:

可能的原因:簽名錯誤抄沮、未注冊APPID、項目設置APPID不正確岖瑰、注冊的APPID與設置的不匹配叛买、其他異常等。

一個“其他異常等”就是最大的坑蹋订,這里是真想吐槽一下官方文檔的簡略率挣,下面就來說說返回-1的坑。

3露戒、客戶端錯誤排查

????????a. 檢查簽名椒功,是否是如步驟一中去掉了冒號;

????????b. 檢查APPID是否和服務器端簽名使用的appId一致智什,同時需到開放平臺對比蛾茉;

????????c. 能夠返回-1,這里不需要像大多數攻略去檢查包目錄結構撩鹿,如果沒有任何回調可采用谦炬,但是不得不提一提微信回調的類必須放在工程包名下的第一級目錄,名字必須為wxapi节沦。如下圖:

4键思、服務器端排錯

? ? ? ? a. 檢查簽名參數組合的順序,如官方描述(見下圖)甫贯,通常順序就是appid吼鳞、partnerid、prepayid叫搁、noncestr赔桌、timestamp、package渴逻;

? ? ? ? b. 檢查參與簽名參數的key和value疾党,官方的API文檔參數說明很多帶有連接符(見下圖),一定得注意惨奕,所有參數的key都是小寫并且不帶連接符雪位,appid、partnerid梨撞、prepayid雹洗、noncestr香罐、timestamp、package时肿;

? ? ? ? c. 檢查參數時間戳庇茫,是否是以秒為單位,是否是東八區(qū)(標準北京時間螃成,時區(qū)為東八區(qū)旦签,自1970年1月1日?0點0分0秒以來的秒數。注意:部分系統取到的值為毫秒級锈颗,需要轉換成秒(10位數字))顷霹;

? ? ? ? d. 檢查package參數,如果appid击吱、partnerid淋淀、package這三個參數只是放在客戶端,也得注意他們參與了簽名覆醇。

? ? ? ? e. 檢查簽名所使用的key朵纷,是否是商戶平臺的API秘鑰,而不是開發(fā)平臺的APPSecret永脓。


上面的坑袍辞,簽名設置踩過,但是服務器端的坑都踩過常摧,哈哈搅吁。排除上面的錯誤,基本上微信支付就可以成功了落午。

記錄一下谎懦,避免下次再次摔倒,到處搜尋攻略溃斋,也為需要的小伙伴分享界拦。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市梗劫,隨后出現的幾起案子享甸,更是在濱河造成了極大的恐慌,老刑警劉巖梳侨,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛉威,死亡現場離奇詭異,居然都是意外死亡猫妙,警方通過查閱死者的電腦和手機瓷翻,發(fā)現死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來割坠,“玉大人齐帚,你說我怎么就攤上這事”撕撸” “怎么了对妄?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長敢朱。 經常有香客問我剪菱,道長,這世上最難降的妖魔是什么拴签? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任孝常,我火速辦了婚禮,結果婚禮上蚓哩,老公的妹妹穿的比我還像新娘构灸。我一直安慰自己,他們只是感情好岸梨,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布喜颁。 她就那樣靜靜地躺著,像睡著了一般曹阔。 火紅的嫁衣襯著肌膚如雪半开。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天赃份,我揣著相機與錄音寂拆,去河邊找鬼。 笑死抓韩,一個胖子當著我的面吹牛纠永,可吹牛的內容都是我干的。 我是一名探鬼主播园蝠,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼渺蒿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了彪薛?” 一聲冷哼從身側響起茂装,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎善延,沒想到半個月后少态,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡易遣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年彼妻,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡侨歉,死狀恐怖屋摇,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情幽邓,我是刑警寧澤炮温,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站牵舵,受9級特大地震影響柒啤,放射性物質發(fā)生泄漏。R本人自食惡果不足惜畸颅,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一担巩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧没炒,春花似錦涛癌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至漾脂,卻和暖如春假颇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骨稿。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工笨鸡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坦冠。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓形耗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親辙浑。 傳聞我的和親對象是個殘疾皇子激涤,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容