Magento custom save order - magento

We have a custom discount option other than magento default discount/coupon option. In that customer can choose the full amount to be paid from their balance amount with the account.
So if they choose to pay the total amount then i want to skip the magento payment tab. In the custom action i have to save the order and redirect the checkout page customer to checkout success page. How can i do that. When i call order->save(), it throws error like " Should select a payment option."
Please help me to skip the payment option on checkout page

Rather than skipping that option entirely, creating a new payment type to pay from the account would probably be clearer to the customer. You could preselect that option for the customer, and keep the rest of the system intact.
Hope that helps!
Thanks,
Joe

Related

Different checkout pages based on product category in Magento

I am new to Magento .So please forgive me if I am asking something silly.
I am working on a Magento shop where I have a requirement that when I select some product in certain category say X, then I am redirected to one page checkout where I have default shipping method and do not want any payment method. i.e. Skip shipping and payment method step in chekout.
Whereas if I click some other categories then I get redirected to onepage checkout with shipping and payment option.
So basically what I need in form of code is -
if(category==X)
then Checkout without Shipping and payment method
else
Checkout with Shipping and Payment options.
As far as I have explored the magento structure , it is far too complex then other CMS. I am not able to even find files where i have to make changes in code. Anybody out there who can guide me for right approach toward the solution? Or is there any extension which fulfills such requirement?
Thanks in advance.
First, create the new payment method for the category (and shipping method if you need that too).
http://www.magentocommerce.com/wiki/5_-_modules_and_development/payment/create-payment-method-module
http://www.magentocommerce.com/wiki/5_-_modules_and_development/shipping/create-shipping-method-module
Then I would probably extend the controller, though you probably could also use an observer.
Extend magento core controller (Checkout/OnepageController)
Keep in mind that the customer may have products from another category in their cart, and what to do in that case.

Magento - update subtotal while runtime onepage checkout

a customer is in checkout. while the standard checkout progresses i want to renew the subtotal of the checkout session, the payment and the preview steps cause private rules for each customer group. I tried out to set the price via save shipping observer but it doesn't work (the subtotal in preview didn't change and the payment moduls are using the same price as before.. I understand.. the HTML was load before and the steps are only hidden)
Is there any way to refresh the subtotal and the onepagecheckout without loosing the current step ?
Thank u
On the step you are doing this on, find the save action and add:
$this->getOnepage()->getQuote()->collectTotals()->save();
To the code before the response.
Works a treat.

How to remove review order in onepage checkout option?

I want to remove review order option.
I want to "Place Order" event in payment information option. Means, If payment method selected then payment cycle should complete instead of Review Order comes.
I have tried and reasearch regarding this. But I am not getting solution.
Thank you
You need to rewrite Mage_Checkout_Block_Onepage::_getStepCodes().
You need an observer that saves other after payment is selected. If you have 'terms and conditions' they have to be checked automatically.
You can checkout more on this post: https://magento.stackexchange.com/questions/8100/how-can-i-remove-the-review-step-in-onepage-checkout

Magento: Create order in backend and have customer complete payment

I'm exploring implementation options in Magento and am wondering if anyone has attempted or found a solution to this scenario...
I would like to be able to setup an order via the Magento backend (add products, set shipping price, etc) then have the customer be able to complete the order by logging into their account and proceeding through the checkout process.
Would be really great if the customer could get an email notification with a link directly to the payment step/checkout.
Is there a public extension that does this or something similar? Is the only option to push the products to a customer's cart then manually notify? Any other approaches on this?
Two possible ways of accomplishing this (assuming that all product are enable in that store)
In Admin create new order for that customer and add all items to quote, then under 'Items Ordered -> Action' click 'Move to Shopping Cart' (items will disappear from quote and should appear in the customer shopping cart once log in)
Create a custom quotation module (or modify new order creation) that email the customer with a link that will restore the quote on so the customer can complete the transaction
The Cart2Quote extension provides exactly that functionality.

magento How do I? manual order (backend) free shipping, actually pickup

magento How do I? manual order (backend) free shipping, actually pickup
Hi we want to be able to enter order in the adminhtml backend (we enter for customer).
Our problems are
1) the customer pays us cash. How do we enable this only for the backend (now we have to select credit card,- the option availbale on checkout)
2) The customer wants to pickup. But we dont want to offer this option to all customers via checkout. So this option is only available for us in the backend
Has anyone run into this before?
You can allow cash payment in the Model:
public function isAvailable($quote = null)
{
return (parent::isAvailable($quote) && Mage::app()->getStore()->isAdmin());
}
This will enable you payment method only in Admin.
For free shipping at backend, I suggest trying this free module. It gives you a option of adding a custom shipping rate while creating order at the backend, that you can always set to zero according to your needs.
http://www.magentocommerce.com/magento-connect/admin-custom-shipping-rate.html
As far as pay by cash is concerned, you can use the check/moneyorder payment method, and just hide the phtml code for this method on the frontend.

Resources