PagarmeOrderSplitData.php 964 B

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