// use Apoloz\AlfaBank\Data\Common\PayoutRequisiteData; use Apoloz\AlfaBank\Data\Common\RecipientData; use Apoloz\AlfaBank\Data\Common\TaxData; use Apoloz\AlfaBank\Traits\SignableData; use Spatie\LaravelData\Attributes\DataCollectionOf; use Spatie\LaravelData\Attributes\Validation\Numeric; use Spatie\LaravelData\Data; use Spatie\LaravelData\DataCollection; // //
// class PayoffRequestData extends Data { use SignableData; //
// public function __construct( public string $type, public string $accountNumber, public RecipientData $recipient, public PayoutRequisiteData $payoutRequisite, #[Numeric] public string $amount, public string $purpose, #[DataCollectionOf(DigestSignatureData::class)] public ?DataCollection $digestSignatures = null, public ?string $deponent = null, #[DataCollectionOf(PayoutRequisiteData::class)] public ?DataCollection $requisites = null, public ?TaxData $tax = null, ) {} public function toArray(): array { return array_filter(parent::toArray(), fn ($v) => $v !== null); } //
}