Customer
extends DomainValue
in package
A customer record containing contact, balance, address, and lifecycle information.
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
- $balance : array<string, BalanceValue>
- Available customer balances keyed by lowercase currency code.
- $billingAddress : Address|null
- Billing Address value for this customer.
- $createdAt : DateTimeImmutable
- Time at which the value was created.
- $customData : CustomData|null
- Merchant-defined string values attached to a resource. SDKs expose this as a semantic collection rather than a raw map.
- $emailAddress : string|null
- Email Address value for this customer.
- $fingerprint : string
- Application-scoped value for spotting possible duplicate customer records.
- $guest : bool
- Guest value for this customer.
- $id : string
- Unique identifier for this customer.
- $name : string
- Human-readable name.
- $phoneNumber : string|null
- Phone Number value for this customer.
- $reference : string|null
- Reference value for this customer.
- $shippingAddress : Address|null
- Shipping Address value for this customer.
- $suffix : string|null
- Suffix value for this customer.
- $title : string|null
- Title value for this customer.
- $updatedAt : DateTimeImmutable|null
- Time at which the value was last updated.
Methods
- __construct() : mixed
- Hydrates a Customer from decoded Inttegro API data.
- fromArray() : static
- Creates a Customer 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
$balance read-only
Available customer balances keyed by lowercase currency code.
public
array<string, BalanceValue>
$balance
Required response field. PHP type: array<string, \Inttegro\Customer\BalanceValue>; wire
field: balance (object).
When the field is absent, the SDK exposes an empty collection.
$billingAddress read-only
Billing Address value for this customer.
public
Address|null
$billingAddress
Optional response field. PHP type: \Inttegro\Customer\Address|null; wire field:
billing_address (object).
$createdAt read-only
Time at which the value was created.
public
DateTimeImmutable
$createdAt
Required response field. PHP type: DateTimeImmutable; wire field: created_at (ISO-8601 string with UTC offset).
The SDK parses the offset-bearing timestamp into an immutable PHP date-time value.
$customData read-only
Merchant-defined string values attached to a resource. SDKs expose this as a semantic collection rather than a raw map.
public
CustomData|null
$customData
Optional response field. PHP type: \Inttegro\CustomData|null; wire field: custom_data
(object).
$emailAddress read-only
Email Address value for this customer.
public
string|null
$emailAddress
Optional response field. PHP type: string|null; wire field: email_address (string).
$fingerprint read-only
Application-scoped value for spotting possible duplicate customer records.
public
string
$fingerprint
Required response field. PHP type: string; wire field: fingerprint (string).
$guest read-only
Guest value for this customer.
public
bool
$guest
Required response field. PHP type: bool; wire field: guest (boolean).
$id read-only
Unique identifier for this customer.
public
string
$id
Required response field. PHP type: string; wire field: id (string).
$name read-only
Human-readable name.
public
string
$name
Required response field. PHP type: string; wire field: name (string).
$phoneNumber read-only
Phone Number value for this customer.
public
string|null
$phoneNumber
Optional response field. PHP type: string|null; wire field: phone_number (string).
$reference read-only
Reference value for this customer.
public
string|null
$reference
Optional response field. PHP type: string|null; wire field: reference (string).
$shippingAddress read-only
Shipping Address value for this customer.
public
Address|null
$shippingAddress
Optional response field. PHP type: \Inttegro\Customer\Address|null; wire field:
shipping_address (object).
$suffix read-only
Suffix value for this customer.
public
string|null
$suffix
Optional response field. PHP type: string|null; wire field: suffix (string).
$title read-only
Title value for this customer.
public
string|null
$title
Optional response field. PHP type: string|null; wire field: title (string).
$updatedAt read-only
Time at which the value was last updated.
public
DateTimeImmutable|null
$updatedAt
Optional response field. PHP type: DateTimeImmutable|null; wire field: updated_at
(ISO-8601 string with UTC offset).
The SDK parses the offset-bearing timestamp into an immutable PHP date-time value.
Methods
__construct()
Hydrates a Customer 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 Customer 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 Customer 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.