支付寶回調之后修改賬單的狀態


//這個是回調地址之后更新一些訂單狀態的方法

    public ServerResponse aliCallback(Map<String,String> params){ //訂單號
       Long orderNo = Long.parseLong(params.get("out_trade_no")); //支付寶的交易號
        String tradeNo = params.get("trade_no"); //支付寶的交易狀態
        String tradeStatus = params.get("trade_status"); //在這個方法里面查詢一下,看一下這個訂單號碼是否存在
        Order order = orderMapper.selectByOrderNo(orderNo); if(order == null){ return ServerResponse.createByErrorMessage("非快樂慕商城的訂單,回調忽略"); } //在這里調用枚舉類,判斷訂單是否已經支付
        if(order.getStatus() >= Const.OrderStatusEnum.PAID.getCode()){ return ServerResponse.createBySuccess("支付寶重復調用"); } //這里調用的是支付寶官方的枚舉 //“TRADE_STATUS_TRADE_SUCCESS”是交易完成的意思
        if(Const.AlipayCallback.TRADE_STATUS_TRADE_SUCCESS.equals(tradeStatus)){ //記錄交易的時間,這個字符串是固定的
            order.setPaymentTime(DateTimeUtil.strToDate(params.get("gmt_payment"))); order.setStatus(Const.OrderStatusEnum.PAID.getCode()); orderMapper.updateByPrimaryKeySelective(order); //把訂單狀態改成已付款
 } PayInfo payInfo = new PayInfo(); payInfo.setUserId(order.getUserId()); payInfo.setOrderNo(order.getOrderNo()); payInfo.setPayPlatform(Const.PayPlatformEnum.ALIPAY.getCode()); payInfo.setPlatformNumber(tradeNo); payInfo.setPlatformStatus(tradeStatus); payInfoMapper.insert(payInfo); return ServerResponse.createBySuccess(); }

如果你感覺本文對你有幫助,歡迎進群一起探討交流:點我加群


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM