[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Forum » Update for Every one » Update for Every one » AlertPay Transaction (AlertPay)
AlertPay Transaction
pradeepDate: Thursday, 22 September 11, 9:11 AM | Message # 1
pk
Group: Administrators
Messages: 82
Status: Offline

//The value is the Security Code generated from the IPN section of your AlertPay account. Please change it to yours.
define("IPN_SECURITY_CODE", "xxxxxxxxxxxxxxxx");
define("MY_MERCHANT_EMAIL", "name@example.com");

//Setting information about the transaction
$receivedSecurityCode = urldecode($_POST['ap_securitycode']);
$receivedMerchantEmailAddress = urldecode($_POST['ap_merchant']);
$transactionStatus = urldecode($_POST['ap_status']);
$testModeStatus = urldecode($_POST['ap_test']);
$netAmount = urldecode($_POST['ap_netamount']);

if ($receivedMerchantEmailAddress != MY_MERCHANT_EMAIL) {
// The data was not meant for the business profile under this email address.
// Take appropriate action
}
else {
//Check if the security code matches
if ($receivedSecurityCode != IPN_SECURITY_CODE) {
// The data is NOT sent by AlertPay.
// Take appropriate action.
}
else {
if ($transactionStatus == "Success") {
if ($testModeStatus == "1") {
// Since Test Mode is ON, no transaction reference number will be returned.
// Your site is currently being integrated with AlertPay IPN for TESTING PURPOSES
// ONLY. Don't store any information in your production database and
// DO NOT process this transaction as a real order.
}
else {
// This REAL transaction is complete and the amount was paid successfully.
// Process the order here by cross referencing the received data with your database.
// Check that the total amount paid was the expected amount.
// Check that the amount paid was for the correct service.
// Check that the currency is correct.
// ie: if ($totalAmountReceived == 50) ... etc ...
// After verification, update your database accordingly.

include("../../dbase.php");
$result=mysql_query("SELECT user,money from chatusers WHERE id='$_COOKIE[id]' LIMIT 1");
$row = mysql_fetch_assoc($result);
$username=$row['user'];
$money=$row['money'];

$money += $netAmount;
$money = number_format($money, 2, '.', '');

$sql="Update chatusers set money=$money where user='$username'";
$res=mysql_query($sql);
mysql_query("insert into payments (ammount, details) values ('".$netAmount."', '$username')");
header('Location: buyminutes.php');
}
}
else {
// Transaction was cancelled or an incorrect status was returned.
// Take appropriate action.
}
}
}
?>

Added (22 September 11, 9:11 Am)
---------------------------------------------
/*
$Id: alertpay.php,

*/

class alertpay {
var $code;

var $title;

var $description;

var $enabled;

// class constructor
function alertpay() {
$this->code = 'alertpay';
$this->title = MODULE_PAYMENT_ALERTPAY_TEXT_TITLE;
$this->description = MODULE_PAYMENT_ALERTPAY_TEXT_DESCRIPTION;
$this->sort_order = MODULE_PAYMENT_ALERTPAY_SORT_ORDER;
$this->enabled = ((MODULE_PAYMENT_ALERTPAY_STATUS == 'True') ? true : false);

if ((int)MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID > 0) {
$this->order_status = MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID;
}
$this->form_action_url = 'https://www.alertpay.com/PayProcess.aspx';

}


function update_status() {
global $db;
global $order;

if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_ALERTPAY_ZONE > 0) ) {
$check_flag = false;
$check = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_ALERTPAY_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");
while (!$check->EOF) {
if ($check->fields['zone_id'] < 1) {
$check_flag = true;
break;
} elseif ($check->fields['zone_id'] == $order->billing['zone_id']) {
$check_flag = true;
break;
}
$check->MoveNext();
}

if ($check_flag == false) {
$this->enabled = false;
}
}
if (is_object($order)) $this->update_status();
}

// class methods
function javascript_validation() {
return false;
}

function selection() {
return array('id' => $this->code,
'module' => MODULE_PAYMENT_ALERTPAY_TEXT_CATALOG_LOGO,
'icon' => MODULE_PAYMENT_ALERTPAY_TEXT_CATALOG_LOGO);
}

function pre_confirmation_check() {
return false;
}

function confirmation() {
return false;
}

function process_button() {
global $db, $order, $currencies;

//alertpay accepted currency
$alert_cur = array('CAD', 'EUR', 'GBP', 'USD', 'AUD');
$CUR = $order->info['currency'];
if (!in_array($CUR,$alert_cur)) {
$CUR = 'USD';
}

$process_button_string = zen_draw_hidden_field('ap_merchant', MODULE_PAYMENT_ALERTPAY_ACCOUNT) .
zen_draw_hidden_field('ap_amount', number_format($order->info['total'], 2, '.', '')) .
zen_draw_hidden_field('ap_currency', $CUR) .
zen_draw_hidden_field('ap_purchasetype', 'Item') .
zen_draw_hidden_field('ap_itemname', MODULE_PAYMENT_ALERTPAY_PRODUCT_TYPE) .
zen_draw_hidden_field('ap_returnurl', zen_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
zen_draw_hidden_field('ap_cancelurl', zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

return $process_button_string;
}

function before_process() {
return false;
}

function after_process() {
return false;
}

function output_error() {
return false;
}

function check() {
global $db;
if (!isset($this->_check)) {
$check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_ALERTPAY_STATUS'");
$this->_check = $check_query->RecordCount();
}
return $this->_check;
}

function install() {
global $db;
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Alertpay Module', 'MODULE_PAYMENT_ALERTPAY_STATUS', 'True', 'Do you want to accept Alertpay?payments?', '6', '3', 'zen_cfg_select_option(array(\'True\', \'False\'))', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_ALERTPAY_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('General product description.', 'MODULE_PAYMENT_ALERTPAY_PRODUCT_TYPE', '', 'Needed to complete Alertpay process.', '6', '5', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Alertpay Account Number', 'MODULE_PAYMENT_ALERTPAY_ACCOUNT', 'sales@yourshop.com', 'Your Alertpay?account number to which the payment is to be made.', '6', '4', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_ALERTPAY_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
}

function remove() {
global $db;
$db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}

function keys() {
return array('MODULE_PAYMENT_ALERTPAY_STATUS', 'MODULE_PAYMENT_ALERTPAY_SORT_ORDER', 'MODULE_PAYMENT_ALERTPAY_PRODUCT_TYPE', 'MODULE_PAYMENT_ALERTPAY_ACCOUNT', 'MODULE_PAYMENT_ALERTPAY_ZONE', 'MODULE_PAYMENT_ALERTPAY_ORDER_STATUS_ID');
}
}
?>

 
Forum » Update for Every one » Update for Every one » AlertPay Transaction (AlertPay)
  • Page 1 of 1
  • 1
Search: