PagarmeRecipientBankAccountResponseData.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Data\Pagarme\Response\PagarmeRecipientResponseData;
  3. use App\Data\Pagarme\PagarmeResponseData;
  4. final readonly class PagarmeRecipientBankAccountResponseData extends PagarmeResponseData
  5. {
  6. public function __construct(
  7. public ?string $holderName,
  8. public ?string $holderType,
  9. public ?string $holderDocument,
  10. public ?string $bank,
  11. public ?string $branchNumber,
  12. public ?string $branchCheckDigit,
  13. public ?string $accountNumber,
  14. public ?string $accountCheckDigit,
  15. public ?string $type,
  16. ) {}
  17. public static function fromArray(array $payload): static
  18. {
  19. return new self(
  20. holderName: static::arrString($payload, 'holder_name'),
  21. holderType: static::arrString($payload, 'holder_type'),
  22. holderDocument: static::arrString($payload, 'holder_document'),
  23. bank: static::arrString($payload, 'bank'),
  24. branchNumber: static::arrString($payload, 'branch_number'),
  25. branchCheckDigit: static::arrString($payload, 'branch_check_digit'),
  26. accountNumber: static::arrString($payload, 'account_number'),
  27. accountCheckDigit: static::arrString($payload, 'account_check_digit'),
  28. type: static::arrString($payload, 'type'),
  29. );
  30. }
  31. public function toArray(): array
  32. {
  33. return [
  34. 'holder_name' => $this->holderName,
  35. 'holder_type' => $this->holderType,
  36. 'holder_document' => $this->holderDocument,
  37. 'bank' => $this->bank,
  38. 'branch_number' => $this->branchNumber,
  39. 'branch_check_digit' => $this->branchCheckDigit,
  40. 'account_number' => $this->accountNumber,
  41. 'account_check_digit' => $this->accountCheckDigit,
  42. 'type' => $this->type,
  43. ];
  44. }
  45. }