CountrySpecification
extends DomainValue
in package
Complete specification for a country including supported features and requirements.
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
- $banks : CountryBankDirectory|null
- Bank reference data available for country-specific bank accounts.
- $btAgingSpecs : array<int, string>
- Balance transaction aging specifications available.
- $countryCode : string
- ISO 3166-1 alpha-2 country code.
- $countryName : string
- Full country name.
- $currencies : array<int, string>
- Supported currencies in this country.
- $financialAccountTypes : array<int, string>
- Financial account types available in this country.
- $idDocumentTypes : array<int, string>
- Identification document types accepted in this country.
- $legalEntityTypes : array<int, string>
- Legal entity types that can operate in this country.
- $paymentMethods : array<int, string>
- Supported payment methods in this country.
- $payoutSchedules : array<int, string>
- Available payout schedules for this country.
Methods
- __construct() : mixed
- Hydrates a CountrySpecification from decoded Inttegro API data.
- fromArray() : static
- Creates a CountrySpecification 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
$banks read-only
Bank reference data available for country-specific bank accounts.
public
CountryBankDirectory|null
$banks
Optional response field. PHP type: \Inttegro\Shared\CountryBankDirectory|null; wire field:
banks (object).
$btAgingSpecs read-only
Balance transaction aging specifications available.
public
array<int, string>
$btAgingSpecs
Required response field. PHP type: list<string>; wire field: bt_aging_specs
(array<string>).
$countryCode read-only
ISO 3166-1 alpha-2 country code.
public
string
$countryCode
Required response field. PHP type: string; wire field: country_code (string).
$countryName read-only
Full country name.
public
string
$countryName
Required response field. PHP type: string; wire field: country_name (string).
$currencies read-only
Supported currencies in this country.
public
array<int, string>
$currencies
Required response field. PHP type: list<string>; wire field: currencies
(array<string>).
$financialAccountTypes read-only
Financial account types available in this country.
public
array<int, string>
$financialAccountTypes
Required response field. PHP type: list<string>; wire field: financial_account_types
(array<string>).
$idDocumentTypes read-only
Identification document types accepted in this country.
public
array<int, string>
$idDocumentTypes
Required response field. PHP type: list<string>; wire field: id_document_types
(array<string>).
$legalEntityTypes read-only
Legal entity types that can operate in this country.
public
array<int, string>
$legalEntityTypes
Required response field. PHP type: list<string>; wire field: legal_entity_types
(array<string>).
$paymentMethods read-only
Supported payment methods in this country.
public
array<int, string>
$paymentMethods
Required response field. PHP type: list<string>; wire field: payment_methods
(array<string>).
$payoutSchedules read-only
Available payout schedules for this country.
public
array<int, string>
$payoutSchedules
Required response field. PHP type: list<string>; wire field: payout_schedules
(array<string>).
Methods
__construct()
Hydrates a CountrySpecification 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 a CountrySpecification 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 CountrySpecification 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.