18910140161

微信小程序支付回调

顺晟科技

2021-06-16 10:50:08

256

//异步请求回应微信支付是否成功

@事务性

公共字符串weixinNotify(字符串结果字符串){

日志。info('=======' WeinPayNotify start===');

字符串resXml=

字符串返回码=空

字符串结果代码=空

尝试{

//字节流

映射字符串,字符串结果映射=xmlutil。doxmlparse(结果字符串);

日志。信息(' resultMap : ' JSON。TojsonString(resultMap));

string transaction _ id=ResultMap。get(' transaction _ id ');//微信交易流水号

result _ code=resultmap。get(' result _ code ');

string out _ trade _ no=resultmap。get(' out _ trade _ no ');

return _ code=resultmap。get(' return _ code ');

日志。信息('========================微信异步回调来了===================' out _ trade _ no);

//签名验证(在网上复制而来,不知其用处故先注释)

//GenericValue UserLogone=delegator。Findone(' UserLogOn ',utilmisc。TomAP(' UserLogNid ',' admin '),false);

//支付成功修改订单状态和子订单状态添加充电结束时间

if ('SUCCESS ' .等于(返回代码)“SUCCESS”.equals(result_code)) {

log.info('小程序订单列表支付回调接收到了out _ trade _ no========' out _ trade _ no);

//获取主订单

WxRechargeOrderExample WxRechargeOrderExample=new WxRechargeOrderExample();

WxRechargeOrderExample。CreateCriteria().andOrderNumberEqualTo(out _ trade _ no);

WxRechargeOrder WxRechargeOrder=wxrechargeordermapper。selectbyexample(WxRechargeOrderexample).get(0);

wxrechargeorder。设置状态(1);

wxrechargeorder。setupdatedate(new Date());

int I=wxrechargerordermapper。updatebyprimarykey(wxrecharger order);

if(1==i){

//修改用户账户

WxMember WxMember=WxMember mapper。selectbyprimarykey(wxrechargeorder。getmemberid());

big decimal addFudou=wxrechargeorder。getfudou();

wxmember。setfudou(wxmember。getfudou().add(addFudou));

wxmember。设定数量(wxmember。GetAmount().add(wxrechargeorder。GetAmount());

wxmember。setupdatedate(new Date());

wxmembermapper。updatebyprimarykey(Wxmember);

resXml='xml' 'return_code![CDATA[SUCCESS]]/return_code '

return_msg![CData[确定]]/return _ msg ' '/XML ';

}

}else{

resXml='xml' 'return_code![CData[失败]]/return_code '

return_msg![CDATA[报文为空]]/return _ msg ' '/XML ';

}

} catch(unsupportedencodinegexception e){

e .printstacktrace();

} catch (IOException e) {

e .printstacktrace();

} catch (JDOMException e) {

e .printstacktrace();

}捕获(例外e){

e .printstacktrace();

引发新的RuntimeException(“微信异步回调失败!');

}

返回resXml

//return return _ code;

}

备注:有的直接返回成功成就就可以,有的要返回xml,具体按项目

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航