一、获取AppId
需要到微信开放者平台(
https://open.weixin.qq.com/)创建自己的应用,通过审核后,获取AppId。
二、集成微信支付的sdk
在Android Studio 环境中:
1>
在build.gradle文件中,添加如下依赖即可:
dependencies { // 包含统计功能
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}或者:
dependencies {
compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}
三、在AndroidManifest.xml中添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
四、注册微信
要使App调微信后微信终端能响应自己的App,需要现在代码中向微信终端注册自己的id:
IWXAPI api = WXAPIFactory.createWXAPI(this, APP_ID, true);
api.registerApp(APP_ID);
五、微信请求回调
在AndroidManifest.xml 中package="com.exe.text" , 创建包名"com.exe.text.wxapi",并在这个包下创建回调类
WXPayEntryActivity并注册:
首先在onCreate(Bundle savedInstanceState) 和 onNewIntent(Intent intent)中调用IWXAPI.handleIntent(intent , context);
其次:
@Override
public void onResp(BaseResp resp) {
if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
if (resp.errCode == 0) {
ToastUtils.showShort(UIUtils.getStringResource(this, R.string.pay_success));
this.finish();
} else if (resp.errCode == -1) {
ToastUtils.showShort(UIUtils.getStringResource(this, R.string.system_abnormal));
this.finish();
} else if (resp.errCode == -2) {
ToastUtils.showShort(UIUtils.getStringResource(this, R.string.user_dismiss_pay));
this.finish();
}
} else {
Toast.makeText(this, resp.errStr, Toast.LENGTH_LONG).show();
}
}
六、请求服务器获取微信支付的相关参数
请求自己的服务端获取微信支付需要的相关参数:
PayReq payReq = new PayReq();
payReq.appId = result.getAppId();//创建的应用的AppId
payReq.partnerId = KeyConfig.MCH_ID; // 商户号
payReq.prepayId = result.getPrepay_id(); // 预支付交易会话ID
payReq.packageValue = result.getPackageX(); //扩展字段
payReq.nonceStr = result.getNonceStr(); //随机字符串
payReq.timeStamp = result.getTimeStamp();//
payReq.sign = result.getSign(); //签名
api.sendReq(payReq);
七、微信支付的的注意点
1、微信开发平台创建的App的签名必须和打包后签名一致;2、微信支付必须打包后才能调起;3、微信开发平台创建应用审核通过后,可以修改应用的签名。
七、微信支付的的注意点PayReq payReq = new PayReq(); payReq.appId = result.getAppId();//创建的应用的AppId payReq.partnerId = KeyConfig.MCH_ID; // 商户号 payReq.prepayId = result.getPrepay_id(); // 预支付交易会话ID payReq.packageValue = result.getPackageX(); //扩展字段 payReq.nonceStr = result.getNonceStr(); //随机字符串 payReq.timeStamp = result.getTimeStamp();// payReq.sign = result.getSign(); //签名 api.sendReq(payReq);1、微信开发平台创建的App的签名必须和打包后签名一致;2、微信支付必须打包后才能调起;3、微信开发平台创建应用审核通过后,可以修改应用的签名。
本文详细介绍了在Android应用中集成微信支付的过程,包括获取AppId、集成SDK、添加权限、注册微信、处理回调及请求服务器获取支付参数等步骤,并强调了微信支付的一些关键注意事项,如签名一致性、打包后调起支付以及应用审核状态的要求。
833

被折叠的 条评论
为什么被折叠?



