我也遇到这个问题了 取消支付 BaseResp里的openId和transaction字段都是null
支付成功的onResp回调里transaction字段为空当我发起微信支付,支付成功后,返回商家(返回我们自己的app),WXPayEntryActivity的onResp回调里的transaction字段值为空,但是errCode为0,那么是代表支付是成功了,但是这个支付单号transaction值为什么会是null,是哪里还需要其他设置吗?还是说支付成功后,微信只会返回给客户端支付接过,并不会返回支付成功后的支付单号?求解 [代码]@Override[代码][代码] [代码][代码]public[代码] [代码]void[代码] [代码]onResp(BaseResp baseResp) {[代码][代码] [代码][代码]Log.d([代码][代码]"com.shgame.sszm"[代码][代码],[代码][代码]"支付结果回调:"[代码][代码]+baseResp.getType()+[代码][代码]" "[代码][代码]+baseResp.transaction);[代码][代码] [代码][代码]if[代码] [代码](baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX)[代码][代码] [代码][代码]{[代码][代码] [代码][代码]SHMainActivity.CurActivity.OnNotifyWXPayResult(baseResp);[代码][代码] [代码][代码]if[代码][代码](baseResp.errCode == [代码][代码]0[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]Log.d([代码][代码]"com.shgame.sszm"[代码][代码],[代码][代码]"支付成功:"[代码][代码]+baseResp.transaction+[代码][代码]" "[代码][代码]+baseResp.errStr+[代码][代码]" "[代码][代码]+[代码][代码] [代码][代码]baseResp.openId);[代码][代码] [代码][代码]Toast.makeText([代码][代码]this[代码][代码],[代码][代码]"支付成功:"[代码][代码]+baseResp.transaction,Toast.LENGTH_LONG);[代码][代码] [代码][代码]}[代码][代码]else[代码] [代码]if[代码][代码](baseResp.errCode == -[代码][代码]2[代码][代码])[代码][代码] [代码][代码]{[代码][代码] [代码][代码]//支付取消[代码][代码] [代码][代码]Log.d([代码][代码]"com.shgame.sszm"[代码][代码],[代码][代码]"支付取消:"[代码][代码]+baseResp.errCode);[代码][代码] [代码][代码]Toast.makeText([代码][代码]this[代码][代码],[代码][代码]"支付取消:"[代码][代码]+baseResp.errCode,Toast.LENGTH_LONG);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]else[代码][代码]{[代码][代码] [代码][代码]Log.d([代码][代码]"com.shgame.sszm"[代码][代码],[代码][代码]"支付失败:"[代码][代码]+baseResp.errCode);[代码][代码] [代码][代码]Toast.makeText([代码][代码]this[代码][代码],[代码][代码]"支付失败:"[代码][代码]+baseResp.errCode,Toast.LENGTH_LONG);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]finish();[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码]
2022-02-17