Everyone

Domain Registration Failures

Diagnose and fix failed domain registrations, transfers, and renewals.

Last updated 1776211200

Domain Registration Job Failed

If a domain is ordered but registration fails:

  1. Go to Admin → Domains, find the domain, and open its record.
  2. Check the Provisioning Log tab for the error returned by the registrar API.
  3. Go to Admin → Settings → Registrars → edit the registrar and verify the API credentials.
  4. Click Test Connection to confirm the credentials are working.

If the test passes but registrations still fail, the error in the provisioning log will identify the specific API rejection reason.

Domain Shows as "Pending" Indefinitely

A domain stuck in Pending means the RegisterDomainJob either hasn't run or has failed and been added to the failed jobs queue.

Check the failed jobs table:

php artisan queue:failed

Look for a job with RegisterDomainJob in the payload. Note the job ID.

View the failure reason:

php artisan queue:failed
# Find the ID, then:
php artisan queue:failed --id=42

Or query directly:

SELECT id, payload, exception, failed_at
FROM failed_jobs
WHERE payload LIKE '%RegisterDomainJob%'
ORDER BY failed_at DESC
LIMIT 10;

The exception column contains the full error message and stack trace.

ResellerClub: "auth failed"

This error means the auth-userid or api-key in the ResellerClub registrar settings is wrong.

  1. Go to Admin → Settings → Registrars → ResellerClub.
  2. Verify the Auth User ID (numeric) and API Key.
  3. Check the Sandbox toggle — sandbox credentials are different from live credentials. Using live credentials with sandbox mode on (or vice versa) always returns auth failed.

[!IMPORTANT] ResellerClub's sandbox API is at a different endpoint than the live API. If you set sandbox mode in Commerce, ensure you are using sandbox API credentials from the ResellerClub testing environment, not your live account credentials.

Transfer Failed: Invalid EPP Code

If a domain transfer fails with an EPP/auth code error:

  1. The client likely entered their EPP code incorrectly.
  2. Ask the client to retrieve the EPP code again from their current registrar — many registrars email it fresh each time it is requested.
  3. Some registrars require the domain transfer lock to be disabled before a transfer can proceed. Confirm the lock is off at the current registrar.
  4. Retry the transfer with the new EPP code via Admin → Domains → Retry Transfer.

Availability Check Returns "Unavailable" for All Domains

If the domain availability checker always returns unavailable, even for obviously available names:

  1. Check if the registrar module is in sandbox mode — sandbox APIs often return different results than the live API.
  2. Go to Admin → Settings → Registrars and toggle the sandbox setting off temporarily to test against the live API.
  3. Check the Laravel log for errors from the availability check request:
    grep -i "availability\|check.*domain\|domain.*check" storage/logs/laravel.log | tail -30
    

[!TIP] Availability check failures that affect all TLDs simultaneously almost always point to a credentials issue or sandbox/live mismatch — not a problem with individual domains.

Retrying Failed Domain Jobs

Retry a specific failed job:

php artisan queue:retry 42

Retry all failed jobs:

php artisan queue:retry all

[!WARNING] Before retrying RegisterDomainJob, confirm the domain is not already registered. Retrying a job for a domain that was partially registered may cause duplicate registration attempts and unexpected charges.