using BWP.ABCClient.Businesses.Type;
|
|
|
|
namespace BWP.ABCClient.Businesses
|
|
{
|
|
public class ResultB2CReturned : IReturnedResult
|
|
{
|
|
private readonly string _xml;
|
|
|
|
public ResultB2CReturned(string base64string)
|
|
{
|
|
var log = new AbcLog("b2cReturn");
|
|
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.B2C.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, "OrderNo");
|
|
}
|
|
|
|
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; }
|
|
}
|
|
}
|