Opening soon — authors keep 100 % of their price Become an author Sign in Create account
Hello, sign in Account & Lists YourAuthor area

Refusal reasons

1.Refusal reasons

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.

2.When something does not work

Six things that actually go wrong, in the order we get asked about them.

Every signature looks invalid

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.

The API answers 403 and I never reach it

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.

It works on my machine but not on the buyer’s site

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.

The buyer says their key is valid but the product refuses

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.

My staging site is eating a licence slot

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 buyer moved their site and everything broke

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.

Something unclear?

Write to us from your author area. A question that needed asking usually means this page is missing a paragraph.

Author area