PagarmeOrderItemResponseData.php 1.2 KB

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