| autre_domaine | The key is valid but belongs to another domain. Tell the buyer to transfer it from their account. |
| transfert | The key was moved to another site and replaced. The buyer has a new one. |
| regeneration | The buyer asked for a new key. The old one is dead for good. |
| revocation | We revoked the key: abuse, fraud, or a settled dispute. |
| expiree | A time-limited test key that has run out. |
| inconnue | No such key. Usually a typo. |
| reseau | We could not be reached and no cached verdict remains. Do not block on this. |
Six things that actually go wrong, in the order we get asked about them.
You are almost certainly verifying the raw bytes you received instead of rebuilding the canonical form. Parse the JSON, sort the keys of the donnees object, re-serialise with no spaces, no escaped slashes and no escaped unicode, then verify that. A single space after a colon is enough to fail.
Your HTTP client is sending a default User-Agent that is on a known-bot list and gets filtered before reaching us. Set a User-Agent naming your product and it goes away. The library already does this.
Check the cache directory is writable by the web server, and that it is not wiped on deploy. If the library cannot write, it calls the network on every request, which is slow and will eventually hit the rate limit. Also check the host: the library strips the port and a leading www., so a site reached on a non-standard port still works, but a reverse proxy rewriting the Host header does not.
Read the motif field rather than guessing. autre_domaine means the key belongs to a different domain and the buyer has to transfer it from their account. transfert and regeneration mean the key they gave you is an old one that has been replaced. inconnue is almost always a typo.
It should not. localhost, .local, .test, .example, .invalid and the dev., staging., stage., preprod., test., recette. and sandbox. prefixes are all recognised as trial hosts and consume nothing. If your staging domain looks nothing like those, rename it or use a development key.
A licence covers the registrable domain and every subdomain under it, so moving from example.com to shop.example.com changes nothing. Moving to a different domain needs a transfer, which the buyer does from their account in one step; the old site stops within 24 hours and the new one works immediately.
Write to us from your author area. A question that needed asking usually means this page is missing a paragraph.