PagarmeOrderRequestData.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace App\Data\Pagarme\Request;
  3. use App\Data\Pagarme\PagarmeData;
  4. use App\Data\Pagarme\Request\Objects\PagarmeArrayListData;
  5. use App\Data\Pagarme\Request\Objects\PagarmeArrayObjectData;
  6. readonly class PagarmeOrderRequestData extends PagarmeData
  7. {
  8. public function __construct(
  9. public string $code,
  10. public PagarmeArrayListData $items,
  11. public PagarmeArrayListData $payments,
  12. public PagarmeArrayObjectData $metadata,
  13. public ?PagarmeArrayObjectData $customer = null,
  14. public ?string $customerId = null,
  15. public bool $closed = true,
  16. public ?string $channel = null,
  17. ) {}
  18. public function toArray(): array
  19. {
  20. return $this->filterFilledRecursive([
  21. 'code' => $this->code,
  22. 'items' => $this->items,
  23. 'payments' => $this->payments,
  24. 'closed' => $this->closed,
  25. 'metadata' => $this->metadata,
  26. 'customer_id' => $this->customerId,
  27. 'customer' => $this->customer,
  28. 'channel' => $this->channel,
  29. ]);
  30. }
  31. }