I searched the forum and there were other similar cases unresolved so opening a new with potential fix:
I tried to revalidate my license after hosting change (for some reason the validation has gotten “lost” somewhere) and noticed that site validation did not succeed when when validation was done from admin using other admin language than default.
So if the site is “domain.com” and (in my case) default language is Finnish, validation fails if I try to validate with the admin set to English. Is your code sending the site address as “domain.com/en” when using English as the admin language? If that is the case then, you should match “domain.com” and not “domain.com/en” to the site listed in the themeco account. Just a guess.