Online Payment PHP Codes for your Website
The Sample Code will not work without the following:
* cURL extension for PHP (http://www.php.net/manual/en/ref.curl.php)
* SSL Certificate
* Development Account setup with DPS
If you dont have access to a Development account please click here to request it.
Standard Request Page:
<?php /*## This function is a simple example of# how to send and receive Payment Express XML# messages to process a transaction.#*/ function process_request($name,$amount,$ccnum,$ccmm,$ccyy,$merchRef){ $cmdDoTxnTransaction .= "<Txn>";$cmdDoTxnTransaction .= "<PostUsername>TestUsername</PostUsername>"; #Insert your DPS Username here$cmdDoTxnTransaction .= "<PostPassword>TestPassword</PostPassword>"; #Insert your DPS Password here$cmdDoTxnTransaction .= "<Amount>$amount</Amount>";$cmdDoTxnTransaction .= "<InputCurrency>USD</InputCurrency>";$cmdDoTxnTransaction .= "<CardHolderName>$name</CardHolderName>";$cmdDoTxnTransaction .= "<CardNumber>$ccnum</CardNumber>";$cmdDoTxnTransaction .= "<DateExpiry>$ccmm$ccyy</DateExpiry>";$cmdDoTxnTransaction .= "<TxnType>Purchase</TxnType>";$cmdDoTxnTransaction .= "<MerchantReference>$merchRef</MerchantReference>";$cmdDoTxnTransaction .= "</Txn>"; $URL = "sec.paymentexpress.com/pxpost.aspx";//echo "\n\n\n\nSENT:\n$cmdDoTxnTransaction\n\n\n\n\n$"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"https://".$URL);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS,$cmdDoTxnTransaction);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //Needs to be included if no *.crt is available to verify SSL certificatescurl_setopt($ch,CURLOPT_SSLVERSION,3); $result = curl_exec ($ch); curl_close ($ch); parse_xml($result);}function parse_xml($data){$xml_parser = xml_parser_create();xml_parse_into_struct($xml_parser, $data, $vals, $index);xml_parser_free($xml_parser); $params = array();$level = array();foreach ($vals as $xml_elem) {if ($xml_elem['type'] == 'open') {if (array_key_exists('attributes',$xml_elem)) {list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']);} else {$level[$xml_elem['level']] = $xml_elem['tag'];}}if ($xml_elem['type'] == 'complete') {$start_level = 1;$php_stmt = '$params'; while($start_level < $xml_elem['level']) {$php_stmt .= '[$level['.$start_level.']]';$start_level++;}$php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';eval($php_stmt);}} /* Uncommenting this block will display the entire array and show all values returned.echo "<pre>";print_r ($params);echo "</pre>";*/ $success = $params[TXN][SUCCESS]; $MerchantReference = $params[TXN][$success][MERCHANTREFERENCE];$CardHolderName = $params[TXN][$success][CARDHOLDERNAME];$AuthCode = $params[TXN][$success][AUTHCODE];$Amount = $params[TXN][$success][AMOUNT];$CurrencyName = $params[TXN][$success][CURRENCYNAME];$TxnType = $params[TXN][$success][TXNTYPE];$CardNumber = $params[TXN][$success][CARDNUMBER];$DateExpiry = $params[TXN][$success][DATEEXPIRY];$CardHolderResponseText = $params[TXN][$success][CARDHOLDERRESPONSETEXT];$CardHolderResponseDescription = $params[TXN][$success][CARDHOLDERRESPONSEDESCRIPTION];$MerchantResponseText = $params[TXN][$success][MERCHANTRESPONSETEXT];$DPSTxnRef = $params[TXN][$success][DPSTXNREF]; $html = "<table align='center' width='500' style='FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif'>";$html .= "<BR><hr><BR>";$html .= "<tr><td>Merchant Reference: </td><td>$MerchantReference</td></tr>";$html .= "<tr><td>CardHolderName: </td><td>$CardHolderName</td></tr>";$html .= "<tr><td>AuthCode: </td><td>$AuthCode</td></tr>";$html .= "<tr><td>Amount: </td><td>$Amount</td></tr>";$html .= "<tr><td>CurrencyName: </td><td>$CurrencyName</td></tr>";$html .= "<tr><td>DateExpiry: </td><td>$DateExpiry</td></tr>";$html .= "<tr><td>CardHolderResponseText: </td><td>$CardHOlderResponseText</td></tr>";$html .= "<tr><td>CardHolderResponseDescription: </td><td>$CardHolderResponseDescription</td></tr>";$html .= "<tr><td>MerchantResponseText: </td><td>$MerchantResponseText</td></tr>";$html .= "<tr><td>TxnType: </td><td>$TxnType</td></tr>";$html .= "<tr><td>DPSTxnRef: </td><td>$DPSTxnRef</td></tr>";$html .= "</table>";//$html .= "</body></html>"; echo $html; }#main start$Action = $_REQUEST["Action"];$CardName = $_REQUEST["CardName"];$Amount = $_REQUEST["Amount"];$CardNum = $_REQUEST["CardNum"];$ExMnth = $_REQUEST["ExMnth"];$ExYear = $_REQUEST["ExYear"];$MerchRef = $_REQUEST["MerchRef"];If ($Action == "Submit"){process_request($CardName, $Amount, $CardNum, $ExMnth, $ExYear, $MerchRef);}?><html><head><title>DPS PXPost Sample -- PHP</title></head><body><form method="POST"><input type="hidden" name="Action" value="Submit"><BR><BR><table align="center" width="550" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif" border="0"><tr><td width="280"><table style="FONT-SIZE: 10pt; FONT-FAMILY: Arial, Helvetica, sans-serif"><tr><td colspan="2">Name (as it appears on the card)<BR><input type="text" name="CardName" value="Mr John Smith" size="26"></td></tr><tr><td colspan="2">Card Number<BR><input type="text" name="CardNum" value="4111111111111111" maxlength="16" size="26"></td></tr><tr><td>Amount<BR><input type="text" name="Amount" value="1.80" size="9"></td><td>Merchant Reference<BR><input type="text" name="MerchRef" value="invoice 84325" size="12"></td></tr></table></td><td>Expiry Date<BR><select name="ExMnth"><option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option></select><select name="ExYear"><option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option></select><BR><BR><BR><BR></td><td align="right"><img src="http://www.paymentexpress.com/dpslogo.gif"><BR><BR><BR><input type="submit" value="process"></td></tr></table></form></body></html>

0 comments:
Post a Comment