Moving a WooCommerce store to a new domain touches more than a normal site move, because payment webhooks, order emails, and stored URLs all reference the old address. Done in the right order, it is straightforward. Here is the full sequence.
Take a complete backup of files and database before changing anything, so you have a clean rollback point.
Move the files and database to the new domain's hosting. Keep the old store live during the move so nothing is lost.
The database is full of hardcoded references to the old domain. Use a serialization-safe search and replace so WooCommerce data is not corrupted - the WP-CLI command is cleanest:
wp search-replace 'https://olddomain.com' 'https://newdomain.com' --skip-columns=guid
Back up the database before running it.
Confirm the WordPress and site addresses point to the new domain, and check the WooCommerce settings for any store URLs or email addresses that reference the old one.
Install an SSL certificate for the new domain, then update the webhook or callback URLs in your payment gateway to the new domain. This is the step most often missed - if the gateway still calls the old domain, orders will not be confirmed correctly.
Set 301 redirects from the old domain to the new one to preserve SEO and catch bookmarks. Then place a full test order on the new domain: add to cart, check out, pay, and confirm the order email arrives.
Our team handles moves like this as part of the free migration on SoftSys managed WooCommerce hosting, including the webhook and email details that are easy to overlook.