BulkAnticipationRequestData.php 916 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Data\Pagarme\Request;
  3. use App\Data\Pagarme\PagarmeData;
  4. final readonly class BulkAnticipationRequestData extends PagarmeData
  5. {
  6. public function __construct(
  7. public string $paymentDate,
  8. public string $timeframe,
  9. public int $requestedAmount,
  10. public bool $automaticTransfer = false,
  11. ) {
  12. self::requireFilled($this->paymentDate, 'payment_date');
  13. self::requireIn($this->timeframe, ['start', 'end'], 'timeframe');
  14. self::requirePositiveInt($this->requestedAmount, 'requested_amount');
  15. }
  16. public function toArray(): array
  17. {
  18. return $this->filterFilledRecursive([
  19. 'payment_date' => $this->paymentDate,
  20. 'timeframe' => $this->timeframe,
  21. 'requested_amount' => $this->requestedAmount,
  22. 'automatic_transfer' => $this->automaticTransfer,
  23. ]);
  24. }
  25. }