Android開發微信APP支付功能的要點小結講解

來源:文萃谷 3.56K

基本概念

Android開發微信APP支付功能的要點小結講解

包名值得是你APP的包,在創建工程時候設置的,需要在微信支付平台上面設置。

簽名指的是你生成APK時候所用的簽名文件的md5,去掉:全部小寫,需要在微信支付平台上面設置。

調試階段,簽名文件可以使用調試用的tore,簽名可以直接在eclipse上面查看,或者用工具查看 ,安裝打開輸入包名即可查看。

發佈的時候一定需要在微信支付平台上面設置成發佈用的簽名值。

官方的Demo裏面的內容並不是全是必須的,甚至只需要有就夠了,也不用配置。

的配置和只是為了能夠得到支付回調,可以先不用去管,先調試能不能發起支付。

把拷貝到你項目的libs下,並添加jar引用。

代碼裏發起支付請求:

IWXAPI api = teWXAPI(this, YAPPID);sterApp(YAPPID); // 註冊APPID,這句很重要,不然不會發起調用PayReq req = new PayReq();d = d;// 也就是YAPPID,如果二者不一致的話是沒法發起支付的。nerId = tring("partnerid");ayId = tring("prepayid");eStr = tring("noncestr");Stamp = tring("timestamp");ageValue = tring("package"); = tring("sign");//ata = "";// "app data"; // optionalboolean r = Req(req);if(!r) { Text(this,"打開微信支付失敗!",TH_SHORT)();}

上面的代碼中相關的預下單ID、簽名、時間戳等都是由服務端返回了,服務端在生成這些值的時候需要注意二次簽名的問題。

正常的話微信客户端就會打開支付頁面了,那麼就可以再着手回調的事情了。

把拷貝到你項目包下的wxapi文件夾中,比如你的包名是,那麼就放到i下面。

設置,讓其支持回調:

/>

不需要佈局文件的,或者可以根據你的需要進行佈局。

為了調試方便,把中onResp的代碼改為:

@Overridepublic void onResp(BaseResp resp) { Log.d("onPayFinish", "onPayFinish, errCode = " + ode); if(ode==0){ Text(this,"支付成功!",TH_SHORT)(); }else if(ode==-1){ Text(this,"支付失敗!",TH_SHORT)(); }else if(ode==-2){ Text(this,"取消支付!",TH_SHORT)(); }}

不管能不能支付成功,如果onResp的代碼能夠被自動執行,那麼説明你的裏的配置是對了。

如果你對你的各項參數都很有把穩了(比如你們iOS組的都能支付了,就你Android的還在坑了),那麼看一下sterApp(YAPPID);有沒有,沒錯我就坑死在這裏了,這種情況下第一次(很偶爾)的能夠打開支付界面一下,後面都不行了。

總結

微信為啥不能給點詳細的錯誤代碼或者説明之類,就給一個-1,天知道是什麼意思,真讓人不爽。以上就是Android開發微信APP支付功能要點的全部內容,希望本文的內容對大家開發Android能有所幫助。

熱門標籤