|
|
@@ -1,10 +1,14 @@
|
|
|
<?php
|
|
|
|
|
|
-namespace App\Data\Pagarme\Response;
|
|
|
-
|
|
|
-use App\Data\Pagarme\Response\Objects\PagarmeArrayListData;
|
|
|
-use App\Data\Pagarme\Response\Objects\PagarmeArrayObjectData;
|
|
|
+namespace App\Data\Pagarme\Response\PagarmeOrderResponseData;
|
|
|
|
|
|
+/**
|
|
|
+ * @param array<int, array> $items Itens do pedido (code, amount, quantity, description, etc.)
|
|
|
+ * @param array<string, mixed>|null $customer Dados do cliente retornados pela API
|
|
|
+ * @param array<int, array> $charges Cobrancas do pedido (status, amount, payment_method, last_transaction, etc.)
|
|
|
+ * @param array<int, array> $checkouts Checkouts do pedido
|
|
|
+ * @param array<string, mixed> $metadata Metadados retornados pela API
|
|
|
+ */
|
|
|
readonly class PagarmeOrderResponseData
|
|
|
{
|
|
|
public function __construct(
|
|
|
@@ -14,11 +18,11 @@ readonly class PagarmeOrderResponseData
|
|
|
public ?string $currency,
|
|
|
public ?bool $closed,
|
|
|
public ?string $status,
|
|
|
- public PagarmeArrayListData $items,
|
|
|
- public ?PagarmeArrayObjectData $customer,
|
|
|
- public PagarmeArrayListData $charges,
|
|
|
- public PagarmeArrayListData $checkouts,
|
|
|
- public PagarmeArrayObjectData $metadata,
|
|
|
+ public array $items,
|
|
|
+ public ?array $customer,
|
|
|
+ public array $charges,
|
|
|
+ public array $checkouts,
|
|
|
+ public array $metadata,
|
|
|
public ?string $createdAt = null,
|
|
|
public ?string $updatedAt = null,
|
|
|
public ?string $closedAt = null,
|
|
|
@@ -33,11 +37,11 @@ readonly class PagarmeOrderResponseData
|
|
|
currency: $payload['currency'] ?? null,
|
|
|
closed: $payload['closed'] ?? null,
|
|
|
status: $payload['status'] ?? null,
|
|
|
- items: PagarmeArrayListData::fromArray($payload['items'] ?? []),
|
|
|
- customer: ! empty($payload['customer']) ? PagarmeArrayObjectData::fromArray($payload['customer']) : null,
|
|
|
- charges: PagarmeArrayListData::fromArray($payload['charges'] ?? []),
|
|
|
- checkouts: PagarmeArrayListData::fromArray($payload['checkouts'] ?? []),
|
|
|
- metadata: PagarmeArrayObjectData::fromArray($payload['metadata'] ?? []),
|
|
|
+ items: $payload['items'] ?? [],
|
|
|
+ customer: ! empty($payload['customer']) ? $payload['customer'] : null,
|
|
|
+ charges: $payload['charges'] ?? [],
|
|
|
+ checkouts: $payload['checkouts'] ?? [],
|
|
|
+ metadata: $payload['metadata'] ?? [],
|
|
|
createdAt: $payload['created_at'] ?? null,
|
|
|
updatedAt: $payload['updated_at'] ?? null,
|
|
|
closedAt: $payload['closed_at'] ?? null,
|
|
|
@@ -57,15 +61,15 @@ readonly class PagarmeOrderResponseData
|
|
|
'amount' => $this->amount,
|
|
|
'currency' => $this->currency,
|
|
|
'closed' => $this->closed,
|
|
|
- 'items' => $this->items->toArray(),
|
|
|
- 'customer' => $this->customer?->toArray(),
|
|
|
+ 'items' => $this->items,
|
|
|
+ 'customer' => $this->customer,
|
|
|
'status' => $this->status,
|
|
|
'created_at' => $this->createdAt,
|
|
|
'updated_at' => $this->updatedAt,
|
|
|
'closed_at' => $this->closedAt,
|
|
|
- 'charges' => $this->charges->toArray(),
|
|
|
- 'checkouts' => $this->checkouts->toArray(),
|
|
|
- 'metadata' => $this->metadata->toArray(),
|
|
|
+ 'charges' => $this->charges,
|
|
|
+ 'checkouts' => $this->checkouts,
|
|
|
+ 'metadata' => $this->metadata,
|
|
|
];
|
|
|
}
|
|
|
}
|