收藏
回答

android 微信支付没回调,微信登陆,分享都有回调

android 微信支付没回调,微信登陆,分享都有回调
微信支付成功后  WXEntryActivity的onCreate 都没有进去,咋整啊?

微信登陆,分享回调都正常啊,配置是没问题的吧。

用的最新的sdk
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.3.1'


public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
    private IWXAPI api;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        Log.e("ssss---onCreate--1", Config.APP_ID);
        super.onCreate(savedInstanceState);
        Log.e("ssss---onCreate", Config.APP_ID);
        api = WXAPIFactory.createWXAPI(this, null);
        api.registerApp(Config.APP_ID);
        //不写没有回调
        api.handleIntent(getIntent(), this);
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Log.e("ssss-------", "onNewIntent");
        setIntent(intent);
        api.handleIntent(intent, this);
    }

    @Override
    public void onReq(BaseReq baseReq) {
        Log.e("ssss---1", "req" + baseReq.openId);
    }

    @Override
    public void onResp(BaseResp baseResp) {
        Log.e("ssss---2", "onResp");
        switch (baseResp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
                    ToastUtil.showShort(WXEntryActivity.this, "支付成功");
                    Log.e("ssss", "支付成功11");
                } else if (baseResp.getType() == 2) {
                    //分享
                    ToastUtil.showShort(WXEntryActivity.this, "分享成功");
                    Log.e("ssss", "分享成功11");
                } else if (baseResp.getType() == 1) {
                    ToastUtil.showShort(WXEntryActivity.this, "授权成功");
                    //登录
                    String code = ((SendAuth.Resp) baseResp).code;
                    Log.e("ssss", "授权成功11"+code );
                }
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                //用户取消
                if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
                    ToastUtil.showShort(WXEntryActivity.this, "取消支付");
                } else if (baseResp.getType() == ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX) {
                    ToastUtil.showShort(WXEntryActivity.this, "取消分享");
                }
                break;
            case BaseResp.ErrCode.ERR_AUTH_DENIED:

                break;
            case BaseResp.ErrCode.ERR_UNSUPPORT:

                break;
        }

    }

最后一次编辑于  03-22  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 微信支付技术助手
    微信支付技术助手
    03-22

    您好,按照以下几点检查,

    1,检查回调url是否正确,回调url是不能带参数的,请注意。

    2,是否有按照文档要求正确返回参数<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>给到微信。

    3,是否开启了防火墙把微信的通知给屏蔽了。

    4,是否响应超时。

    5,是否正确使用post请求。

    6,回调url修改成http协议试试。


    03-22
    赞同
    回复 2
    • byc...
      byc...
      03-22

      回答的什么?我app里支付成功了,WXEntryActivity  没有回调啊

      WXEntryActivity  配置正确的吧,因为微信登陆,分享都有回调

      03-22
      回复
    • 微信支付技术助手
      微信支付技术助手
      03-26回复byc...

      您好,我以为您说的是回调出错呢,WXEntryActivity  没有回调应该是代码上的问题,您可以参考一下官方demo,这个需要开发者自己开发。

      03-26
      回复