using System; using System.Net; using System.IO; using System.Text; class Request { static void Main(string[] args) { try { StringBuilder xmlString = new StringBuilder(); xmlString.Append(""); AddXmlElement("TxnType", "Refund", xmlString); AddXmlElement("PxPayUserId", "TestAccount", xmlString); string key = "acff0b611a5cabc19330f52f9db09e4549c225dda64a71aa8775f53cafce75c0"; AddXmlElement("PxPayKey", key, xmlString); AddXmlElement("CurrencyInput", "NZD", xmlString); AddXmlElement("AmountInput", "25.00", xmlString); AddXmlElement("MerchantReference", "invoice 0003", xmlString); AddXmlElement("TxnData1", "data1", xmlString); AddXmlElement("TxnData2", "data2", xmlString); AddXmlElement("TxnData3", "data3", xmlString); AddXmlElement("UrlFail", "http://www.mycompany.com/pxpayresponse.cfm", xmlString); AddXmlElement("UrlSuccess", "http://www.mycompany.com/pxpayresponse.cfm", xmlString); AddXmlElement("EnableAddBillCard", "0", xmlString); AddXmlElement("BillingId", "thx1138", xmlString); AddXmlElement("DpsBillingId", "0000000000604716", xmlString); AddXmlElement("DpsTxnRef", "00000004010ee522", xmlString); AddXmlElement("RefundPassword", "bgh", xmlString); xmlString.Append("\n"); HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create("https://www.paymentexpress.com/pxpay/pxaccess.aspx"); webReq.Method = "POST"; byte[] reqBytes = null; reqBytes = Encoding.UTF8.GetBytes(xmlString.ToString()); webReq.ContentType = "application/x-www-form-urlencoded"; webReq.ContentLength = reqBytes.Length; Stream requestStream = webReq.GetRequestStream(); requestStream.Write(reqBytes, 0, reqBytes.Length); requestStream.Close(); HttpWebResponse webResponse = (HttpWebResponse)webReq.GetResponse(); StreamReader streamReader = new StreamReader(webResponse.GetResponseStream( ), Encoding.ASCII ); string pxRequest; pxRequest = streamReader.ReadToEnd(); streamReader.Close(); Console.WriteLine(pxRequest); Console.WriteLine(""); } catch (Exception ex) { Console.WriteLine("Caught exception: " + ex.Message); } } static protected void AddXmlElement(string name, string elementValue, StringBuilder xmlString) { xmlString.Append("<"); xmlString.Append(name); xmlString.Append(">"); xmlString.Append(elementValue); xmlString.Append(""); } }