最簡單的安卓接入微信支付教程,不簡單你打我!
安卓接入微信支付最簡單的教程,看完不會你打我!
接入微信支付呢,你首先得有個微信支付的商戶端賬戶。這個賬戶一般你公司會提供給你的,一般是財務註冊的,當然如果你們家的財務沒有註冊的話你可以教她怎麼註冊。順便泡泡妞(財務一般都是女的吧)。註冊連結點這裡 https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F,或者百度 微信支付商戶 如果你說你也不會註冊,那麼你可以點選右上角的叉叉關閉本網頁了。 接下來進入正題 接入微信支付你還得申請一個微信開發者賬號(好像是要300塊錢認證費的,太久忘記了),公司一般也會提供,沒提供就繼續叫財務妹子註冊啦!這兩個部分是需要注意的,包名一般你可以看你應用的Activity的第一行,像博主的就是類似com.againstsky.weixindemo(這個應該沒有不知道的吧?)
然後就是應用簽名,簡單來說就是你的簽名檔案的md5值。建議在測試階段填寫debug版本簽名檔案的md5值,方便你的除錯,在正式上線的時候再改成你正式
簽名檔案的md5(當然可以在Android studio中選擇debug的時候也用正式版的簽名檔案啦,不過這就不在本教程中說了!)
那麼問題來了,博主你說了這麼多,還是沒有說怎麼獲得這個檔案的md5值啊!
好好好,你們先把刀放下來,我這就教你們。
方法1:使用微信提供的一個小app,把這個app安裝到你的手機上,接著輸入你的應用的包名就可以獲得了,這裡就不截圖了!
方法2:使用keytool命令
keytool -list -v -keystore 你的簽名檔案的路徑
例:
keytool -list -v -keystore mykey.jks
接著會提示你輸入簽名檔案的密碼
獲取debug版本的命令:
keytool -list -v-keystore debug.keystore
debug版本的命令這樣子寫就可以,不用加路徑,也不會提示你輸入密碼
然後下來的一大堆東西里的MD5值就是我們需要的了。
把中間的冒號給去掉,然後填到微信的申請介面就ok了。
等待微信的稽核通過後你就能拿到一個AppID。接下來就可開始接入了。
首先在你專案的app目錄下的build檔案裡新增這行程式碼:
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
輸入之後IDE會提示你SyncNow。sync now之後IDE會開始下載微信支付的相關sdk。
接著在你的專案的包下新建一個名為 wxapi 的包,包裡新建一個名為WXPayEntryActivity 的activity
注意名字必須和我這裡寫的一模一樣,包括大小寫。這是微信規定的,如果你不這麼寫,嘿嘿,支付回撥就不能成功調起(微信就是這麼任性)
接下來在這個activity裡寫上這些程式碼
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler { private IWXAPI api; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); api = WXAPIFactory.createWXAPI(this, SomeString.WeiXinApiId); api.handleIntent(getIntent(), this); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); api.handleIntent(intent, this); } @Override public void onReq(BaseReq req) { } @Override public void onResp(BaseResp resp) { if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
//重點在這裡,errcode=0的時候代表支付成功,其他情況下都代表支付失敗 if(resp.errCode==0){ Toast.makeText(WXPayEntryActivity.this,"支付成功",Toast.LENGTH_SHORT).show(); }else { Toast.makeText(WXPayEntryActivity.this,"支付失敗",Toast.LENGTH_SHORT).show(); } } } }配置好了回撥類之後就可以寫調起支付的部分了,程式碼很簡單。
private void sendPay() { DeBug.loe("sendPay","true"); final IWXAPI msgApi = WXAPIFactory.createWXAPI(this,這裡就是你剛剛獲得的那個AppID,false); // 將該app註冊到微信 msgApi.registerApp(這裡還是你剛剛獲得的那個AppID); PayReq request = new PayReq(); request.appId = 這裡還是你剛剛獲得的那個AppID; request.partnerId =;//接下來的這幾個部分都是後臺傳過來的資料,如果他沒傳這些給你,啥都別說了,提刀吧 request.prepayId=;// request.packageValue =;// request.nonceStr=;// request.timeStamp=;// request.sign=;// msgApi.sendReq(request); finish(); }
沒錯,你沒有看錯就是這麼一個函式。在activity裡呼叫了這個函式之後,就能成功發起微信支付了。
今天的教程就到這裡,由於本人第一次寫部落格,有不足的地方還請大家多多包涵(不包涵你也不能來打我)。如果有錯誤的地方還請大神指出,博主也是一隻小白,大家共勉!
(如有轉發請備註出處,如果您看的滿意,請關注我,謝謝)