CardRequestData.php 683 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace App\Data\Pagarme\Card;
  3. use App\Data\Pagarme\PagarmeData;
  4. use App\Data\Pagarme\Card\Parts\Request\BillingAddressData;
  5. final readonly class CardRequestData extends PagarmeData
  6. {
  7. public function __construct(
  8. public string $token,
  9. public ?string $label = null,
  10. public ?BillingAddressData $billingAddress = null,
  11. ) {
  12. self::requireFilled($this->token, 'token');
  13. }
  14. public function toArray(): array
  15. {
  16. return $this->filterFilledRecursive([
  17. 'token' => $this->token,
  18. 'label' => $this->label,
  19. 'billing_address' => $this->billingAddress,
  20. ]);
  21. }
  22. }