Android微信支付回调类

本文介绍了一个用于集成微信支付功能的Android应用示例。通过WXPayEntryActivity类实现微信支付流程,包括响应支付结果并根据不同结果展示相应的提示信息。具体实现了支付成功、取消及失败等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * WXPayEntryActivity 微信支付 包名与类名不能变
 */
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        IWXAPI api = WXAPIFactory.createWXAPI(this, Constants.WX_ID);
        api.handleIntent(getIntent(), this);
    }

    @Override
    public void onReq(BaseReq baseReq) {

    }

    @Override
    public void onResp(BaseResp baseResp) {
        if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
            switch (baseResp.errCode) {
                case 0:
                    Toast.makeText(getApplicationContext(), "支付成功", Toast.LENGTH_SHORT);
                    finish();
                    break;
                case -1:
                    Toast.makeText(getApplicationContext(), "支付取消", Toast.LENGTH_SHORT);
                    finish();
                    break;
                case -2:
                    Toast.makeText(getApplicationContext(), "请求失败", Toast.LENGTH_SHORT);
                    finish();
                    break;
            }
            finish();
        }
    }
}
### 实现 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 及其他属性值,并据此采取相应的行动措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值