記錄一次支付寶多次執行異步回調

問題:支付寶多次執行異步回調,實際上已經調用成功了,但是還是一直在調用。導致回調後對訂單的操作被多次執行(非常可怕)

查閱很多資料,包括詢問支付寶客服,都說我返回值沒有返回"success"

但是我真的返回字符串success了,隨後又看到打印success的字節流可以解決

 		resStr = "success";
        BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
        out.write(resStr.getBytes());
        out.flush();
        out.close();

然而好像沒有什麼軟用
只好通過業務來控制了

    if (trade_status.equals("TRADE_SUCCESS")) {

            // 回調成功之後的公共一些操作
            Example example = new Example(OrderInfoEntity.class);
            example.createCriteria().andEqualTo("orderNumber", out_trade_no);
            OrderInfoEntity orderInfoEntity = orderInfoMapper.selectOneByExample(example);
            if(orderInfoEntity.getOrderStatus().equals("1")){
                return "success";
            }

至此解決,實際上還是在回調,只是不讓他執行回調成功後的操作罷了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章