Android 微信支付回调

被微信文档支配了好久,含泪写下这篇文档,记录一下成果,新手上路,如有问题,多多包涵。

1、首先调用后台接口,获取到orderInfo对象, 取出微信所需参数,传给PayReq对象中对应的参数,然后调用api.sendReq(payReq),就可以唤起微信支付。
在这里插入图片描述
2、有些情况下,需要在支付完成后做一些操作,因此就需要用到微信支付回调。
(1)首先在自己的包名路径+wxapi 包下创建WXPayEntryActivity类继承Activity并实现IWXAPIEventHandler。既然是Activity,就一定要在清单文件里注册。
(2)重写onResp(BaseResp resp)方法,注意和onReq(BaseReq baseReq)区分。
(3)在onResp(BaseResp resp)方法中判断支付是否成功,并在支付成功后,做相应的操作。
在这里插入图片描述
3、此时就可以去试一下支付后是否回掉了,如果一步步按照我以上说的做,不出意外的话,回调是不会走的。哈哈哈。。。回头看一下我们在清单文件里注册的WXPayEntryActivity,一定要在加上android:exported=“true”,android:launchMode="singleTop"这两个属性。此时不出意外的话,回调应该就没有问题了。
在这里插入图片描述

### 实现 Android 应用中的微信支付 SDK 自定义回调 为了实现在 Android 平台上的微信支付并定制化其回调逻辑,开发者需遵循特定流程以确保支付过程顺利以及结果能够被正确处理。 #### 添加依赖项 在 `build.gradle` 文件中加入微信 SDK 作为项目的依赖: ```gradle dependencies { implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+' } ``` 这一步骤允许应用程序访问微信提供的 API 接口[^2]。 #### 初始化 SDK 和注册应用 启动时初始化 WeChat SDK,并通过调用 `IWXAPI::registerApp(String appId)` 方法向微信服务器登记当前的应用程序实例。此操作通常放在 Application 类或主 Activity 的 onCreate() 函数里执行。 #### 发起支付请求 当用户确认购买商品后,构建 PayReq 对象并将必要的参数填入其中(例如预付订单号 prepay_id),之后利用 IWXAPI 提供的方法 sendReq 来发送支付指令给微信客户端[^3]。 #### 处理支付响应 对于自定义回调机制而言,在接收到支付完成的通知时,应重写 `WXPayEntryActivity` 或者继承默认的入口类来捕获来自微信返回的数据包。具体来说就是覆盖 onResp(BaseResp resp) 方法以便解析 BaseResp 参数内的信息字段,从而得知交易状态和其他详情[^4]。 ```java @Override public void onResp(BaseResp baseResp) { switch (baseResp.getType()) { case ConstantsAPI.COMMAND_PAY_BY_WX: if(baseResp.errCode == BaseResp.ErrCode.ERR_OK){ // 支付成功后的业务逻辑 }else{ // 支付失败或其他情况下的处理 } break; default: super.onResp(baseResp); } } ``` 上述代码片段展示了如何捕捉到由微信传递过来的结果码 errCode 及其他属性值,并据此采取相应的行动措施。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值