DPSAUTH COM Object Sample Code
ASP/VBScript
The Sample Code will not work without the following:
* DPSAUTH COM Object installed on you web sever
* Development Account setup with DPS
If you do not have access to a Development account please click here to request it.
<%@ Language=VBScript %>
<html>
<%
' This Example is provided to demonstrate integration
' of the Direct Payment Solutions DPSAUTH with
' Microsoft Active Server Pages (ASP).
' Note: The DPSAUTH COM Object must be installed on the WebServer running this
' ActiveServerPage for this code to work. Refer: http://www.paymentexpress.co.nz/blue.asp?id=d_dpsauth
' for more information
Dim StatusNeeded
If Not IsEmpty(Request.Form("CardNumber")) Then
Set dpsobj = Server.CreateObject("DpsAuth.DpsAuthCtrl") ' Instantiate the DPSAuth COM Object
dpsobj.CardNumber = Request.Form("CardNumber") ' CC Number - No spaces
dpsobj.CardHolderName = Request.Form("CardHolderName") ' Card holder name
dpsobj.DateExpiry = Request.Form("DateExpiry") ' Date Expiry in MMYY format
dpsobj.Amount = Request.Form("Amount") ' Amount "dddddddddd.cc" where d=dollars, c=cents
dpsobj.MerchantReference = Request.Form("MerchantReference") ' Free Text upto 64 characters. Appears on Transaction Reports
dpsobj.IssuerName= Request.Form("IssuerName") ' Card Issuer
dpsobj.ClientInfo = Request.ServerVariables ("REMOTE_ADDR") ' Browser Address
dpsobj.TxnType = "P" ' Set Transaction Type to "P" for Purchase
dpsobj.Username = "Your Test Username" ' (obtained from dps)
dpsobj.Password = "Your Test Password" ' (obtained from dps)
'dpsobj.Account = "9997" ' (obtained from dps)
dpsobj.DoAuthorize() ' Authorize the payment
if dpsobj.StatusNeeded then
' Not successful result, but no response received from host within the
' allowed timeout (45sec). May have been a transient condition, so attempt a
' status on the transaction. If this fails,inform user and write an error for
' manual handling
dpsobj.DoStatus
End If
if dpsobj.StatusNeeded then
' Comms to Host interrupted with transaction "in flight". Result
' is unknown, Webmaster must investigate and determine if funds were
' transferred or not
Response.Write("<html> Transaction Failure. Result unknown. Please contact webmaster: quote: Txnref:" +dpsobj.TxnRef + "ResponseCode=" + dpsobj.ResponseCode)
else
if dpsobj.success then
' Successful Transaction
Response.Write("Transaction Approved AuthCode:" + dpsobj.AuthCode)
else
' Declined or Failed transaction
Response.Write("Transaction NOT Approved Response:" + dpsobj.CardHolderResponseText + " ResponseText="+dpsobj.ResponseText )
end if
end if
Set dpsobj = Nothing ' destroy COM Object
End if
%>
<body>
<form action="dpsauth.asp" method="post">
<p>Credit Card Number: <input Name="CardNumber" value="4111111111111111" maxlength="16" Size="16"> </p>
<p>Date Expiry: <input name="DateExpiry" size="4" value="0102" style="LEFT: 96px; TOP: 78px"></p>
<p>Cardholder Name: <input Name="CardHolderName" Size="64" value="A CARDHOULD"></p>
<p>Card Issuing Bank: <input Name="IssuerName" Size="64" value="ABC BANK"></p>
<p>Amount: <input value="1.23" Name="Amount" Size="10"> </p>
<p>Merchant Reference: <input Name="MerchantReference" Size="64" value="Free Text upto 64 characters"></p>
<input type="submit" value="Submit" id="submit1" name="submit1">
</form>
</body>
</html>
Refunds using DpsTxnRef
<%@ Language=VBScript %>
<html>
<%
' This Example is provided to demonstrate integration
' of the Direct Payment Solutions DPSAUTH with
' Microsoft Active Server Pages (ASP).
' Note: The DPSAUTH COM Object must be installed on the WebServer running this
' ActiveServerPage for this code to work. Refer: http://www.paymentexpress.com/blue.asp?id=d_dpsauth
' for more information
Dim StatusNeeded
If Not IsEmpty(Request.Form("action")) Then
Set dpsobj = Server.CreateObject("DpsAuth.DpsAuthCtrl") ' Instantiate the DPSAuth COM Object
If Request.Form("action") = "refund" Then
dpsobj.DpsTxnRef = Request.Form("DpsTxnRef") ' Date Expiry in MMYY format
dpsobj.Amount = Request.Form("Amount") ' Amount "dddddddddd.cc" where d=dollars, c=cents
dpsobj.MerchantReference = "Refund Txn using DpsTxnRef" ' Free Text upto 64 characters. Appears on Transaction Reports
dpsobj.TxnType = "R"
Else
dpsobj.CardNumber = Request.Form("CardNumber") ' CC Number - No spaces
dpsobj.CardHolderName = Request.Form("CardHolderName") ' Card holder name
dpsobj.DateExpiry = Request.Form("DateExpiry") ' Date Expiry in MMYY format
dpsobj.Amount = "1.00" ' Amount "dddddddddd.cc" where d=dollars, c=cents
dpsobj.MerchantReference = "Purchase Txn" ' Free Text upto 64 characters. Appears on Transaction Reports
dpsobj.TxnType = "P" ' Set Transaction Type to "P" for Purchase
End If
dpsobj.Username = "your test username" ' (obtained from dps)
dpsobj.Password = "your test password" ' (obtained from dps)
'dpsobj.Account = "9997" ' (obtained from dps)
dpsobj.DoAuthorize() ' Authorize the payment
if dpsobj.StatusNeeded then
' Not successful result, but no response received from host within the
' allowed timeout (45sec). May have been a transient condition, so attempt a
' status on the transaction. If this fails,inform user and write an error for
' manual handling
dpsobj.DoStatus
End If
if dpsobj.StatusNeeded then
' Comms to Host interrupted with transaction "in flight". Result
' is unknown, Webmaster must investigate and determine if funds were
' transferred or not
Response.Write("<html> Transaction Failure. Result unknown. Please contact webmaster: quote: Txnref:" +dpsobj.TxnRef + " ResponseCode=" + dpsobj.ResponseCode)
else
if dpsobj.success then
' Successful Transaction
Response.Write("Transaction Approved AuthCode:" + dpsobj.AuthCode)
bSuccess = True
else
' Declined or Failed transaction
Response.Write("Transaction NOT Approved Response:" + dpsobj.CardHolderResponseText + " ---- ResponseText = <b>"+dpsobj.ResponseText + "</b> ---- ResponseCode = <b>" + dpsobj.ResponseCode)
bSuccess = True
end if
end if
' destroy COM Object
End if
%>
<body>
<form action="dpsauthrefund.asp" method="post" id=form1 name=form1>
<input type="hidden" value="1" name="action">
<p>Amount: <input Name="Amount" value="1.00" maxlength="16" Size="16"> </p>
<p>Card Number: <input Name="CardNumber" value="4111111111111111" maxlength="16" Size="16"> </p>
<p>Date Expiry: <input name="DateExpiry" size="4" value="0103" style="LEFT: 96px; TOP: 78px"></p>
<p>CardHolder Name: <input Name="CardHolderName" Size="64" value="A CARDHOULD"></p>
<input type="submit" value="Submit" id="submit1" name="submit1">
</form>
<%If bSuccess Then%>
<form action="dpsauthrefund.asp" method="post" id=form2 name=form2>
<input type="hidden" value="refund" name="action">
<p>Amount: <input Name="Amount" value="1.00" maxlength="16" Size="16"> </p>
<p>Dps Txn Ref: <input name="DpsTxnRef" size="22" value="<%=dpsobj.DpsTxnRef%>" style="LEFT: 96px; TOP: 78px"></p>
<input type="submit" value="Submit" id="submit1" name="submit1">
</form>
<%End If%>
</body>
</html>
<%Set dpsobj = Nothing%>