namespace K.Y.DLL.Pay
{
public class ZFBPay
{
public enum ZFB_TradeStatus
{
TRADE_ERROR = 0,
TRADE_CREAT = 1,
WAIT_BUYER_PAY = 2,//from zfb
TRADE_SUCCESS = 3,//from zfb
TRADE_FAILURE = 4,
}
private static readonly string partner = "2088411297150842";
public class CallBack
{
public static Boolean CallBack_NotifyID_Validate(string notify_id)
{
string sendURL = string.Format("https://mapi.alipay.com/gateway.do?service=notify_verify&partner={0}¬ify_id={1}", partner, notify_id);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sendURL);
HttpWebResponse respone = (HttpWebResponse)request.GetResponse();
StreamReader stream = new StreamReader(respone.GetResponseStream(), Encoding.Default);
//获取结果
string resultStr = stream.ReadToEnd();
var IsVality = resultStr.ToLower() == "true";
return IsVality;
}
public static CallBack CallBack_Check(string trade_no, string subject, string out_trade_no, string notify_time, string total_fee, string notify_id, string trade_status)
{
var mZFBPay = new CallBack
{
trade_no = trade_no,
subject = subject,
out_trade_no = out_trade_no,
notify_time = notify_time,
total_fee = total_fee,
notify_id = notify_id,
trade_status = trade_status,
IsVality = false,
TradeStatus = ZFB_TradeStatus.TRADE_ERROR
};
mZFBPay.IsVality = CallBack_NotifyID_Validate(mZFBPay.notify_id);
if (mZFBPay.IsVality)
{
var TR = ZFB_TradeStatus.TRADE_FAILURE;
Enum.TryParse(mZFBPay.trade_status, out TR);
mZFBPay.TradeStatus = TR;
}
return mZFBPay;
}
public string trade_no;
public string subject;
public string out_trade_no;
public string notify_time;
public string total_fee;
public string notify_id;
public string trade_status;
public Boolean IsVality = false;
public ZFB_TradeStatus TradeStatus;
}
}
}
我知道这世界
如露珠般短暂
然而
然而
浙公网安备 33010602011771号