Change position of Billing address in Magento 2 - magento

I have to changed default billing address position which is coming under the payment information i need it after shipping method select , no after click on payment method.
I have tried lot of google and magneto docs but no luck with that.
Can any one please help me ?
Thanks.

Please note that it might not be technically possible (or at least not very easy) to have a customer enter it's address after the payment / shipping methods. This is because Magento loads it's payment- and shipping methods according to the address the customer has chosen.
Also, manipulating the (default) checkout page in Magento 2 is a very comprehensive task on itself and requires deep knowledge on how the theming and layout of Magento 2 works.

Related

Magento 2 (v2.3) - Cart Page - Is it possible to get mage-cache-storage stored shipping amount in custom module plugin?

Is it possible to take the quote shipping amount in a custom module plugin when the user (tested with Guest User) is on the cart page? This should be possible for both guests and registered users.
I tried to get the quote shipping amount from the below class objects but the shipping amount is 0.
1. \Magento\Checkout\Model\Session
2. \Magento\Quote\Model\Cart\CartTotalRepository
3. \Magento\Quote\Model\QuoteFactory
It seems to be in this stage the shipping amount (selected/estimated shipping amount) is not stored in the quote table or checkout session but it is stored in the browser localStorage['mage-cache-storage']. I can see the shipping amount in browser localStorage['mage-cache-storage'] when I ran
JSON.parse(localStorage['mage-cache-storage']);
in-browser console terminal.
Any suggestions or thoughts will be appreciated.
Thanks :)
Yes, you can access the mage cache storage via knockout. You can find a usage of knockout to access mage-cache-storage from the below file. You can use this as a reference.
/vendor/magento/module-theme/view/frontend/templates/html/header.phtml

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.

Is it possible to replace the 'Add to cart' with 'ask for an estimate' button in Magento?

I'm trying to build an ecommerce website based on Magento but having a regular shop behaviour, instead of showing product prices, i want visitors to ask for an estimate for a single or several products (by adding them to a cart and then asking for a global estimate).
As a store manager, I should get these estimate requests by email along with customer information (name, email, phone, company, address .. )
Is this achievable with Magento?
If not, which cms/platform would be best suitable for such a project?
Not without some customization. You could put all your products in with a price of $0 and then change your theme so all the buttons say "request a quote" and the price isn't displayed anywhere. Then the checkout page might not ask for credit card info, but I'm not certain about that. If it did you would have to remove that part of the checkout module. Once a user finished checking out you would get an email with all their information. I don't think this is the best way to go about getting what you want though.
I don't know if other ecommerce platforms have what you are looking for. I'm not very familiar with them beyond Magento. But you could certainly use something like drupal or wordpress to build a site and have a request a quote form on it. This would only be managable with a small number of products though.
there is many extension available for this type features.link 1
link 2
Thank you guys,
This extension : link does precisely what i was looking for.

Magento not creating order for M2Epro Orders

I have implemented M2Epro with magento.
I have used Ebay_Available_quantity attribute to set ebay available quantity.
But there are time where website normal stock is zero and product is out of stock and its still listing on ebay.
When someone buys it on ebay. It does make an order on M2Epro. But does not allow to make order as a magento order.
Is it because it is out of stock or quantity is zero ?
Can we have exceptions for third party sales ?
Thanks
Abhi
We also encountered this issue some time ago and this is what M2e answered on an email:
Thank you for provided details.
I checked your FBA order XXXX and I understand that you
want Magento order creation for FBA orders do not depend on stock
availability.
Let me please explain the logic how Magento orders are created. When
a channel order is imported in M2e Pro, M2e Pro checks settings
provided in Account settings > Orders tab. If corresponding settings
for Magento order creation are provided - M2E Pro sends a request to
Magento to create a Magento order for the channel order.
Magento orders are created due to Standard Magento functionality and
Core Models. Magento does not let to create an order if the product is
out of stock or 'disabled' or does not have available qty in Magento.
These requirements should be met so that the order was successfully
created.
M2e Pro cannot affect the logic of Magento orders creation process.
You can temporarily set 'in stock' status and qty available if you
want Magento order to be created at one for FBA order.
Hope this explanation will be helpful. Please let me know if I can
assist you with something else.
Next email:
Other our customers use backorders feature. As a possible workaround
for creation orders when product quantity is 0, you can allow for
needed products (product should be in stock, manage quantity - "yes".
This will allow Magento order creation for corresponding FBA order if
qty=0. You can set this parameter in Magento product inventory.
I have consulted with our development department on your case. As a
possible workaround, we can provide you with a part of the code which
is responsible for orders functionality. If your developers would be
able to adjust the needed changes, we would be glad to assist you.
Please also note, that we will not guarantee the proper work when some
custom modifications to the code are applied. In case this suggestion
is approved by your developers, please send us your confirmation and I
will send you a part of the code.
The code they wanted to provide was useless, it was just a hint that the magic happens in
app/code/community/Ess/M2ePro/Model/Order.php
public function createMagentoOrder()
which is quite obvious.
Please consider that backorders feature will bring other issues, so we do not use this and currently live with this situation as it is.
For me it is a quite important and standard situation to have FBA stock but no magento stock, so I don't understand why they don't fix the problem.
When time is available we will do a fix ourselves.

How to block free shipping method in frontend only in magento

I am in a tensed situation. I am behind this for more than 1 day. Is there anyway to block showing free shipping method in checkout page, but showing it on admin panel page.
For eg: i purchased a product paying shipping charges for shipping method. But it is not delivered , In that case, through admin Panel, admin may able to reorder the same quote, free of cost and shipping charges, so free shipping method should show in admin panel. But When I enable that, this is shown on frontend also, so how can I block free shipping in frontend(customer checkout), but keeping it enable in admin panel.
I am sorry for poor English. I think, the example that i provided you make the question clear.
Thanks in advance.
Sure it is , just edit the shipping methods template and make a if condition by shipping method code or extend the shipping method and set the isActive method to distinct front and backend

Resources