Woocommerce: interrupt checkout just before payment step based on user roll - wordpress

We are looking into adding a wholesale signup to a retail woocommerce website, and would like to make it so that if a customer is already registered as a normal retail customer (or is a new customer), and has items in their cart, and would like to apply to become a wholesale reseller during the checkout process 'that they can check a box (preferred), or press a button just before the final payment step.
I am presently using the "Woocommerce MultiStep Checkout Wizard" plugin that is ajax based, and presents the checkout steps in the following order..
Billing Details
Ship Details
View Order (with cart items and order summary)
Payment
Checking that box in step 3, or pressing that button should interrupt the checkout process and present them with an info & additional wholesale signup page with some extra user meta fields (e.g., fed tax id information, etc) that would gather any additional required information, and change their roll to something like "Wholesale Applicant", and would then postpone the final payment step (based on that specific roll), and will prevent final payment until their roll is either changed to "Wholesale Customer" (accepted), or is rejected by the shop admin. In the latter case, their roll would be manually reset to "Retail Customer".
I also am using the "Varktech Pricing Deals for Woocommerce" plugin to manage wholesale discounts based on the user's roll
An email should also be sent to the shop admin whenever a customer wants to go the wholesale route.
NOTE: the wholesale signup page should have a way to cancel and complete the payment step - in case they change their mind too.
I am not a programmer, but have searched for a plugin that could do this with no luck (so far).

I think sometimes newly added checkout/cart based plugins add/edit/update, Please (Resetting checkout fields ) follow below links
Resetting the checkout fields >>> To reset your fields back to the originals, go to WooCommerce > System Status > Tools and look for the “Checkout Fields” section. Click the ‘reset’ buttons and any customisations to your fields will be removed.
After that check all ... all for the best! ...

Related

How to add payment link in invoice and pay later option in woo commerce

Is there anyway to send payment method option in order invoice to the customer so the customer can checkout without making any payment in WooCommerce website.
And afterwards customer can do payment through invoice or any button on the invoice that can take them to payment methods option.
I'm using multiple payment methods and I want to show all of them in the invoice.
Also advices if there's any paid or free plugin.
Right now I'm using Rapyd payment gateway with my website (Just for info)
Also please let me know if we can do same thing by using some forms like Gravity etc
Thanks in advance :)
I did tried a lot of free plugins but none of them are working. Right now I'm able to send invoice to the customer without making any payment but it doesn't show any sort of payment options in it.

WooCommerce disable checkout based on shipping info that was added

I'm looking for a way to disable the checkout button for all available payment methods based on what information was just added as the shipping address. I tried using the hook woocommerce_checkout_process but I can't disable the checkout methods with this hook and it sort-of lets people checkout (just the order does not goes through) and only shows the message after the credit card information has been added and the user has clicked the checkout button. Any suggestions how I can do this?

How can I ensure that only one instance of any product in woocommerce is sold?

I've been looking for an answer to this. Client has a woocommerce shop that will only ever have one of each product. What I need to accomplish is that when a product is added to their cart, the item is unavailable for anyone else to add the same product to a cart. I've tried the old plugin but it breaks portions of the front end, I've tried using several similar solutions I've found here, but nothing seems to do the trick. The plugin also made inventory management on the backend a total nightmare.
So, to walk you through, user A adds product A to cart. User B tries to add this product to cart but woocommerce says its sold out currently to user B. User A can checkout with product A or if user A closes the browser, woocommerce waits one minute and then puts product A back in stock so person B can then add product A to their cart.
I've been searching for this and have come up with nothing from here and some company claiming they can but it's done case by case and they want to handcode it aka very expensive to do.
Please, help!
Just an opinion here so maybe I am wrong, but woo commerce uses stock counts in the backend, so if this is set to 1, then there can only ever be one that can go through the checkout process unless cancelled.
The functionality to reduce that stock count to 0 whilst a user has that item in their basket (or just viewing the checkout page) is not feasible as they have not purchased, at that stage it is just showing intent to purchase.
As you mentioned, that functionality is possible, it wouldn't be pretty, but possible and not something that is available by default in the plugin. Development of such functionality would be needed, and you're right probably quite expensive for development time.

Creating a form with will fill up checkout and cart details on woocommerce

i would like to create a form in which after a client fills in the form and mentions how many units of a product (for example soft toys) he would like, then we could proceed into checkout where he can make the payment.
its basically going to be a random selection page, given that all toys are the same price. If someone goes into the page and fills the form he can select how many he wants and put in his or her details then we will proceed to payment.
I am using wordpress and woocommerce.

WooCommerce add delivery date as hidden product in checkout (Third party payment gateway)

Im developing an e-commerce site with wordpress and woocommerce 2.1. Im using a third party payment gateway (Klarna Checkout) which doesn't offer the customer to specify a delivery date/time. I need to make this feature available but the problem is that the gateway only sends the order-meta from their form, which doesn't offer a date field, when the order is completed. In other words, the standard checkout fields in woocommerce won't be passed to the final order.
My idea of solution is to add a hidden free product called Time, with variations for different time spans, on the checkout page and automatically add this product(with selected variation) to the cart when a customer selects a variation. The specified time would then show as a ordered product when viewing the order in wordpress. How could i do this?
If anyone has a better idea of how to solve this problem feel free to contribute :)
Thanks!
Try this free plugin that adds a delivery date on the checkout page: http://wordpress.org/plugins/order-delivery-date-for-woocommerce/

Resources