PagarmeTransferRequestData.php 676 B

1234567891011121314151617181920212223242526
  1. <?php
  2. namespace App\Data\Pagarme\Request;
  3. use App\Data\Pagarme\PagarmeData;
  4. final readonly class PagarmeTransferRequestData extends PagarmeData
  5. {
  6. public function __construct(
  7. public int $amount,
  8. public string $recipientId,
  9. public ?array $metadata = null,
  10. ) {
  11. self::requirePositiveInt($this->amount, 'amount');
  12. self::requireFilled($this->recipientId, 'recipient_id');
  13. }
  14. public function toArray(): array
  15. {
  16. return $this->filterFilledRecursive([
  17. 'amount' => $this->amount,
  18. 'recipient_id' => $this->recipientId,
  19. 'metadata' => $this->metadata,
  20. ]);
  21. }
  22. }