Update - installed version 1.1 and it works.
Printable View
Update - installed version 1.1 and it works.
I am have a similar problem, I have recently set up with Alertpay, installed the module v1.2, seemed to be working fine, copys all the items in the shopping cart to the Alertpay payment page, but if there is free shipping, the alertpay payment page cant handle it for some reason. I just an error saying the amount has to be a numeric value.
I think the problem could be solved by someone who is a but up on php (its a but out of my league) if they could make the module send 0 (zero value) as a numberic value, becuase Alertpay page seems to think there is no value at all.
I offer free shipping with orders over 65 euros, but if I use Alertpay as a payment option I cant give that offer.
Also, one other thing I noticed while testing, is that if you have items with tax (VAT in my case) the module only sends the amount before VAT is added, so if I have an item that is €10 + VAT @ 21% = €12.10, It will only show as €10 on the Alertpay payment page.
So, I was wondering if anyone else had the same problems or if someone is already noticed and in the process of updating the module.?
Cheers
DB
Been a long time since I posted on this tread.....
Just for anyone who is reading this tread and having problems with alertpay not sending back IPN info to their website.
The Alertpay payment module has been updated here http://www.zen-cart.com/index.php?ma...roducts_id=227
It now sends the details of the products to Alertpay, so if you do not get the IPN sent back to your website, the details will be stored in the transaction details in your alertpay account on the alertpay website.
I am using the newer updates module and also using the paypal ipn and I am having no problems at all. The only issue is, as in the very first post is that if you offer free shipping, the alertpay payment page will give an error. I have tried the old module and it works because it doesnt send the shipping as a seperate item, so you wont get the error. I think all that needs to be done is to somehow send 0 (zero) as a positive number to alertpay, so that when you have free shipping etc, zero values wont show an error on the Alertpay payment page.
Dont know how to do it myslef, but im sure somebody out there does.. ;)
All the best
DB
Hello Everyone!
Do you have any problem with Alertpay not including tax in the total?
Did you ever correct this problem?
Hello dropbop,
Have you tried this:I've made some changes to alertpay.php in includes/modules/paymentCode:zen_draw_hidden_field('ap_shippingcharges', number_format($order->info['shipping_cost'], 2, '.', '')) .
No error with shipping when it is zero.
Tax shows
Item name shows
Payment status true / false shows in admin: You can know choose false / true
No more problem with Payment Zone
Problem: When using discount coupon. Discount is not taken off.
You can test this code for: includes/modules/payment/alertpay.php
Code:<?php
/*
$Id: alertpay.php,v 1.2 2010/07/22
Released under the GNU General Public License
Alertpay module Created By Gray Appleton
This update by Peter Humphrey
This free contribution made by request.
If you have found this script usefull a small
donation by Alertpay to applehobbys##################
would be greatly appreciated.
*/
class alertpay {
var $code, $title, $description, $enabled;
// class constructor
function alertpay() {
global $order;
$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';
if (is_object($order)) $this->update_status();
}
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;
}
}
}
// class methods
function javascript_validation() {
return false;
}
function selection() {
return array('id' => $this->code,
'module' => $this->title);
}
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' , 'SEK' , 'CHF' , 'HKD' , 'NZD' , 'NOK' , 'ZAR' , 'SGD' );
$CUR = $order->info['currency'];
if (!in_array($CUR,$alert_cur)) {
$CUR = 'CAD';
}
//to show complete list of product on alertpay payment gateway page
for($i=0;$i<count($order->products);$i++)
{
if($i > 0 ) $postfix = "_".$i;
$hiddenBox .= zen_draw_hidden_field('ap_itemname'.$postfix, $order->products[$i]['name']) .
zen_draw_hidden_field('ap_amount'.$postfix, $order->products[$i]['price']) .
zen_draw_hidden_field('ap_quantity'.$postfix, $order->products[$i]['qty']);
}
$process_button_string = zen_draw_hidden_field('ap_merchant', MODULE_PAYMENT_ALERTPAY_ACCOUNT) .
zen_draw_hidden_field('ap_currency', $CUR) .
zen_draw_hidden_field('ap_taxamount', number_format($order->info['tax'], 2, '.', '')) .
zen_draw_hidden_field('ap_purchasetype', 'Item') .
// prefills the customers details in alertpay payment page
zen_draw_hidden_field('ap_fname', $order->customer['firstname']) .
zen_draw_hidden_field('ap_lname', $order->customer['lastname']) .
zen_draw_hidden_field('ap_contactemail', $order->customer['email_address']) .
zen_draw_hidden_field('ap_zippostalcode', $order->billing['postcode']) .
zen_draw_hidden_field('ap_city', $order->billing['city']) .
zen_draw_hidden_field('ap_country', $order->billing['country']) .
zen_draw_hidden_field('ap_stateprovince', $order->billing['state']) .
zen_draw_hidden_field('ap_addressline1', $order->billing['street_address']) .
zen_draw_hidden_field('ap_addressline2', $order->billing['suburb']) .
zen_draw_hidden_field('ap_contactphone', $order->customer['telephone']) .
// end prefill data
$hiddenBox .
//pass shipping information to alertpay payment gateway
zen_draw_hidden_field('ap_shippingcharges', number_format($order->info['shipping_cost'], 2, '.', '')) .
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', '[email protected]', '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');
}
}
?>
Hi,
We are have the same problem with AlertPay module. Sometimes it overcharges customers. We think it happens when customers try to apply a discount. Any idea?
Hi,
Based on Paymate module, I think somehow AlertPay module needs to change this code from:
zen_draw_hidden_field('ap_amount', number_format($order->info['total'], 2, '.', ''))
to something like:
zen_draw_hidden_field('ap_amount', number_format(($order->info['total'] - $order->info['']))
I am not sure if this would work, give it a go and let us know?
Hi guys, I use zen cart 1.39h and a custom template fro 12leaves.
I have installed paypal and google checkout payment modules, now I want to install Alertpay.
I placed the 2 files in the correct directories, found and installed alertpay in modules>payment.
however alertpay does not show up in the checkout I tried removing paypal and google....still not there.... any suggestions?
Thanks