3
votes

We are creating a Magento store with many educational products. Many products are free booklets, but there are shipping costs for the order.

If I create an order with only free products and go through checkout, no payment methods will display and I can't complete the order.

How do I get the payment methods to show?

Any and all help is welcome!

Thanks, Alexander.

Some additional information: - If I add a paid product to my cart, the payment methods will display. - Some products are completely free (no shipping either). We gave them a weight of zero. If you only order those, it does work like it should. (No payment required.) - There is only one shipping method available: Table Rates

1
Which payment methods are you using?Alex Hadley

1 Answers

3
votes

I have solved this issue myself. Here's how:

First, make a local copy of the file app/code/core/Mage/Payment/Block/Form/Container.php (Copy the file to: app/code/local/Mage/Payment/Block/Form/Container.php)

Then go to line 119 and change:

$total = $quote->getBaseSubtotal();

to

$total = $quote->getBaseGrandTotal();

I've tested the change by placing an order of free products and finishing the order in the back-end. It all seems to work properly.