Migrating your store from one domain to another

The process for moving your Easy Digital Downloads store from one domain to another is very involved/complex and requires a few different things to be done in a specific order.

In regards to changing domains for your store/database and keeping all of your data intact, while that isn't a service we provide, there are some great plugins out there to help with that. One of the best ones available is Migrate DB Pro:
https://deliciousbrains.com/wp-migrate-db-pro/

While WordPress does have a built-in import/export tool, unfortunately it is not an extensive one and will miss a lot of your data. This is why plugins like WP Migrate DB Pro exist, which is extremely extensive and provides a complete version of your data after migration. 

Update your payment gateway's settings:

Depending on your payment gateway, you may need to re-configure the setup at the gateway so that payment confirmations are sent to your new domain, instead of the old one. With Stripe, these are called "Webhooks", with Paypal Standard this is called an IPN (Instant Payment Notification). Each payment gateway has its own system and term for this, and you may need to adjust this setting in your payment gateway itself. To be sure, go through the setup documentation for your payment gateway again, making sure all of the domain-name-related steps now point at your new domain name. 

Documentation locating tip: You can find the documentation for your gateway on the Easy Digital Downloads website. Go to the sales page for your payment gateway and click the link that says "View Setup Documentation".

If you are using Recurring Payments:

Similarly to the above payment gateway changes, you may have to adjust additional settings in your payment gateway to account for subscriptions if you're using the Recurring Payments extension and have existing subscriptions. It's important to note that renewal payments are initiated by the payment gateway, and the payment gateway then passes that information along to your store. 

In order to have those renewal payments get created on your new domain name when they happen, you'll need to adjust any webhooks, IPNs, INS, or any other type of notification system your payment gateway might use. You'll need to change the URL the payment gateway will "ping" when a new renewal payment is processed so that it points at your new domain name. To be sure that you are adjusting the correct setting at your gateway, review the documentation for your chosen payment gateway and follow it's setup instructions, making sure to use your new domain name this time. 

Important note for PayPal Standard and Recurring Payments:

If you use Paypal Standard: Paypal's IPNs are set uniquely for each subscription, so updating the IPN is not the only step you need to take here. You will also need to set up a script to catch the IPN data on the old IPN URL, and pass the IPN data to the new IPN URL. So for example, if your old IPN URL was http://youroldsite.com/?edd-listener=IPN you will need to set up a script to pass the IPN data from that URL to http://yournewsite.com/?edd-listener=IPN.

This means you need to keep your old domain name, and make sure that the IPN is properly passed to your new domain. To do that, you can use a WordPress plugin like WordPress PayPal IPN Forwarder. Note that plugin is from a 3rd party, and is only provided as an example of how to pass your IPN data to another URL, and is not officially supported or guaranteed by Easy Digital Downloads.

If you are using Software Licensing and delivering updates:

First, you’ll need to update your "call-home" url in your software’s code to call home to the new URL. Then, you will have to serve that update from both the old site and the new site at the same time. This way, your customer's existing software, which still "calls-home" to the old site, will get the update to the software which contains the new "call-home" url for future updates.  

You’ll have to keep serving the update from the old site for the foreseeable future, until such time as you are confident that all of your customers have updated the software. Otherwise, those old customers will never get the new "call-home" URL and be cut-off from future updates. Ideally, you would keep delivering updates from the old URL forever - but that is up to you. At some point, it would likely be alright to stop serving updates from the old domain. In most cases it is recommend that you keep the old site in-tact and serving updates for at least 1 year.  

Note: If you are hoping to move a single product from one store to another, and you wish to have existing customer's licenses work on the new site, this is not currently something that is easily possible. The only way to accomplish this would be to migrate the entire site using WP Migrate DB Pro and then delete everything about the site except the data pertaining to that product and its licenses. Attempting this is not recommended.

If you are struggling with migration:

If you've already attempted all of the above and are still having difficulty, we have a consultants page of professionals available for hire who can help with migrations. You can reach out to them here:  https://easydigitaldownloads.com/consultants/