免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Android實(shí)現(xiàn)微信支付功能詳解

1.集成微信支付SDK:

創(chuàng)新互聯(lián)成立與2013年,公司以做網(wǎng)站、成都網(wǎng)站建設(shè)、系統(tǒng)開(kāi)發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶上1000+,涉及國(guó)內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開(kāi)發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

在build.gradle中,添加如下依賴

compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'

2.設(shè)置微信支付回調(diào)頁(yè)面:

路徑:項(xiàng)目包名.wxapi
名稱:WXPayEntryActivity

public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {

 private IWXAPI api;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.wx_pay_result);
  api = WXAPIFactory.createWXAPI(this, "你的APP_ID");
  api.handleIntent(getIntent(), this);
 }

 @Override
 protected void onNewIntent(Intent intent) {
  super.onNewIntent(intent);
  setIntent(intent);
  api.handleIntent(intent, this);
 }

 @Override
 public void onResp(BaseResp resp) {
  int errCode = resp.errCode;
 }
}

errCode:說(shuō)明
0:成功……展示成功頁(yè)面。
-1:錯(cuò)誤……可能的原因:簽名錯(cuò)誤、未注冊(cè)APPID、項(xiàng)目設(shè)置APPID不正確、注冊(cè)的APPID與設(shè)置的不匹配、其他異常等。
-2:用戶取消……無(wú)需處理。發(fā)生場(chǎng)景:用戶不支付了,點(diǎn)擊取消,返回APP。

3.設(shè)置Manifest

<activity
 android:name=".wxapi.WXPayEntryActivity"
 android:exported="true"
 android:launchMode="singleTop">
 <intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:scheme="你的APP_ID" />
 </intent-filter>
</activity>

4.設(shè)置MD5

public class MD5 {

 private MD5() {
 }

 public final static String getMessageDigest(byte[] buffer) {
  char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
  try {
   MessageDigest mdTemp = MessageDigest.getInstance("MD5");
   mdTemp.update(buffer);
   byte[] md = mdTemp.digest();
   int j = md.length;
   char str[] = new char[j * 2];
   int k = 0;
   for (int i = 0; i < j; i++) {
    byte byte0 = md[i];
    str[k++] = hexDigits[byte0 >>> 4 & 0xf];
    str[k++] = hexDigits[byte0 & 0xf];
   }
   return new String(str);
  } catch (Exception e) {
   return null;
  }
 }
}

5.發(fā)起微信支付

/**
 * 注冊(cè)微信支付
 */
private void registerWx() {
 IWXAPI wxapi = WXAPIFactory.createWXAPI(context, null);
 wxapi.registerApp("你的APP_ID");
}

/**
 * 發(fā)起微信支付
 */
private void wxPay() {
 PayReq payReq = new PayReq();
 payReq.appId = "后臺(tái)返回的appId";
 payReq.partnerId = "后臺(tái)返回的partnerId";
 payReq.prepayId = "后臺(tái)返回的prepayId";
 payReq.packageValue = "后臺(tái)返回的package";
 payReq.nonceStr = "后臺(tái)返回的nonceStr";
 payReq.timeStamp = "后臺(tái)返回的timeStamp";
 payReq.signType = "后臺(tái)返回的signType";
 payReq.sign = signNum();
 wxapi.sendReq(payReq);
}

/**
 * 拼接sign
 */
public static String signNum() {
 String stringA = "appid=" + "后臺(tái)返回的appid" +
   "&noncestr=" + "后臺(tái)返回的noncestr" +
   "&package=" + "后臺(tái)返回的package" +
   "&partnerid=" + "后臺(tái)返回的partnerid" +
   "&prepayid=" + "后臺(tái)返回的prepayid" +
   "&timestamp=" + "后臺(tái)返回的timestamp";
 String stringSignTemp = stringA + "&key=" + "后臺(tái)商戶服務(wù)端的key";
 String sign = MD5.getMessageDigest(stringSignTemp.getBytes()).toUpperCase();
 return sign;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

文章標(biāo)題:Android實(shí)現(xiàn)微信支付功能詳解
分享URL:http://m.newbst.com/article8/pdsgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)App設(shè)計(jì)外貿(mào)建站網(wǎng)站改版電子商務(wù)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司