Android 快速實現微信支付(真的!很快!)

發表於2016-06-30

如果你已經成功整合了微信登入和分享,那麼此文將助你快速整合微信支付,此文基於微信支付SDK3.1.1,也就是目前為止最新的SDK
1)微信官方的整合文件
2)微信官方資源下載

960283-c7fbcf773523afdf

資源下載

不過我相信,即便你看了微信的官方文件,你依然不知道微信支付怎麼整合,因為微信支付的官方文件簡直太…..

如果你已經準備好了資源包,接下來正式開始整合

我們需要的資源其實有以下幾樣,在開始前,就這些轉備好吧
1)微信支付的APPID
2)微信支付依賴包 >>> libammsdk.jar
3)一個Activity類 >>> WXPayEntryActivity.java

這裡需要特別說明一下,這個Activity類,直接從上下載到的範例程式碼中copy到自己的工程中即可,這個頁面是在你調起微信支付完成支付(或取消或失敗)後,再回到你的App時會呼叫的一個頁面。頁面的佈局可以是你自定義的佈局,直接放圖講解:

先說一下這個類的路徑,網上也有一大堆介紹了,我直接放圖,路徑一定,而且必須是這樣的:

960283-417214d32f9d1b32

WXPayEntryActivity 的路徑

在這個類中需要注意的地方有兩個:
1、這個類中的佈局是可以自定義的,如果你不需要展示什麼佈局,而是要跳轉頁面,把這段程式碼刪除即可

960283-4b5a9868802716d7

回撥頁面的佈局

2、回撥結果的處理,下面是官方的處理方式,直接給了一個dialog,很多人會摸不著頭腦,如果你不需要這個dialog,直接刪除就好了,不需要把官方demo中的佈局和資源都複製過來

960283-821e621def59f7fc

官方的處理方式

下面是我自定義的處理方式,比較簡單,就是土司顯示了一下支付結果,如果你需要支付成功後跳轉,那麼直接在這裡startActivity即可,別忘記最後要將這個頁面finish()

960283-744756e658fdd6be

自定義的處理方式

這個類中的其餘的回撥方法,我們都不需要去操作

然後我們就可以開始支付了,支付很簡單,真的很簡單

960283-9a0659635cd06d3a

引數列表

這是微信支付需要我們攜帶的引數,對於新人來說,可能比較困惑的是我怎麼生成這些引數呢?其實這些引數都是伺服器返回給我們的,APPID我們可以自己儲存在本地一份,其餘的都是伺服器返回給我們的,大概介紹一下流程:

960283-7d4e155e5b2aa9b5

發起支付的流程,提交訂單的時候的引數根據專案需要配置

最後,伺服器返回給我們微信支付的引數後,我們就可以愉快的支付了,這裡是關鍵一步,注意!!

960283-4d11cdfbe6b13049

發起支付的關鍵步驟

至此我們已經可以調起微信支付頁面來支付了
最後還有一個需要注意的是,很多人被這一步坑了,就是關於微信開放平臺簽名的問題。其實只要你手機上的程式的簽名和你在微信平臺登記的簽名一致即可,無論是debug版本,還是release版本

960283-cea711cbbe1c5a7e

微信開放平臺簽名

為了方便測試,我暫時填寫的是我debug的簽名,當然這個是可以改的,修改後會有稽核期,幾天就不知道,有時會很快,當應用快上線之前,記得去改為正式的簽名即可,修改次數我也不知道了,可以自行百度一下!

960283-dd38b1777bf6e9e5

修改簽名

相關文章