PagarmeRecipientBankAccountResponseData.php 1.8 KB

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