Error
extends DomainValue
in package
Standard error response structure returned by all API endpoints. Provides machine-readable codes, human-readable messages, and actionable guidance for resolution.
This immutable value hydrates decoded API snake_case data into typed camelCase properties.
Use fromArray() for wire data; toArray(), array access, and JSON serialization expose the API
wire representation. Nullable properties correspond to optional API fields.
Tags
Table of Contents
Properties
- $cause : string|null
- Stable category describing the reason for failure, such as invalid input, an unmet precondition, or a state conflict.
- $code : string
- Unique machine-readable identifier for this specific error condition. Unlike type and cause which group errors, code pinpoints the exact problem.
- $detail : string|null
- Explanation of the relevant rule and next safe action. It never contains raw dependency, storage, or implementation errors.
- $fixCode : string|null
- Machine-readable suggestion for how to resolve the error (e.g., "retry_with_exponential_backoff", "change_request_parameters").
- $message : string|null
- Concise, caller-safe explanation of why the request was rejected or could not finish.
- $type : string
- Broad error category to help clients determine retry strategies (e.g., "invalid_request_parameter", "transient_error").
- $url : string
- Link to error reference documentation with detailed explanation, common causes, and resolution guidance.
Methods
- __construct() : mixed
- Hydrates an Error from decoded Inttegro API data.
- fromArray() : static
- Creates an Error from its decoded API wire representation.
- jsonSerialize() : array<string, mixed>
- Returns the same API wire object as `toArray()` for `json_encode()`.
- offsetExists() : bool
- Reports whether a non-null property exists for a PHP or API field name.
- offsetGet() : mixed
- Reads a typed property through PHP `ArrayAccess`.
- offsetSet() : void
- Rejects mutation because domain values are immutable.
- offsetUnset() : void
- Rejects unsetting because domain values are immutable.
- toArray() : array<string, mixed>
- Converts typed properties back to the API's wire representation.
Properties
$cause read-only
Stable category describing the reason for failure, such as invalid input, an unmet precondition, or a state conflict.
public
string|null
$cause
Optional response field. PHP type: string|null; wire field: cause (string).
$code read-only
Unique machine-readable identifier for this specific error condition. Unlike type and cause which group errors, code pinpoints the exact problem.
public
string
$code
Required response field. PHP type: string; wire field: code (string).
$detail read-only
Explanation of the relevant rule and next safe action. It never contains raw dependency, storage, or implementation errors.
public
string|null
$detail
Optional response field. PHP type: string|null; wire field: detail (string).
$fixCode read-only
Machine-readable suggestion for how to resolve the error (e.g., "retry_with_exponential_backoff", "change_request_parameters").
public
string|null
$fixCode
Optional response field. PHP type: string|null; wire field: fix_code (string).
$message read-only
Concise, caller-safe explanation of why the request was rejected or could not finish.
public
string|null
$message
Optional response field. PHP type: string|null; wire field: message (string).
$type read-only
Broad error category to help clients determine retry strategies (e.g., "invalid_request_parameter", "transient_error").
public
string
$type
Required response field. PHP type: string; wire field: type (string).
$url read-only
Link to error reference documentation with detailed explanation, common causes, and resolution guidance.
public
string
$url
Required response field. PHP type: string; wire field: url (string).
Methods
__construct()
Hydrates an Error from decoded Inttegro API data.
public
__construct(array<string, mixed> $data) : mixed
Parameters
- $data : array<string, mixed>
-
Wire object keyed by
snake_caseAPI field names.
fromArray()
Creates an Error from its decoded API wire representation.
public
static fromArray(array<string, mixed> $data) : static
Parameters
- $data : array<string, mixed>
-
Wire object keyed by
snake_caseAPI field names.
Return values
static —A typed, immutable Error value.
jsonSerialize()
Returns the same API wire object as `toArray()` for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Return values
array<string, mixed>offsetExists()
Reports whether a non-null property exists for a PHP or API field name.
public
offsetExists(mixed $offset) : bool
Both paymentId and payment_id address the same typed property.
Parameters
- $offset : mixed
-
PHP
camelCaseor wiresnake_casefield name.
Return values
booloffsetGet()
Reads a typed property through PHP `ArrayAccess`.
public
offsetGet(mixed $offset) : mixed
Parameters
- $offset : mixed
-
PHP
camelCaseor wiresnake_casefield name.
Return values
mixed —The PHP-native property value.
offsetSet()
Rejects mutation because domain values are immutable.
public
offsetSet(mixed $offset, mixed $value) : void
Parameters
- $offset : mixed
-
Ignored field name.
- $value : mixed
-
Ignored replacement value.
Tags
offsetUnset()
Rejects unsetting because domain values are immutable.
public
offsetUnset(mixed $offset) : void
Parameters
- $offset : mixed
-
Ignored field name.
Tags
toArray()
Converts typed properties back to the API's wire representation.
public
toArray() : array<string, mixed>
Property names become snake_case. Nested values, arrays, backed enums, and timestamps are
normalized recursively so the result is safe to pass to json_encode().
Return values
array<string, mixed> —The recursively normalized API object.