PagarmeOrderItemResponseData.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Data\Pagarme\Response\PagarmeOrderResponseData;
  3. final readonly class PagarmeOrderItemResponseData
  4. {
  5. public function __construct(
  6. public ?string $id,
  7. public ?string $code,
  8. public ?int $amount,
  9. public ?int $quantity,
  10. public ?string $description,
  11. public ?string $status,
  12. ) {}
  13. public static function fromArray(array $payload): self
  14. {
  15. return new self(
  16. id: $payload['id'] ?? null,
  17. code: $payload['code'] ?? null,
  18. amount: isset($payload['amount']) ? (int) $payload['amount'] : null,
  19. quantity: isset($payload['quantity']) ? (int) $payload['quantity'] : null,
  20. description: $payload['description'] ?? null,
  21. status: $payload['status'] ?? null,
  22. );
  23. }
  24. public function toArray(): array
  25. {
  26. return [
  27. 'id' => $this->id,
  28. 'code' => $this->code,
  29. 'amount' => $this->amount,
  30. 'quantity' => $this->quantity,
  31. 'description' => $this->description,
  32. 'status' => $this->status,
  33. ];
  34. }
  35. }