關於微信重複回調的問題

最近在做一個微信支付的業務,在處理支付成功後續業務的時候,老是出現重複回調的問題,這個問題困擾了我很久。最後發現居然是@RestController的問題,在類註解上面的@RestController會將結果變成Json格式,但是這樣和微信的xml結果返回值有衝突,只需要給微信回覆一個String格式的xml即可。同時,將@RestController改爲@Controller。代碼如下:

    BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
    msg = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]> 
            </return_msg></xml>";
    out.write(msg.getBytes());
    out.flush();
    out.close();

注意要儘快回覆微信,最好在處理業務之前就回復,否則可能因爲處理業務耗費時間超過微信那邊等待時間,導致重複回調。

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