fix: fix bug for wechat transfer message parse failed

This commit is contained in:
RockYang 2024-01-22 16:10:08 +08:00
parent 578f26a738
commit c605e222a7

View File

@ -39,9 +39,11 @@ func parseTransactionMessage(xmlData string) *Message {
} }
break break
} }
if se.Name.Local == "weapp_path" && !strings.Contains(message.Url, "customerDetails.html") { if se.Name.Local == "weapp_path" || se.Name.Local == "url" {
if err := decoder.DecodeElement(&value, &se); err == nil { if err := decoder.DecodeElement(&value, &se); err == nil {
message.Url = strings.TrimSpace(value) if strings.Contains(value, "trans_id=") {
message.Url = value
}
} }
break break
} }
@ -94,6 +96,9 @@ func extractTransaction(message *Message) Transaction {
parse, err := url.Parse(message.Url) parse, err := url.Parse(message.Url)
if err == nil { if err == nil {
tx.TransId = parse.Query().Get("id") tx.TransId = parse.Query().Get("id")
if tx.TransId == "" {
tx.TransId = parse.Query().Get("trans_id")
}
} }
return tx return tx