av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

小結

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

時間:2021-07-07 16:09:11 小結 我要投稿

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

  基本概念

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

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

  調(diào)試階段,簽名文件可以使用調(diào)試用的debug.keystore,簽名可以直接在eclipse上面查看,或者用工具查看 ,安裝打開輸入包名即可查看。

  發(fā)布的時候一定需要在微信支付平臺上面設置成發(fā)布用的簽名值。

  官方的Demo里面的內(nèi)容并不是全是必須的,甚至只需要有l(wèi)ibammsdk.jar就夠了,AndroidManifest.xml也不用配置。

  AndroidManifest.xml的配置和WXPayEntryActivity.java只是為了能夠得到支付回調(diào),可以先不用去管,先調(diào)試能不能發(fā)起支付。

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

  代碼里發(fā)起支付請求:

  IWXAPI api = WXAPIFactory.createWXAPI(this, Values.WXPAYAPPID);api.registerApp(Values.WXPAYAPPID); // 注冊APPID,這句很重要,不然不會發(fā)起調(diào)用PayReq req = new PayReq();req.appId = wxPay.appid;// 也就是Values.WXPAYAPPID,如果二者不一致的話是沒法發(fā)起支付的。req.partnerId = json.getString("partnerid");req.prepayId = json.getString("prepayid");req.nonceStr = json.getString("noncestr");req.timeStamp = json.getString("timestamp");req.packageValue = json.getString("package");req.sign = json.getString("sign");//req.extData = "";// "app data"; // optionalboolean r = api.sendReq(req);if(!r) { Toast.makeText(this,"打開微信支付失敗!",Toast.LENGTH_SHORT).show();}

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

  正常的話微信客戶端就會打開支付頁面了,那么就可以再著手回調(diào)的事情了。

  把WXPayEntryActivity.java拷貝到你項目包下的wxapi文件夾中,比如你的`包名是com.xx.shop,那么就放到com.xx.shop.wxapi下面。

  設置AndroidManifest.xml,讓其支持回調(diào):

  />

  WXPayEntryActivity.java不需要布局文件的,或者可以根據(jù)你的需要進行布局。

  為了調(diào)試方便,把WXPayEntryActivity.java中onResp的代碼改為:

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

  不管能不能支付成功,如果onResp的代碼能夠被自動執(zhí)行,那么說明你的AndroidManifest.xml里的配置是對了。

  如果你對你的各項參數(shù)都很有把穩(wěn)了(比如你們iOS組的都能支付了,就你Android的還在坑了),那么看一下api.registerApp(Values.WXPAYAPPID);有沒有,沒錯我就坑死在這里了,這種情況下第一次(很偶爾)的能夠打開支付界面一下,后面都不行了。

  總結

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

【Android開發(fā)微信APP支付功能的要點小結講解】相關文章:

php微信支付之APP支付方法10-11

PHP開發(fā)微信支付實例代碼08-05

自薦信的書寫要點小結07-10

app開發(fā)外包注意事項07-26

家長開放日小結講解07-27

講解員年終小結03-12

講解員培訓小結03-13

android開發(fā)崗位的職責3篇09-05

Android實現(xiàn)發(fā)短信和彩信功能07-31