New Zenner
- Join Date:
- May 2009
- Posts:
- 14
- Plugin Contributions:
- 0
Payment module problem alertpay
Update - installed version 1.1 and it works.
Views: 12,569
New Zenner
Update - installed version 1.1 and it works.
Zen Follower
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
Zen Follower
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?main_page=product_contrib_info&products_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
Zen Follower
Hello Everyone!
Do you have any problem with Alertpay not including tax in the total?
Did you ever correct this problem?
Zen Follower
dropbop:
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.
Hello dropbop,
Did you ever find a fix?
Zen Follower
Hello dropbop,
Have you tried this: ```
zen_draw_hidden_field('ap_shippingcharges', number_format($order->info['shipping_cost'], 2, '.', '')) .
I've made some changes to alertpay.php in includes/modules/payment
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
<?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');
}
}
?>
Totally Zenned
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?
Zen Follower
dealbyethan.com:
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?
Hello dealbyethan.com,
Having problem getting the right discount code in red.
zen_draw_hidden_field('ap_discountamount', number_format($order->info['discount'], 2, '.', '')) .
I try coupon, coupon_code, discount_coupon and etc.
Any ideas anyone?
Totally Zenned
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?
New Zenner
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
Zen Follower
kabatza:
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
Hello kabatza,
The files to upload.
languages/english/modules/payment/alertpay.php
modules/payment/alertpay.php
Thumbs.db file should be in your root.
It seems that you are missing this file: Thumbs.db
New Zenner
Ok I followed this instruction to the "T" and when i tested it out on the alertpay i get this instead of the product information on what was purchased or going to be purchased "Purchase(s) made on Hillbilly Electronics and More:" then the total that included shipping and tax combined which is good but not showing the product.
I am using zc 1.3.9h
Am I doing something wrong?
Thanks
Jim
New Zenner
dropbop:
Hi guys,
Just wanted to pop up a quick note about IPN for Alertpay.
I have noticed on a few forums that people are having trouble knowing what people have ordered from there website when using Alertpay.
There is no standard IPN page for Alertpay in Zencart, but there is a way around it.
Go to admin > Modules > Payment and click on PayPal IPN.
Copy and Paiste the IPN address on the right
(http://www.YOUR--STORE.com/ipn_main_handler.php)Go to you Alertpay account https://www.alertpay.com
Go to the Business section in your account and click on IPN setup.
Enter the IPN address you copied from your admin.Now any orders that have been made from your site will show in your admin.
Note: do not enter a password for the IPN in Alertpay as this tends to stop the IPN from working properly on Zen.
Hope this helps a few people.
regards
Eoin
This was the instructions i followed and it didn't show the product during checkout except what i posted.
Thanks
Jim
Zen Follower
Hello HBELLC,
It just show the total amount only.
New Zenner
Royal:
Hello HBELLC,
It just show the total amount only.
Well that just blows due to will be hard to figure out what they purchased and if they want to keep a receipt for themselves if they pay via alertpay.
Oh well...
Hopefully someone will come up with a good one in the future that will do it :)
Jim
Fields marked required must be completed.
Tell staff why this post should be reviewed.
Required for login, security, and core site functionality.
Help us understand how the site is used so we can improve it.
Used for promotion and personalized campaign measurement.