手把手教你android端微信支付

一、添加gradle依賴:

在app module目錄下的build.gralde中添加


gralde構建完成之后,再做下一步的操作。

二、在AndroidManifest.xml中添加相關權限:


三、創(chuàng)建wxapi目錄,并創(chuàng)建WXPayEntryActivity

在你的package目錄下,創(chuàng)建wxapi目錄,比如說我使用的demo項目,wxapi就在目錄net.sourceforge.simcpux目錄下

同時,在wxapi目錄下創(chuàng)建WXPayEntryActivity


WXPayEntryActivity實現(xiàn)IWXAPIEventHandler接口,這個Activity頁面就是支付結果的回調頁面,下面是它最簡單地實現(xiàn):



同時,別忘了在AndroidManifest.xml中聲名WXPayEntryActivity


當這些準備工作都做好之后,就可以準備使用了。

四、使用

當你從服務端獲取到訂單的相關信息后,就可以調用支付接口了:


這里需要注意的是,上面的這些信息,都應該從服務器去獲取,比如說隨機字符串之類的長短也不一定和上面例子中的一致。具體是什么,得看你們的后端給的是什么。

不出意外的話,通過上面接口的調用,你就可以正常使用微信提供的APP支付了。

是不是非常簡單?!

然鵝。。。

事情哪兒有這么順利,到了真正使用的時候,遇到的問題可不少,下面會列舉出遇到過的問題,然后說明解決辦法。

Android端接入微信支付,坑蠻多的

微信支付app的接入,要我來說,對初次嘗試的人非常不友好

一般情況下,開發(fā)者使用新的工具都需要先看一看它的說明文檔,如果說明文檔寫的夠好,直接用就是了;如果文檔介紹的不夠全面,還需要有Demo提供參考。微信的App支付就屬于后者。

下面是它的接入文檔頁面:

Android接入指南(還有其他相關信息也可以通過這個頁面接入)

由于僅僅靠著文檔的說明不足以讓我掌握對微信支付的使用,所以自然而然的,Demo就成了初次接觸微信支付者的學習教材啦!

Demo下載

當你接入Demo后,一系列的問題將會接踵而至,下面來看一看具體是什么問題

接入Demo

將下載后的Demo按照Import moudule的方式接入到某個項目中:


然后選中這個項目,進行編譯:


接下來,編譯器就開始報錯了,找到報錯的位置,發(fā)現(xiàn)是如下問題:


到這里開始,我就要吐槽了

這種問題一看就是找不到包了,于是我們看一下這個項目中的build.gralde中的依賴,如下


很顯然,是導入的本地jar包,為了方便起見,我們將這里的依賴修改成之前配置時的:


同時,我們還可以發(fā)現(xiàn),重新構建完項目后,上面的問題并沒有解決。

這時候我們在Android studio的中的External Libraries去看一看新構建的庫:


可以看到,正確的引用路徑應該是把sdk換成opensdk


當你將所有的路徑都修改過來后,還會有如下問題:


將上面的?imgObj.imageUrl = url?修改為:

imgObj.setImagePath(url);

改完上面的錯誤,我這里還有這個錯誤就是


然后在android里加上下面這句話,紅圈里,如下圖


當你把這些錯誤都解決后,再次進行編譯,就可以正常運行啦!

Demo運行后的界面是這樣的:



到了這里,基本上就可以進行測試了,剩下的東西無需再多說,過程差不多和上面直接接入的流程一樣,不過要demo里面的更加詳細,只需多多觀摩即可。

那么,最后還是說一下需要注意的點吧。

注意事項

在微信開放平臺上面設置app相關參數(shù)的時候,需要應用包名以及應用簽名


獲取應用簽名的工具地址是:簽名工具下載地址

這里又要吐槽一下,簽名工具就是一個apk,裝到手機上后,輸入包名,然后生成簽名,最關鍵的是這個簽名無法復制,使用下來就一個感受,不方便啊?。。?!

簽名工具里面輸入的包名就是之前提到過的,可以直接在Androidmanifest.xml中復制。

但是

盡管包名一樣,release版的項目和debug版的項目最后生成的簽名都是不一樣的,這點很重要!

所以如果你是用的debug進行測試,那么網站里面的簽名一定要填寫debug版下獲取到的簽名,正式發(fā)布的時候,要把它換成release版的!如果簽名不一致,你是無法通過那個“-1”返回值獲取到任何有效的錯誤信息的!切記!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容