PXPOST via SSL Sample Code
ASP.Net C#
The Sample Code will not work without the following:
* Development Account setup with DPS
If you do not have access to a Development account please click here to request it
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HEAD>
<title>PXPost ASP.NET sample</title>
<script language="C#" runat="server">
public void Page_Load(Object sender, EventArgs E)
{
if (IsPostBack)
CallPXPost();
}
public void CallPXPost()
{
string URI = @"https://sec.paymentexpress.com/pxpost.aspx";
// form the PXPost Xml message
StringWriter sw = new StringWriter();
XmlTextWriter xtw = new XmlTextWriter(sw);
xtw.WriteStartElement("Txn");
xtw.WriteElementString("PostUsername","#Insert Username Here#");
xtw.WriteElementString("PostPassword","#Insert Password Here#");
xtw.WriteElementString("CardHolderName", txtCardHolderName.Text);
xtw.WriteElementString("CardNumber", txtCardNumber.Text);
xtw.WriteElementString("Amount", txtAmount.Text);
xtw.WriteElementString("DateExpiry", txtExpiryDate.Text);
xtw.WriteElementString("Cvc2","");
xtw.WriteElementString("InputCurrency","NZD");
xtw.WriteElementString("TxnType","Purchase");
xtw.WriteElementString("TxnId","");
xtw.WriteElementString("MerchantReference", txtMerchantRef.Text);
xtw.WriteElementString("TxnData1", txtTxnData1.Text);
xtw.WriteElementString("TxnData2", txtTxnData2.Text);
xtw.WriteElementString("TxnData3", txtTxnData3.Text);
xtw.WriteEndElement();
xtw.Close();
// Send the Xml message to PXPost
WebRequest wrq = WebRequest.Create(URI);
wrq.Method = "POST";
wrq.ContentType="application/x-www-form-urlencoded";
byte [] b = Encoding.ASCII.GetBytes(sw.ToString());
wrq.ContentLength = b.Length;
Stream s = wrq.GetRequestStream();
s.Write(b, 0, b.Length);
s.Close();
// Check the response
WebResponse wrs = wrq.GetResponse();
if (wrs != null)
{
StreamReader sr = new StreamReader(wrs.GetResponseStream());
XmlDocument xd = new XmlDocument();
xd.LoadXml(sr.ReadToEnd().Trim());
if (xd.SelectSingleNode("/Txn/Success") != null)
lblReCo.Text = xd.SelectSingleNode("/Txn/ReCo").InnerText;
lblResponseText.Text = xd.SelectSingleNode("/Txn/ResponseText").InnerText;
lblHelpText.Text = xd.SelectSingleNode("/Txn/HelpText").InnerText;
//Some response elements are in different nodes
lblAuthorized.Text = xd.SelectSingleNode("/Txn/Transaction/Authorized").InnerText;
lblDpsTxnRef.Text = xd.SelectSingleNode("/Txn/Transaction/DpsTxnRef").InnerText;
lblAuthCode.Text = xd.SelectSingleNode("/Txn/Transaction/AuthCode").InnerText;
// further error handling code could go here
}
// error handling code omitted
}
</script>
</HEAD>
<form id="Form1" method="post" runat="server">
<table border="0" cellpadding="0" cellspacing="0" style="font: 12px verdana" width="400">
<tr><td><asp:label id="lblCardHolderName" runat="server">Card holder name : </asp:label></td><td><asp:textbox id="txtCardHolderName" runat="server"></asp:textbox></td></tr>
<tr><td><asp:label id="lblCardNumber" runat="server">Card number : </asp:label></td><td><asp:textbox id="txtCardNumber" runat="server"></asp:textbox></td></tr>
<tr><td><asp:label id="lblAmount" runat="server">Amount : </asp:label></td><td><asp:textbox id="txtAmount" runat="server"></asp:textbox></td></tr>
<tr><td><asp:label id="lblExpiryDate" runat="server">Expiry date : </asp:label></td><td><asp:textbox id="txtExpiryDate" runat="server"></asp:textbox></td></tr>
<tr><td><asp:label id="lblMerchantRef" runat="server">Merchant ref : </asp:label></td><td><asp:textbox id="txtMerchantRef" runat="server"></asp:textbox></td></tr>
<tr><td><asp:label id="lblTxnData1" runat="server">CustomerID : </asp:label></td><td><asp:textbox id="txtTxnData1" runat="server"></asp:textbox></td></tr>
<tr><td><asp:label id="lblTxnData2" runat="server">Address1 : </asp:label></td><td><asp:textbox id="txtTxnData2" runat="server"></asp:textbox></td></tr>
<tr><td><asp:label id="lblTxnData3" runat="server">Address2 : </asp:label></td><td><asp:textbox id="txtTxnData3" runat="server"></asp:textbox></td></tr>
<tr><td colspan="2"><asp:button id="btnSubmit" runat="server" text="submit"></asp:button></td></tr>
</table><br>
<table border="0" cellpadding="0" cellspacing="0" style="font: 12px verdana; color: red">
<tr><td width="200px">Authorized:</td><td><asp:label id="lblAuthorized" runat="server"></asp:label></td></tr>
<tr><td width="200px">Response Text:</td><td><asp:label id="lblResponseText" runat="server"></asp:label></td></tr>
<tr><td width="200px">Response Code:</td><td><asp:label id="lblReCo" runat="server"></asp:label></td></tr>
<tr><td width="200px">Help Text:</td><td><asp:label id="lblHelpText" runat="server"></asp:label></td></tr>
<tr><td width="200px">DpsTxnRef:</td><td><asp:label id="lblDpsTxnRef" runat="server"></asp:label></td></tr>
<tr><td width="200px">Authorization Code:</td><td><asp:label id="lblAuthCode" runat="server"></asp:label></td></tr>
</table></form>