本文问主要介绍接入微信支付中客户端的代码集成过程,运用的工具为AS(Android Studio)。(官网说明文档)
一、导入SDK:
(1) 找到项目代码中app文件夹下的build.gradle文件。
(2) 在dependencies下添加依赖
dependencies{
......
//微信
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
......
}
添加完之后点击编辑器窗口右侧的Sync Now,当AS下方提示完成时,表示微信资源导入完成。若加载错误,将依赖语句换成implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
二、 添加权限
在应用项目代码中main文件夹下的AndroidManifest.xml文件中,在manifest下添加权限
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="XXX">
......
<uses-permission android:name="android.permission.INTERNET" />
......
</manifest>
三、 声明WXPayEntryActivity
在应用项目代码中main文件夹下的AndroidManifest.xml文件中,在application下添加权限
<application ... >
......
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop" />
......
</application>
四、 调用支付接口
(1) 微信注册。在调用微信支付的Activity先声明全局变量private IWXAPI msgApi;
,在onCreate方法中添加
//初始化操作 微信注册
msgApi = WXAPIFactory.createWXAPI(this, WeiXinConstants.APP_ID,true);
msgApi.registerApp(WeiXinConstants.APP_ID);
(1) 设置一个点击事件,表示启用微信支付。调用服务端的接口,参数为支付金额、产品描述等信息,返回值为订单信息。
(2) 将从服务端返回的订单信息作为参数,调用如下方法:
其中的类IWXAPI和WeiXinConstants在一个文件夹下
private void AliPay(String orderInfo) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(MainActivity.this);
Map<String, String> result = alipay.payV2(orderInfo, true);
Message msg = new Message();
msg.what = SDK_PAY_FLAG;//int 自定义 异步调用标识 唯一
msg.obj = result;
mHandler.sendMessage(msg);
}
};
// 必须异步调用
Thread payThread = new Thread(payRunnable);
payThread.start();
}
其中的参数orderInfo是从服务端获取的订单信息。
(3) 通过Handler对象获取支付结果。在调用支付的Activity中创建全局变量
标签:调用,--,微信,APP,添加,支付,...... 来源: https://www.cnblogs.com/LLj-511/p/15095447.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。