PagarmeOrderPixData.php 847 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Data\Pagarme\Request\PagarmeOrderRequestData\PagarmeOrderPaymentData;
  3. use App\Data\Pagarme\PagarmeData;
  4. final readonly class PagarmeOrderPixData extends PagarmeData
  5. {
  6. /**
  7. * @param PagarmeOrderPixAdditionalInformationData[]|null $additionalInformation
  8. */
  9. public function __construct(
  10. public ?int $expiresIn = null,
  11. public ?array $additionalInformation = null,
  12. ) {
  13. if ($this->expiresIn === null) {
  14. throw new \InvalidArgumentException(
  15. 'pix.expires_in e obrigatorio.'
  16. );
  17. }
  18. }
  19. public function toArray(): array
  20. {
  21. return $this->filterFilledRecursive([
  22. 'expires_in' => $this->expiresIn,
  23. 'additional_information' => $this->additionalInformation,
  24. ]);
  25. }
  26. }