using BWP.ABCClient.Businesses.Type; namespace BWP.ABCClient.Businesses { public class ResultB2BReturned : IReturnedResult { private readonly string _xml; public ResultB2BReturned(string base64string) { var log = new AbcLog("b2bReturn"); log.AddNewLine("TrustPayClient ASP V2.0.1 交易开始=========================="); log.AddNewLine("接收到的支付结果通知:\n[" + base64string + "]"); _xml = MsgUtil.FromBase64StringToXml(base64string); log.AddNewLine("经过Base64解码后的支付结果通知:\n[" + _xml + "]"); log.AddNewLine("验证支付结果通知的签名:"); IsValid = RSAService.Verify(_xml, BusinessTypes.B2B.VerifyEncoding, false, false); if (IsValid) log.AddNewLine("验证通过!\n 经过验证的支付结果通知:\n[" + _xml + "]"); else log.AddNewLine("验证失败!"); log.Commit(); ReturnCode = MsgUtil.GetInnerXml(_xml, "ReturnCode"); ErrorMessage = MsgUtil.GetInnerXml(_xml, "ErrorMessage"); IsSuccess = ReturnCode == "0000" ; SequenceNo = MsgUtil.GetInnerXml(_xml, "MerchantTrnxNo"); } public string Xml { get { return _xml; } } public bool IsValid { get; set; } public string ReturnCode { get; set; } public string ErrorMessage { get; set; } public bool IsSuccess { get; set; } public string SequenceNo { get; set; } } }