wechat_notify.go 966 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //==================================
  2. // * Name:Jerry
  3. // * Tel:18017448610
  4. // * DateTime:2019/1/28 20:16
  5. //==================================
  6. package gopay
  7. import (
  8. "bytes"
  9. "encoding/xml"
  10. "net/http"
  11. )
  12. func ParseNotifyResult(req *http.Request) (notifyRsp *WeChatNotifyRequest, err error) {
  13. notifyRsp = new(WeChatNotifyRequest)
  14. defer req.Body.Close()
  15. err = xml.NewDecoder(req.Body).Decode(notifyRsp)
  16. if err != nil {
  17. return nil, err
  18. }
  19. return
  20. }
  21. type WeChatNotifyResponse struct {
  22. ReturnCode string `xml:"return_code"`
  23. ReturnMsg string `xml:"return_msg"`
  24. }
  25. func (this *WeChatNotifyResponse) ToXmlString() (xmlStr string) {
  26. buffer := new(bytes.Buffer)
  27. buffer.WriteString("<xml><return_code><![CDATA[")
  28. buffer.WriteString(this.ReturnCode)
  29. buffer.WriteString("]]></return_code>")
  30. buffer.WriteString("<return_msg><![CDATA[")
  31. buffer.WriteString(this.ReturnMsg)
  32. buffer.WriteString("]]></return_msg></xml>")
  33. xmlStr = buffer.String()
  34. return
  35. }