OrderCheckoutResponseData.php 784 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Data\Pagarme\Response\OrderResponseData;
  3. use App\Data\Pagarme\PagarmeResponseData;
  4. final readonly class OrderCheckoutResponseData extends PagarmeResponseData
  5. {
  6. public function __construct(
  7. public ?string $id,
  8. public ?string $status,
  9. public ?string $url,
  10. ) {}
  11. public static function fromArray(array $payload): static
  12. {
  13. return new self(
  14. id: static::arrString($payload, 'id'),
  15. status: static::arrString($payload, 'status'),
  16. url: static::arrString($payload, 'url'),
  17. );
  18. }
  19. public function toArray(): array
  20. {
  21. return [
  22. 'id' => $this->id,
  23. 'status' => $this->status,
  24. 'url' => $this->url,
  25. ];
  26. }
  27. }