來源:http://www.360doc.com/content/15/0214/10/7044580_448519997.shtml
一、使用微信官方的提供的demo裏的appid等
1.微信接口上手指南:(從“移動應用開發”->“Android接入指南”)建議,先把官方這篇文章看完
2.微信支付接口(從“移動應用開發”->“Android開發手冊” )(下載官方demo https://res.wx.qq.com/paymchres/zh_CN/htmledition/download/wxpay/app_wx_pay_tool_android1d902c.zip)
- Android端接口文檔
- SDK for Android
- Sample for Android
- 服務端demo
- 退款及對賬開發指南、退款及對賬demo
一、使用微信官方的提供的demo裏的appid等
1.微信接口上手指南:(從“移動應用開發”->“Android接入指南”)建議,先把官方這篇文章看完
2.微信支付接口(從“移動應用開發”->“Android開發手冊” )(下載官方demo https://res.wx.qq.com/paymchres/zh_CN/htmledition/download/wxpay/app_wx_pay_tool_android1d902c.zip)
- Android端接口文檔
- SDK for Android
- Sample for Android
- 服務端demo
- 退款及對賬開發指南、退款及對賬demo
結合官方給的demo和《微信支付接口 For Android 上手指南》文檔,可以看出,微信支付總共分爲4個步驟:
(1)利用獲取APP_ID 和 APP_SECRET 請求獲取 access_token
一、使用微信官方的提供的demo裏的appid等
1.微信接口上手指南:(從“移動應用開發”->“Android接入指南”)建議,先把官方這篇文章看完
2.微信支付接口(從“移動應用開發”->“Android開發手冊” )(下載官方demo https://res.wx.qq.com/paymchres/zh_CN/htmledition/download/wxpay/app_wx_pay_tool_android1d902c.zip)
- Android端接口文檔
- SDK for Android
- Sample for Android
- 服務端demo
- 退款及對賬開發指南、退款及對賬demo
結合官方給的demo和《微信支付接口 For Android 上手指南》文檔,可以看出,微信支付總共分爲4個步驟:
(1)利用獲取APP_ID 和 APP_SECRET 請求獲取 access_token
一、使用微信官方的提供的demo裏的appid等
1.微信接口上手指南:(從“移動應用開發”->“Android接入指南”)建議,先把官方這篇文章看完
2.微信支付接口(從“移動應用開發”->“Android開發手冊” )(下載官方demo https://res.wx.qq.com/paymchres/zh_CN/htmledition/download/wxpay/app_wx_pay_tool_android1d902c.zip)
- Android端接口文檔
- SDK for Android
- Sample for Android
- 服務端demo
- 退款及對賬開發指南、退款及對賬demo
結合官方給的demo和《微信支付接口 For Android 上手指南》文檔,可以看出,微信支付總共分爲4個步驟:
(1)利用獲取APP_ID 和 APP_SECRET 請求獲取 access_token
(2)利用access_token,以及partnerid和APP_KEY生成預支付訂單
(3)利用之前的參數以及PARTNER_ID調起微信支付
(4)支付完成後
微信會回調 WXPayEntryActivity 的public void onResp(BaseResp resp)方法,所以後續操作,放在這個回調函數中操作就可以了。
resp.errCode== 0 :表示支付成功
resp.errCode== -1 :表示支付失敗
resp.errCode== -2 :表示取消支付
特別注意:
1.第一次很多同學調試微信的官方demo會遇到這樣的問題
(1)、解壓sdk demo工程壓縮包,並導入到workspace,如下圖:
(2)、選擇Eclipse頂部菜單Window->Preferences,在彈出的對話框中,選擇Android目錄下的Build,如下圖:
指定Custom debug keystore選項的路徑爲sdk demo工程目錄中的debug.keystore文件,如下圖:
並應用該配置。
(3)、運行該sdk_sample工程。
二、當你使用自己申請的appid等參數。
當你在微信開發平臺(open.weixin.qq.com)申請一個普通應用時,你會得到:
public static final String APP_ID = “wxd930ea5d5a258f4f”;
private static final String APP_SECRET = “db426a9829e4b49a0dcac7b4162da6b6″;
當你的應用涉及到微信支付功能是,你需要申請微信支付,申請會有些合同啊什麼的,審覈通過你會收到郵件,郵件中會有
private static final String APP_KEY(PaySignKey) = “L8LrMqqeGRxST5reouB0K66CaYAWpqhAVsq7ggKkxHCOastWksvuX1uvmvQclxaHoYd3ElNBrNO2DHnnzgfVG9Qs473M3DTOZug5er46FhuGofumV8H2FVR9qkjSlC5K”; // wxd930ea5d5a258f4f 對應的支付密鑰
除此之外,還有個微信支付商戶申請,申請通過後郵件中會回覆:
public static final String PARTNER_ID = “1900000109″;
private static final String PARTNER_KEY = “8934e7d15453e97507ef794cf7b0519d”;
然後爲了支付的安全起見,最好把支付的前兩個步驟放在服務器端完成,客戶端請求服務器拿到前兩個步驟生成的一些參數,然後在客戶端做第三步,調起微信支付。
特別注意:
1.可以彈出微信支付的界面,但是支付之後沒有進入回調的Activity:WXPayEntryActivity ?
微信開放平臺有個 不成文的規定(文檔裏沒有說明),就是回調的Activity必須是:你的包名(微信demo裏是:net.sourceforge.simcpux)+.wxapi.WXPayEntryActivity.java
其他的接口回調的Activity必須是:你的包名(微信demo裏是:net.sourceforge.simcpux)+.wxapi.WXEntryActivity.java
而且這兩個回調的Activity必須要實現IWXAPIEventHandler的接口 。
2.簽名問題,總是彈不出微信支付界面,然後就回調-1 ?這個問題多半是簽名錯誤,或者keystore,包名,簽名不一致導致。
(1)在申請微信開放平臺的時候需要填寫 應用包名和應用簽名(這個簽名可以用 apk生成),所以這就需要你用正式的 keystore打包應用測試開放平臺的接口。
(2)再有錯誤,就是你第二步生成Prepayid時的app_signature 生成錯誤,仔細看下demo和文檔。
3.注意配置文件中AndroidManifest.xml
demo裏中有這寫配置,似乎對微信支付的調起及回調都有影響,還是按照demo裏的,加上這部分配置
三、微信其他接口-分享接口
用過微信支付接口之後,其他的微信接口就簡單多了。微信的分享 分爲分享到朋友圈和分享給好友(即發送消息)兩種。
(1)直接調用SDK
然後調起 分享的對話框之後就是 微信做的操作,分享完成後一樣會回到回調的入口,你的包名(微信demo裏是:net.sourceforge.simcpux)+.wxapi.WXEntryActivity.java
你可以在onResp中做分享完成的後續操作。
(2)還有一種就是不使用SDK方式分享,參見:http://blog.csdn.net/freesonhp/article/details/10296141
這種方式的缺點就是你得不到回調,不知道分享是否成功,但卻是一種簡單的方式。
如果還有其他什麼問題:參見另一篇文章 http://blog.csdn.net/janice0529/article/details/38051987