PagarmeOrderCreditCardData.php 847 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Data\Pagarme\Request\PagarmeOrderRequestData\PagarmeOrderPaymentData;
  3. use App\Data\Pagarme\PagarmeData;
  4. final readonly class PagarmeOrderCreditCardData extends PagarmeData
  5. {
  6. public function __construct(
  7. public string $cardId,
  8. public ?int $installments = null,
  9. public ?string $statementDescriptor = null,
  10. public ?string $operationType = null,
  11. ) {
  12. self::requireFilled($this->cardId, 'credit_card.card_id');
  13. }
  14. public function toArray(): array
  15. {
  16. return $this->filterFilledRecursive([
  17. 'card_id' => $this->cardId,
  18. 'installments' => $this->installments,
  19. 'statement_descriptor' => $this->statementDescriptor,
  20. 'operation_type' => $this->operationType,
  21. ]);
  22. }
  23. }