欢乐千炮捕鱼破解版|百乐千炮捕鱼游戏下载

首頁 > 上網技巧 > 電腦小技巧 > 微信小程序支付回調

微信小程序支付回調

時間:2019-08-24 15:10 作者:QQ地帶 我要評論

//異步請求回應微信支付是否成功
@Transactional
public String weixinNotify(String resultStr) {
    log.info("=========weixinPaynotify   start====");
    String resXml = "";
    String return_code=null;
    String result_code=null;
    try {
        //字節流
        Map<String, String> resultMap = XMLUtil.doXMLParse(resultStr);
        log.info("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");
        log.info("===========================微信異步回調 來了========================"+out_trade_no);
        // 簽名驗證(在網上復制而來,不知其用處故先注釋)
        //GenericValue userLogin = delegator.findOne("UserLogin", UtilMisc.toMap("userLoginId", "admin"), false);
 
        //支付成功  修改訂單狀態和子訂單狀態  添加充電結束時間
        if ("SUCCESS".equals(return_code)&&"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.setStatus(1);
            wxRechargeOrder.setUpdateDate(new Date());
            int i = wxRechargeOrderMapper.updateByPrimaryKey(wxRechargeOrder);
            if( 1 == i){
                //修改用戶賬戶
                WxMember wxMember = wxMemberMapper.selectByPrimaryKey(wxRechargeOrder.getMemberId());
 
                BigDecimal addFudou = wxRechargeOrder.getFudou();
                wxMember.setFudou(wxMember.getFudou().add(addFudou));
                wxMember.setAmount(wxMember.getAmount().add(wxRechargeOrder.getAmount()));
                wxMember.setUpdateDate(new Date());
                wxMemberMapper.updateByPrimaryKey(wxMember);
                resXml = "<xml>" + "<return_code><![CDATA[SUCCESS]]></return_code>"
                        + "<return_msg><![CDATA[OK]]></return_msg>" + "</xml> ";
            }
 
        }else{
            resXml = "<xml>" + "<return_code><![CDATA[FAIL]]></return_code>"
                    + "<return_msg><![CDATA[報文為空]]></return_msg>" + "</xml> ";
        }
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (JDOMException e) {
        e.printStackTrace();
    } catch (Exception e){
        e.printStackTrace();
        throw new RuntimeException("微信異步回調失敗!");
    }
    return resXml;
    //return return_code;
}
 
 
備注:有的直接返回SUCCESS就可以,有的要返回xml,具體按項目

標簽: 微信小程序
頂一下
(0)
0%
踩一下
(0)
0%

Google提供的廣告

欢乐千炮捕鱼破解版 体育彩票任选9场胜负 吉林快三微信群 沈阳微乐棋牌下载安装 国际数字商品 怎么赚钱 湖北十一选五如何定胆码 20选5 什么应用能扫码赚钱 新浪棋牌官网手机版 001足球比分比什么 重庆快乐10分定位计划软件下载