View Full Version : [Payment Module] Check/Money Order Module Not Functioning

01-12-2012, 12:56 AM
I then enabled the Check/Money Order for Payment Zone of United States only. However, on the checkout page, the Check/Money Order option displays for ALL customers, regardless of customer address.

* I installed the following modules (with sort order) of Credit Card (0), PayPal Website Payments Standard (1) and Check/Money Order (2).
* Tax Zones Created: California, United States, Canada/Mexico, International

Any idea why it's not functioning as expected? And any way to resolve this issue? Thanks!

03-18-2012, 07:11 PM
I am seeing the same issue here in a new install of 2.5.0

No matter what I set the Payment Zone to in the money order module, it shows for all customers no matter hwat their shipping or payment addresses are.. need this resolved please.. will add to bug trax tonight

03-19-2012, 04:35 AM
the COD module is doing the same thing.. added a note to the bug trax.. this is holding me up from going live...

03-19-2012, 08:11 PM
I actually found one other.. I use MultiGeoZone MultiTable because I need zones by price for US order and modified table rates for the outside US orders. The zone module is only by weight here unless I am missing something.. anyway..

When a AU address checks out the US rate is there is no $ amount and not selectable.. but it should not be there at all IMHO..

05-03-2012, 06:43 PM
I reported this issue in the bug tracker on March 18th.. it has been acknowledged & assigned, but no progress.. my client is screaming about this.. I worked too many hours on this cart to move backwards to a functioning 2.0.25

pg or Michael.. any idea when this issue willl be resolved so I can tell my client when to expect the cart will be able to go live???
0001158: Payment Zone selection has no effect on money order payment - osCmax Bug Tracking System (http://bugtrack.oscmax.com/view.php?id=1158)

05-06-2012, 06:40 AM
Okay - so I have taken a look at this one for you wkdwich.

It looks like the issue was introduced way back in r574 when the One Page Checkout went in. There is a conditional around the $GLOBAL['class'] function which prevents you from disabling the module from within the class.

After an hour or two tracing this one back I note that I have just repeated the work SMurphy reported in r1160! Drat!

Just need to check in OPC and then I will commit SMurphy's fix back to the core.


05-06-2012, 09:26 AM
OK such a little thing such big trouble.. I will test on my cart later tonight or in the AM and let you know if Istill have an isse.. thanks for the look-see, fix and response!

05-06-2012, 06:27 PM
OMG OMG by jove I think you got it!.. first test definately shows its working on OPC. When I disable OPC.. yes indeedie its great.. I did find I had some settings off in the zones... when I fixed that everything was perfect :)

I am using a variety of shipping modules
2 custom tables - one for Canada, one for "all other countries"
Multi-Zone Geo Table - with 5 zones, 2 tables each zone - for different areas of the US Puerto Rico, Hawaii & Alaska
As well I do have a custom HAZMAT feee added in and it's all good!

WOOHOO I can finally get this one moving along!!!!

thank you thank you!

I do want to ask 1 further question.. in comparing my table rate module files with the latest version I see

OLD (form 2.0.25))
lines 59-69:

for ($i=0, $n=$size; $i<$n; $i+=2) {
if ($order_total <= $table_cost[$i]) {
$pos = strpos($table_cost[$i+1], '%');
if ($pos === false) {
$shipping = $table_cost[$i+1];
else {
$shipping_cost_temp = split("%", $table_cost[$i+1]);
$shipping = $order_total * $shipping_cost_temp[0] / 100;

on the new 2.5.1 - it now looks like:

for ($i=0, $n=$size; $i<$n; $i+=2) {
if ($order_total <= $table_cost[$i]) {
$shipping = $table_cost[$i+1];

in essense dropping lines 61-62, 64-68

I suppose I should make those changes???

12-20-2012, 11:38 AM
I don't see a resolution to this, nor the recommended edits. And as some folks may not know what the reference is, they need to go to the Bug Re and look up r1160 (link) (http://bugtrack.oscmax.com/view.php?id=1160)

Tinkering with Check/Money Order module - in the /includes/languages/English/moneyorder.php are defined the statements that the customer receives via email. For Canada/US money orders I changed the line:


To the following:

define('MODULE_PAYMENT_MONEYORDER_TEXT_TITLE', 'Check/Money Order - US Customers MUST pay by International Money Order (Bank or Postal)');

The reason being that US Personal or Company cheques can take up to six months to clear!

Also found two errors on the bottom lines:

define('MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION ', 'Make Payable To:&nbsp;%s<br><br>Send To:<br>%s<br><br>Your order will not ship until we receive payment.');
define('MODULE_PAYMENT_MONEYORDER_TEXT_EMAIL_FOOTE R', 'Make Payable To: \n\n Send To: \n Your order will not ship until we receive payment.');

Gives the erroneous email results:

"Make Payable To: Store name \n\nSend To:\nStoreName"

"(zzz)yyy-xxxx\n\nYour order will not ship until we receive payment."

Reinserting the version of moneyorder.php from 2.5.1 fixed that:

define('MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION ', 'Make Payable To:&nbsp;' . MODULE_PAYMENT_MONEYORDER_PAYTO . '<br><br>Send To:<br>' . nl2br(STORE_NAME_ADDRESS) . '<br><br>' . 'Your order will not ship until we receive payment.');
define('MODULE_PAYMENT_MONEYORDER_TEXT_EMAIL_FOOTE R', "Make Payable To: ". MODULE_PAYMENT_MONEYORDER_PAYTO . "\n\nSend To:\n" . STORE_NAME_ADDRESS . "\n\n" . 'Your order will not ship until we receive payment.');

Adding this to Bug Reports too...