<?php
// Load the transfirst_payment class
require('transfirst_payment_class.php'); // If you're using the 'classloader.php' module you could omit this line
$tf_payment = new transfirst_payment();
// Of course, in a production environment, you would NOT call both of these methods at the same time.
// ccVerify is simply for verification of the card, while ccSettle is for actual purchase transactions.
// Example of the ccVerify method
$tf_payment->ccVerify($_POST['cc_number'], $_POST['cc_exp_mo'], $_POST['cc_exp_yr'], $_POST['bill_address_1'], $_POST['bill_zip']);
// Example of how to build the array needed for the ccSettle method
$settleDataArray = array(orderNum => $_POST['order_id'],
transactionAmount => $_POST['order_total'],
cardAccountNum => $_POST['cc_number'],
expirationDate => $_POST['cc_exp_mo'].$_POST['cc_exp_yr'],
cardHolderZip => $_POST['bill_zip'],
cardHolderName => $_POST['bill_f_name']." ".$_POST['bill_l_name'],
cardHolderAddress => $_POST['bill_address_1'],
cardHolderCity => $_POST['bill_city'],
cardHolderState => $_POST['bill_state'],
cardHolderEmail => $_POST['bill_email'],
cardHolderPhone => $_POST['bill_phone'],
customerNum => $_POST['order_id'],
CVV2 => $_POST['cc_cvv'],
TaxIndicator => $_POST['tax_indicator'],
TotalTaxAmount => $_POST['tax_amt']);
// The ccSettle method
$tf_payment->ccSettle($settleDataArray);
// Here are examples of some of the more important properties to check
$tf_trans_status = $tf_payment->getVars("tf_trans_status");
$tf_ext_trans_status = $tf_payment->getVars("tf_ext_trans_status");
$tf_trans_refno = $tf_payment->getVars("tf_trans_refno");
$tf_avs_code = $tf_payment->getVars("avs_response_code");
// If the response code is not 00 (approved)
if ($tf_trans_status != '00') {
// Put your code here to deal with failed transactions
} else {
// Put your code here to deal with successful transactions
}
?>
|