public string GetBankingURL(double amount, string bankcode, string idbill, DateTime createDate, string language = "vn") { //Build URL for VNPAY VnPayLibrary vnpay = new VnPayLibrary(); string vnp_HashSecret = VNPAY_HASH_SECRECT; string vnp_TmnCode = VNPAY_TMNCODE; vnpay.AddRequestData("vnp_Locale", language); vnpay.AddRequestData("vnp_Version", VNPAY_VERSION); vnpay.AddRequestData("vnp_Command", "pay"); vnpay.AddRequestData("vnp_TmnCode", vnp_TmnCode); vnpay.AddRequestData("vnp_CurrCode", "VND"); vnpay.AddRequestData("vnp_TxnRef", idbill); vnpay.AddRequestData("vnp_OrderInfo", "He thong yeu cau thanh toan cho hoa don " + idbill); vnpay.AddRequestData("vnp_OrderType", "250006"); //default value: other vnpay.AddRequestData("vnp_Amount", (amount * 100).ToString()); vnpay.AddRequestData("vnp_ReturnUrl", HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/Cart/Callback"); vnpay.AddRequestData("vnp_IpAddr", Utils.GetIpAddress()); vnpay.AddRequestData("vnp_CreateDate", createDate.ToString("yyyyMMddHHmmss")); vnpay.AddRequestData("vnp_BankCode", bankcode); string paymentUrl = vnpay.CreateRequestUrl(URL_VNPAY_INTERNET_BANKING, vnp_HashSecret); return(paymentUrl); }
public void Refund(long IDVNPay, string OrderId, DateTime payDate, float Amount, string info) { var vnpay_api_url = URL_VNPAY_REFUND; var vnpHashSecret = VNPAY_HASH_SECRECT; string vnp_TmnCode = VNPAY_TMNCODE; var vnpay = new VnPayLibrary(); var createDate = DateTime.Now; var strDatax = ""; try { var amountrf = Convert.ToInt32(Amount) * 100; vnpay.AddRequestData("vnp_Version", VNPAY_VERSION); vnpay.AddRequestData("vnp_Command", "refund"); vnpay.AddRequestData("vnp_TmnCode", vnp_TmnCode); vnpay.AddRequestData("vnp_CreateBy", "kiosk"); vnpay.AddRequestData("vnp_TransactionType", "02"); vnpay.AddRequestData("vnp_TxnRef", OrderId); vnpay.AddRequestData("vnp_Amount", amountrf.ToString()); vnpay.AddRequestData("vnp_OrderInfo", info); vnpay.AddRequestData("vnp_TransDate", payDate.ToString("yyyyMMddHHmmss")); vnpay.AddRequestData("vnp_CreateDate", createDate.ToString("yyyyMMddHHmmss")); vnpay.AddRequestData("vnp_IpAddr", Utils.GetIpAddress()); var paymentUrl = vnpay.CreateRequestUrl(vnpay_api_url, vnpHashSecret); var request = (HttpWebRequest)WebRequest.Create(paymentUrl); request.AutomaticDecompression = DecompressionMethods.GZip; using (var response = (HttpWebResponse)request.GetResponse()) using (var stream = response.GetResponseStream()) if (stream != null) { using (var reader = new StreamReader(stream)) { strDatax = reader.ReadToEnd(); } } var data = strDatax.Split('&'); //amount var vnpAmount = data[0].Split('='); var amount = int.Parse(vnpAmount[1]); // ResponseCode var vnpResponseCode = data[5].Split('='); var responsecode = vnpResponseCode[1]; // Vnpay TransactionStatus var vnpTransactionStatus = data[8].Split('='); var transactionstatus = vnpTransactionStatus[1]; // OrderID var vnpTxnRef = data[10].Split('='); var txnref = vnpTxnRef[1]; if (responsecode.Equals("00")) { return; } throw new Exception(strDatax); } catch (Exception ex) { throw new Exception(strDatax); } }
public bool Check(string OrderId, DateTime payDate) { var vnpay_api_url = URL_VNPAY_REFUND; var vnpHashSecret = VNPAY_HASH_SECRECT; string vnp_TmnCode = VNPAY_TMNCODE; var vnpay = new VnPayLibrary(); var createDate = DateTime.Now; var strDatax = ""; try { vnpay.AddRequestData("vnp_Version", VNPAY_VERSION); vnpay.AddRequestData("vnp_Command", "querydr"); vnpay.AddRequestData("vnp_TmnCode", vnp_TmnCode); vnpay.AddRequestData("vnp_Merchant", "VNPAY"); vnpay.AddRequestData("vnp_TxnRef", OrderId); vnpay.AddRequestData("vnp_OrderInfo", "queryDr ma GD:" + OrderId); vnpay.AddRequestData("vnp_TransDate", payDate.ToString("yyyyMMddHHmmss")); vnpay.AddRequestData("vnp_CreateDate", createDate.ToString("yyyyMMddHHmmss")); vnpay.AddRequestData("vnp_IpAddr", Utils.GetIpAddress()); var queryDr = vnpay.CreateRequestUrl(vnpay_api_url, vnpHashSecret); var request = (HttpWebRequest)WebRequest.Create(vnpay_api_url); request.AutomaticDecompression = DecompressionMethods.GZip; using (var response = (HttpWebResponse)request.GetResponse()) using (var stream = response.GetResponseStream()) { if (stream != null) { using (var reader = new StreamReader(stream)) { strDatax = reader.ReadToEnd(); } } } var data = strDatax.Split('&'); //amount var vnpAmount = data[0].Split('='); var amount = int.Parse(vnpAmount[1]) / 100; // ResponseCode var vnpResponseCode = data[5].Split('='); var responsecode = vnpResponseCode[1]; // Vnpay TransactionStatus var vnpTransactionStatus = data[8].Split('='); var transactionstatus = vnpTransactionStatus[1]; // OrderID var vnpTxnRef = data[10].Split('='); var txnref = vnpTxnRef[1]; if (transactionstatus.Equals("00")) { return(true); } return(false); } catch { return(false); } }