RecipientTransferSettingsData.php 870 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Data\Pagarme\Request\RecipientRequestData;
  3. use App\Data\Pagarme\PagarmeData;
  4. final readonly class RecipientTransferSettingsData extends PagarmeData
  5. {
  6. public function __construct(
  7. public bool $transferEnabled,
  8. public string $transferInterval,
  9. public int $transferDay,
  10. ) {
  11. self::requireIn($this->transferInterval, ['Daily', 'Weekly', 'Monthly'], 'transfer_interval');
  12. if ($this->transferDay < 0) {
  13. throw new \InvalidArgumentException('transfer_day deve ser maior ou igual a zero.');
  14. }
  15. }
  16. public function toArray(): array
  17. {
  18. return $this->filterFilledRecursive([
  19. 'transfer_enabled' => $this->transferEnabled,
  20. 'transfer_interval' => $this->transferInterval,
  21. 'transfer_day' => $this->transferDay,
  22. ]);
  23. }
  24. }