public override bool CheckOrder(IPayHistory order,out string message)
{
string url = AliPay.CreateQueryOrderUrl(company_gateway, "single_trade_query", partner, sign_type, order.OrderId, key, _input_charset);
string responseTxt = CoreHelper.HttpRequest.HttpGet(url, Encoding.Default);
try
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(responseTxt);
XmlNode node = doc.SelectSingleNode("alipay/response/trade/trade_status");
if (node == null)
{
message = "服务器返回:" + responseTxt;
return false;
}
if (node != null)
{
string trade_status = node.InnerText;
if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS")
{
if (order.Status != OrderStatus.已确认)
{
Confirm(order, GetType(), order.Amount);
}
message = "成功";
return true;
}
}
}
catch(Exception ero)
{
message = "出现错误:" + ero.Message;
return false;
}
message = "失败";
return false;
}