protected virtual async Task <XDocument> RequestAndGetReturnValueAsync2(string targetUrl, PayParameters requestParameters) { var result = await RequestAsync(targetUrl, requestParameters.ToXmlStr()); if (result.Element("xml").Element("return_code").Value != "SUCCESS") { var errMsg = "微信支付接口调用失败,具体失败原因:" + result.Element("xml").Element("return_msg").Value ; var exception = new Exception(errMsg); exception.Data.Add(nameof(targetUrl), targetUrl); exception.Data.Add(nameof(result), result.ToString()); throw exception; } Log.Information(result.ToString(), "TenPay_XmlResult"); return(result); }
protected virtual async Task <XmlDocument> RequestAndGetReturnValueAsync(string targetUrl, PayParameters requestParameters) { var result = await RequestAsync(targetUrl, requestParameters.ToXmlStr()); if (result.SelectSingleNode("/xml/return_code")?.InnerText != "SUCCESS" || result.SelectSingleNode("/xml/return_code")?.InnerText != "SUCCESS" || result.SelectSingleNode("/xml/return_msg")?.InnerText != "OK") { var errMsg = $"微信支付接口调用失败,具体失败原因:{result.SelectSingleNode("/xml/err_code_des")?.InnerText ?? result.SelectSingleNode("/xml/return_msg")?.InnerText}"; Log.Error(errMsg, targetUrl, requestParameters); var exception = new Exception(errMsg); exception.Data.Add(nameof(targetUrl), targetUrl); exception.Data.Add(nameof(requestParameters), requestParameters); throw exception; } return(result); }