Overview
Every provisioning action Commerce takes — successful or not — is written to the provisioning_log table. The log is your primary tool for diagnosing failures when hosting accounts aren't being created, suspended, or terminated as expected.
Location: Admin → Infrastructure → Provisioning Log
What Is Logged
| Column | Description |
|---|---|
| Service | The service the action was performed on (domain + client name) |
| Action | create, suspend, unsuspend, terminate |
| Status | success or failed |
| Request payload | Full JSON body sent to the Panel API |
| Response payload | Full JSON (or error string) returned by the Panel API |
| Timestamp | When the action was attempted |
| Attempt # | Which retry attempt this was (1, 2, or 3) |
Reading the Log
Filtering
Use the filter bar at the top to narrow results by:
- Service — search by domain name or client
- Action type — create / suspend / unsuspend / terminate
- Status — success / failed
- Date range
Viewing a Full Entry
Click any row to expand the full request and response payloads. For failed entries, the response will contain the exact error returned by the Panel API, which is the fastest way to identify the root cause.
Common Failure Causes
| Error in Response | Likely Cause | Fix |
|---|---|---|
Connection refused / cURL error 7 |
Wrong api_url or Panel server firewall blocking Commerce IP |
Check api_url, open port in firewall |
401 Unauthorized |
Wrong api_token |
Re-enter token in server credentials |
422 account already exists |
Account with that username already exists on Panel | Delete the duplicate on Panel, or change username |
Package not found |
Package name in Commerce doesn't match Panel | Correct spelling in product settings (case-sensitive) |
SSL certificate verify failed |
Self-signed cert on Panel server | Install valid cert, or set SSL_VERIFY=false in .env |
504 Gateway Timeout |
Panel API too slow to respond | Check Panel server health; increase timeout in module config |
Retrying a Failed Action
Commerce does not automatically retry after all 3 attempts have been exhausted. To re-trigger:
- Go to Admin → Services → [service].
- In the Actions panel, click the relevant button (e.g. Create Account, Suspend, Unsuspend, Terminate).
- This dispatches a fresh job — independent of the failed attempts in the log.
The new job's result will appear as a new row in the provisioning log.
Keeping the Log Clean
The provisioning log grows over time. Commerce does not auto-prune it. To clear old entries:
php artisan commerce:prune-provisioning-log --days=90
This removes all entries older than 90 days. Run it from a scheduled task or cron if needed.