android微信支付的实现
微信支付雖說要300審核費,但是提交的材料相比較于支付寶還是挺少的!
使用微信支付的接口,首先在微信開放平臺上注冊,申請成為開發(fā)者(需要300元/年),然后微信會給你發(fā)送郵件內(nèi)容為商戶的登錄賬號和密碼(自己保存一下,看過后可能會自動刪除),如果僅僅是使用微信支付,在申請應用時你需要輸入應用的
應用簽名:(即32位MD5,注意一定要與軟件使用的key.store保持一致)
包名:(使用微信支付的APP包名),根據(jù)微信的提示,進行下一步
你還需要準備的材料有 APP_ID(你申請應用時會給你 AppID和AppSecret,而APPSecret我在使用時沒有用到 )、MCH_ID(分給你的商戶ID)和API_KEY(商戶密鑰,這個東西需要你登錄商戶平臺自己設置),如果你得到了這三樣東西你就已經(jīng)成功了一半。下載微信提供的android demo,在eclipse中打開,下面非常重要,你需要修改的東西有:
(1)Constants.java中的三個常量,對應我們上面提到過的三個材料
(2)AndroidManifest.xml 中的<data android:scheme="****"/>把他修改為Constants.java中APP_ID所代表的常量。
(3)申請應用時的應用簽名和包名保持一致。比如微信提供的demo的包名為com.weixin.paydemo,如果我想用它作為測試demo,則申請應用的包名必須為com.weixin.paydemo;對于應用簽名,使用eclipse導出apk格式的文件時,我新建了一個key.store,得到了32位MD5字符串,修改應用簽名為這個32位MD5字符串。
在集成到自己做的APP中時,由于微信給的demo分為三個按鈕來實現(xiàn),獲取prepay_id、組成支付參數(shù)和調(diào)用微信支付三個部分,對于第一個部分,demo使用的
GetPrepayIdTask getPrepayId = new GetPrepayIdTask();
? ? ? ? getPrepayId.execute();
來獲取prepayId,這是異步的,可以在主線程中使用得到prepay_id,對于支付參數(shù)demo提供的方法為genPayReq();對于調(diào)用微信支付demo提供的為sendPayReq();后兩步可在自己做的APP中使用一個button來控制,注意一點:如果三者都放到一個button中控制,得到的prepay_id為空,程序會報錯!自己整理了好久終于弄出來了,感覺好有成就感。。。。
針對支付成功后不能回調(diào)函數(shù)?
可以彈出微信支付的界面,但是支付之后沒有進入回調(diào)的Activity:WXPayEntryActivity??
微信開放平臺有個?不成文的規(guī)定(文檔里沒有說明),就是回調(diào)的Activity必須是:你的包名(微信demo里是:net.sourceforge.simcpux)+.wxapi.WXPayEntryActivity.java
其他的接口回調(diào)的Activity必須是:你的包名(微信demo里是:net.sourceforge.simcpux)+.wxapi.WXEntryActivity.java
測試過程中肯定會遇見其他的問題,多問多查多搜!肯定能解決...語言組織的不好,希望對你有所幫助...
總結(jié)
以上是生活随笔為你收集整理的android微信支付的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 渲染管道(3)几何阶段二“坐标转换”
- 下一篇: 树莓派制作机顶盒