forked from apoloz/alfa-bank-sdk
first commit
This commit is contained in:
16
src/Data/Auth/TokenData.php
Normal file
16
src/Data/Auth/TokenData.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\Auth;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class TokenData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $access_token,
|
||||
public string $refresh_token,
|
||||
public ?string $id_token,
|
||||
public int $expires_in,
|
||||
public string $token_type
|
||||
) {}
|
||||
}
|
||||
17
src/Data/Auth/UserInfo/ClientConsentCollectionData.php
Normal file
17
src/Data/Auth/UserInfo/ClientConsentCollectionData.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\Auth\UserInfo;
|
||||
|
||||
use Gemini\AlfaBank\Data\PaginationData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class ClientConsentCollectionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public PaginationData $pagination,
|
||||
#[DataCollectionOf(ClientConsentData::class)]
|
||||
public DataCollection $items
|
||||
) {}
|
||||
}
|
||||
20
src/Data/Auth/UserInfo/ClientConsentData.php
Normal file
20
src/Data/Auth/UserInfo/ClientConsentData.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\Auth\UserInfo;
|
||||
|
||||
use Gemini\AlfaBank\Data\PaginationData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class ClientConsentData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $createDateTime,
|
||||
public string $sub,
|
||||
public string $clientId,
|
||||
public bool $isActive,
|
||||
public string $expireDate,
|
||||
public ?string $organizationIdHash = null,
|
||||
) {}
|
||||
}
|
||||
24
src/Data/Auth/UserInfo/UserInfoData.php
Normal file
24
src/Data/Auth/UserInfo/UserInfoData.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\Auth\UserInfo;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class UserInfoData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $sub,
|
||||
public ?string $iss = null,
|
||||
public ?string $aud = null,
|
||||
public ?string $name = null,
|
||||
public ?string $given_name = null,
|
||||
public ?string $family_name = null,
|
||||
public ?string $middle_name = null,
|
||||
public ?string $email = null,
|
||||
public ?string $gender = null,
|
||||
public ?string $birthdate = null,
|
||||
public ?string $phone_number = null,
|
||||
public ?string $inn = null,
|
||||
// Add more claims as needed based on the response
|
||||
) {}
|
||||
}
|
||||
23
src/Data/Crypto/CertificateData.php
Normal file
23
src/Data/Crypto/CertificateData.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\Crypto;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class CertificateData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $id,
|
||||
public string $clientId,
|
||||
public string $ownerName,
|
||||
public string $fingerprint,
|
||||
public string $beginDateTime,
|
||||
public string $expireDateTime,
|
||||
public string $certificateBody,
|
||||
public string $type,
|
||||
public string $algorithm,
|
||||
public string $serialNumber,
|
||||
public ?string $organizationName = null,
|
||||
public ?string $status = null,
|
||||
) {}
|
||||
}
|
||||
15
src/Data/FileExchange/DownloadFileResponseData.php
Normal file
15
src/Data/FileExchange/DownloadFileResponseData.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\FileExchange;
|
||||
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class DownloadFileResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
#[DataCollectionOf(FileLinkData::class)]
|
||||
public DataCollection $downloadFileLinks,
|
||||
) {}
|
||||
}
|
||||
14
src/Data/FileExchange/FileLinkData.php
Normal file
14
src/Data/FileExchange/FileLinkData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\FileExchange;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class FileLinkData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $url,
|
||||
public string $method,
|
||||
public ?FileLinkData $detachedSignatureLink = null,
|
||||
) {}
|
||||
}
|
||||
15
src/Data/FileExchange/UploadFileResponseData.php
Normal file
15
src/Data/FileExchange/UploadFileResponseData.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\FileExchange;
|
||||
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class UploadFileResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
#[DataCollectionOf(FileLinkData::class)]
|
||||
public DataCollection $uploadFileLinks,
|
||||
) {}
|
||||
}
|
||||
14
src/Data/NominalAccounts/Beneficiaries/AddressData.php
Normal file
14
src/Data/NominalAccounts/Beneficiaries/AddressData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class AddressData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
public string $address,
|
||||
public ?string $country = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class BeneficiaryBalanceData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $beneficiaryId,
|
||||
public string $accountNumber,
|
||||
public string $date,
|
||||
#[DataCollectionOf(WalletBalanceData::class)]
|
||||
public ?DataCollection $balances = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Gemini\AlfaBank\Data\PaginationData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class BeneficiaryTransactionCollectionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?PaginationData $pagination = null,
|
||||
#[DataCollectionOf(BeneficiaryTransactionData::class)]
|
||||
public ?DataCollection $transactionsList = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class BeneficiaryTransactionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
public string $amount,
|
||||
public ?string $comment = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class CreateBeneficiaryRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
public string $countryOfTaxResidence,
|
||||
#[DataCollectionOf(AddressData::class)]
|
||||
public DataCollection $addresses,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $accountNumber = null,
|
||||
public ?bool $taxResidentUS = null,
|
||||
public ?bool $foreignTaxResident = null,
|
||||
public ?bool $financialActivities = null,
|
||||
public ?string $name = null,
|
||||
public ?string $registrationDate = null,
|
||||
public ?string $inn = null,
|
||||
public ?string $kpp = null,
|
||||
public ?string $ogrn = null,
|
||||
public ?PersonalInformationData $personalInformation = null,
|
||||
public ?string $phoneNumber = null,
|
||||
public ?string $email = null,
|
||||
#[DataCollectionOf(DocumentData::class)]
|
||||
public ?DataCollection $documents = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class CreateBeneficiaryResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $requestId,
|
||||
public string $status,
|
||||
) {}
|
||||
}
|
||||
18
src/Data/NominalAccounts/Beneficiaries/DocumentData.php
Normal file
18
src/Data/NominalAccounts/Beneficiaries/DocumentData.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class DocumentData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
public string $number,
|
||||
public string $issueDate,
|
||||
public string $organization,
|
||||
public ?string $serial = null,
|
||||
public ?string $expireDate = null,
|
||||
public ?string $division = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class PersonalInformationData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?string $inn = null,
|
||||
public ?string $firstName = null,
|
||||
public ?string $middleName = null,
|
||||
public ?string $lastName = null,
|
||||
public ?string $citizenship = null,
|
||||
public ?string $birthDate = null,
|
||||
public ?string $birthPlace = null,
|
||||
public ?string $snils = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries\Requisites;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class CreateRequisiteRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $beneficiaryId = null,
|
||||
public ?string $pan = null,
|
||||
public ?string $phoneNumber = null,
|
||||
public ?string $bankId = null,
|
||||
public ?string $accountNumber = null,
|
||||
public ?string $bik = null,
|
||||
public ?string $name = null,
|
||||
public ?string $inn = null,
|
||||
public ?string $kpp = null,
|
||||
public ?bool $isMain = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries\Requisites;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class RequisiteData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?string $id = null,
|
||||
public string $type,
|
||||
public bool $isMain,
|
||||
public bool $isActive,
|
||||
public ?string $pan = null,
|
||||
public ?string $phoneNumber = null,
|
||||
public ?string $bankId = null,
|
||||
public ?string $accountNumber = null,
|
||||
public ?string $bik = null,
|
||||
public ?string $name = null,
|
||||
public ?string $inn = null,
|
||||
public ?string $kpp = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries\Requisites;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class UpdateRequisiteRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $pan = null,
|
||||
public ?string $keyId = null,
|
||||
public ?string $phoneNumber = null,
|
||||
public ?string $bankId = null,
|
||||
public ?string $accountNumber = null,
|
||||
public ?string $bik = null,
|
||||
public ?bool $isMain = null,
|
||||
public ?bool $isActive = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class UpdateBeneficiaryRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $name = null,
|
||||
public ?string $registrationDate = null,
|
||||
public ?PersonalInformationData $personalInformation = null,
|
||||
public ?string $phoneNumber = null,
|
||||
public ?string $email = null,
|
||||
#[DataCollectionOf(AddressData::class)]
|
||||
public ?DataCollection $addresses = null,
|
||||
#[DataCollectionOf(DocumentData::class)]
|
||||
public ?DataCollection $documents = null,
|
||||
public ?bool $isActive = null,
|
||||
) {}
|
||||
}
|
||||
14
src/Data/NominalAccounts/Beneficiaries/WalletBalanceData.php
Normal file
14
src/Data/NominalAccounts/Beneficiaries/WalletBalanceData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class WalletBalanceData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $walletType,
|
||||
public string $freeBalance,
|
||||
public string $heldBalance,
|
||||
) {}
|
||||
}
|
||||
18
src/Data/NominalAccounts/BeneficiaryCollectionData.php
Normal file
18
src/Data/NominalAccounts/BeneficiaryCollectionData.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts;
|
||||
|
||||
use Gemini\AlfaBank\Data\PaginationData;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class BeneficiaryCollectionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public PaginationData $pagination,
|
||||
public string $accountNumber,
|
||||
#[DataCollectionOf(BeneficiaryData::class)]
|
||||
public DataCollection $beneficiaries
|
||||
) {}
|
||||
}
|
||||
31
src/Data/NominalAccounts/BeneficiaryData.php
Normal file
31
src/Data/NominalAccounts/BeneficiaryData.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts;
|
||||
|
||||
use Gemini\AlfaBank\Data\PaginationData;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class BeneficiaryData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $beneficiaryId,
|
||||
public string $type,
|
||||
public ?array $personalInformation = null,
|
||||
public ?string $inn = null,
|
||||
public ?string $firstName = null,
|
||||
public ?string $lastName = null,
|
||||
public ?string $middleName = null,
|
||||
public ?string $name = null,
|
||||
public ?string $countryOfTaxResidence = null,
|
||||
public ?string $phoneNumber = null,
|
||||
public ?string $email = null,
|
||||
public ?array $addresses = null,
|
||||
public ?array $documents = null,
|
||||
public ?bool $isActive = null,
|
||||
public ?array $balances = null,
|
||||
public ?bool $isBeneficiary = null,
|
||||
public ?bool $isVpr = null,
|
||||
) {}
|
||||
}
|
||||
17
src/Data/NominalAccounts/CounterpartyRequestStatusData.php
Normal file
17
src/Data/NominalAccounts/CounterpartyRequestStatusData.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class CounterpartyRequestStatusData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $requestId,
|
||||
public string $status,
|
||||
public ?string $beneficiaryId = null,
|
||||
public ?string $universalRecipientId = null,
|
||||
public ?string $description = null,
|
||||
public ?string $resultData = null,
|
||||
) {}
|
||||
}
|
||||
17
src/Data/NominalAccounts/Deals/DealCollectionData.php
Normal file
17
src/Data/NominalAccounts/Deals/DealCollectionData.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals;
|
||||
|
||||
use Gemini\AlfaBank\Data\PaginationData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class DealCollectionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public PaginationData $pagination,
|
||||
#[DataCollectionOf(DealData::class)]
|
||||
public DataCollection $deals
|
||||
) {}
|
||||
}
|
||||
15
src/Data/NominalAccounts/Deals/DealData.php
Normal file
15
src/Data/NominalAccounts/Deals/DealData.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class DealData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $dealId,
|
||||
public string $status,
|
||||
public string $expireDate,
|
||||
public bool $isValid,
|
||||
) {}
|
||||
}
|
||||
18
src/Data/NominalAccounts/Deals/DealPayoffData.php
Normal file
18
src/Data/NominalAccounts/Deals/DealPayoffData.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class DealPayoffData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $stepId,
|
||||
public string $payoffId,
|
||||
public string $payoffType,
|
||||
public string $deponentId,
|
||||
public string $recipientId,
|
||||
public string $amount,
|
||||
public string $status,
|
||||
) {}
|
||||
}
|
||||
14
src/Data/NominalAccounts/Deals/DealRequestStatusData.php
Normal file
14
src/Data/NominalAccounts/Deals/DealRequestStatusData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class DealRequestStatusData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $requestId,
|
||||
public string $status,
|
||||
public ?string $description = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals\Steps;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class ContractorActionRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $action,
|
||||
public string $dealId,
|
||||
public string $stepId,
|
||||
public string $beneficiaryId,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $amount = null,
|
||||
public ?string $purpose = null,
|
||||
#[DataCollectionOf(ContractorAmountData::class)]
|
||||
public ?DataCollection $amounts = null,
|
||||
public ?bool $keepOnNominalAccount = null,
|
||||
public ?string $requisiteId = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals\Steps;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class ContractorAmountData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?string $walletType = null,
|
||||
public ?string $amount = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals\Steps;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class StepActionRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $dealId,
|
||||
public string $action,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $stepId = null,
|
||||
public ?string $description = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals\Steps;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class StepActionResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?string $dealId = null,
|
||||
public ?string $stepId = null,
|
||||
public ?int $stepNumber = null,
|
||||
public ?string $description = null,
|
||||
public ?string $status = null,
|
||||
public ?string $requestId = null,
|
||||
) {}
|
||||
}
|
||||
21
src/Data/NominalAccounts/Deals/Steps/StepContractorData.php
Normal file
21
src/Data/NominalAccounts/Deals/Steps/StepContractorData.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals\Steps;
|
||||
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class StepContractorData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?string $beneficiaryId = null,
|
||||
public ?string $role = null,
|
||||
public ?string $amount = null,
|
||||
public ?string $purpose = null,
|
||||
public ?string $requisiteId = null,
|
||||
public ?bool $keepOnNominalAccount = null,
|
||||
#[DataCollectionOf(ContractorAmountData::class)]
|
||||
public ?DataCollection $amounts = null,
|
||||
) {}
|
||||
}
|
||||
16
src/Data/NominalAccounts/Deals/Steps/StepData.php
Normal file
16
src/Data/NominalAccounts/Deals/Steps/StepData.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals\Steps;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class StepData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $stepId,
|
||||
public int $stepNumber,
|
||||
public string $description,
|
||||
public string $status,
|
||||
public bool $isValid,
|
||||
) {}
|
||||
}
|
||||
14
src/Data/NominalAccounts/Deals/ValidateDealResponseData.php
Normal file
14
src/Data/NominalAccounts/Deals/ValidateDealResponseData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Deals;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class ValidateDealResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $dealId,
|
||||
public bool $isValid,
|
||||
public ?array $description = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class AmountDistributionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $beneficiaryId,
|
||||
public string $amount,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class IdentifyRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $transactionId,
|
||||
public string $accountNumber,
|
||||
#[DataCollectionOf(AmountDistributionData::class)]
|
||||
public DataCollection $amountDistribution,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class IdentifyResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $identifyId,
|
||||
public string $status,
|
||||
) {}
|
||||
}
|
||||
18
src/Data/NominalAccounts/Identification/PayerData.php
Normal file
18
src/Data/NominalAccounts/Identification/PayerData.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class PayerData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?string $inn = null,
|
||||
public ?string $kpp = null,
|
||||
public ?string $accountNumber = null,
|
||||
public ?string $name = null,
|
||||
public ?string $bankAccount = null,
|
||||
public ?string $bankBik = null,
|
||||
public ?string $bankName = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class RefundUnidentifiedTransactionRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $accountNumber,
|
||||
public string $id,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class RefundUnidentifiedTransactionResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $refundId,
|
||||
public string $status,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class UnidentifiedTransactionCollectionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public int $offset,
|
||||
public int $limit,
|
||||
public int $totalCount,
|
||||
#[DataCollectionOf(UnidentifiedTransactionData::class)]
|
||||
public ?DataCollection $unidentifiedTransactions = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Identification;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class UnidentifiedTransactionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $id,
|
||||
public string $amount,
|
||||
public ?string $documentNumber = null,
|
||||
public ?string $date = null,
|
||||
public ?string $purpose = null,
|
||||
public ?PayerData $payer = null,
|
||||
) {}
|
||||
}
|
||||
13
src/Data/NominalAccounts/NominalAccountData.php
Normal file
13
src/Data/NominalAccounts/NominalAccountData.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class NominalAccountData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $accountNumber,
|
||||
public bool $isActive,
|
||||
) {}
|
||||
}
|
||||
20
src/Data/NominalAccounts/Payouts/DetailedPayoffData.php
Normal file
20
src/Data/NominalAccounts/Payouts/DetailedPayoffData.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class DetailedPayoffData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public ?string $dealId = null,
|
||||
public ?string $stepId = null,
|
||||
public ?string $paymentType = null,
|
||||
public ?string $requisiteType = null,
|
||||
public ?array $payer = null,
|
||||
public ?array $recipient = null,
|
||||
public ?string $amount = null,
|
||||
public ?string $purpose = null,
|
||||
public ?string $status = null,
|
||||
) {}
|
||||
}
|
||||
13
src/Data/NominalAccounts/Payouts/DigestSignatureData.php
Normal file
13
src/Data/NominalAccounts/Payouts/DigestSignatureData.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class DigestSignatureData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $base64Encoded,
|
||||
public string $signatureType,
|
||||
) {}
|
||||
}
|
||||
24
src/Data/NominalAccounts/Payouts/PayoffRequestData.php
Normal file
24
src/Data/NominalAccounts/Payouts/PayoffRequestData.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class PayoffRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
public string $accountNumber,
|
||||
public RecipientData $recipient,
|
||||
public PayoutRequisiteData $payoutRequisite,
|
||||
public string $amount,
|
||||
public string $purpose,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $deponent = null,
|
||||
public ?array $requisites = null,
|
||||
public ?array $tax = null,
|
||||
) {}
|
||||
}
|
||||
14
src/Data/NominalAccounts/Payouts/PayoffResponseData.php
Normal file
14
src/Data/NominalAccounts/Payouts/PayoffResponseData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class PayoffResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $payoffId,
|
||||
public string $status,
|
||||
public ?string $description = null,
|
||||
) {}
|
||||
}
|
||||
18
src/Data/NominalAccounts/Payouts/PayoutRequisiteData.php
Normal file
18
src/Data/NominalAccounts/Payouts/PayoutRequisiteData.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class PayoutRequisiteData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
public ?string $requisiteId = null,
|
||||
public ?string $pan = null,
|
||||
public ?string $phoneNumber = null,
|
||||
public ?string $bankId = null,
|
||||
public ?string $accountNumber = null,
|
||||
public ?string $bik = null,
|
||||
) {}
|
||||
}
|
||||
16
src/Data/NominalAccounts/Payouts/RecipientData.php
Normal file
16
src/Data/NominalAccounts/Payouts/RecipientData.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class RecipientData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $type,
|
||||
public ?string $name = null,
|
||||
public ?string $inn = null,
|
||||
public ?string $kpp = null,
|
||||
public ?string $beneficiaryId = null,
|
||||
) {}
|
||||
}
|
||||
21
src/Data/NominalAccounts/Payouts/TaxRefundRequestData.php
Normal file
21
src/Data/NominalAccounts/Payouts/TaxRefundRequestData.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class TaxRefundRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $beneficiaryId,
|
||||
public string $amount,
|
||||
public string $purpose,
|
||||
public bool $keepOnNominalAccount,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
public ?string $requisiteId = null,
|
||||
) {}
|
||||
}
|
||||
14
src/Data/NominalAccounts/Payouts/TaxRefundResponseData.php
Normal file
14
src/Data/NominalAccounts/Payouts/TaxRefundResponseData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\Payouts;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class TaxRefundResponseData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $taxRefundId,
|
||||
public string $status,
|
||||
public ?string $description = null,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\UniversalRecipients;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class CreateUniversalRecipientRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $accountNumber,
|
||||
public string $type,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public DataCollection $digestSignatures,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\UniversalRecipients;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class UniversalRecipientData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $universalRecipientId,
|
||||
public bool $isBeneficiary,
|
||||
public string $type,
|
||||
public bool $isActive,
|
||||
) {}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\NominalAccounts\UniversalRecipients;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Beneficiaries\CreateBeneficiaryResponseData;
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
// Reuse response structure if identical (requestId, status)
|
||||
class UniversalRecipientResponseData extends CreateBeneficiaryResponseData {}
|
||||
14
src/Data/PaginationData.php
Normal file
14
src/Data/PaginationData.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class PaginationData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public int $offset,
|
||||
public int $limit,
|
||||
public int $totalCount
|
||||
) {}
|
||||
}
|
||||
39
src/Data/Sandbox/Payments/CreateRubPaymentRequestData.php
Normal file
39
src/Data/Sandbox/Payments/CreateRubPaymentRequestData.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data\Sandbox\Payments;
|
||||
|
||||
use Gemini\AlfaBank\Data\NominalAccounts\Payouts\DigestSignatureData;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class CreateRubPaymentRequestData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $externalId,
|
||||
public float $amount,
|
||||
public string $date,
|
||||
public string $number,
|
||||
public string $operationCode,
|
||||
public string $payeeAccount,
|
||||
public string $payeeBankBic,
|
||||
public string $payeeInn,
|
||||
public string $payeeName,
|
||||
public string $payerAccount,
|
||||
public string $payerBankBic,
|
||||
public string $payerInn,
|
||||
public string $payerName,
|
||||
public string $purpose,
|
||||
public string $priority = '5',
|
||||
public string $deliveryKind = 'электронно',
|
||||
public string $urgencyCode = 'NORMAL',
|
||||
public ?string $payerKpp = null,
|
||||
public ?string $payeeKpp = null,
|
||||
public ?string $payerBankCorrAccount = null,
|
||||
public ?string $payeeBankCorrAccount = null,
|
||||
#[DataCollectionOf(DigestSignatureData::class)]
|
||||
public ?DataCollection $digestSignatures = null,
|
||||
public ?array $departmentalInfo = null,
|
||||
public ?array $vat = null,
|
||||
) {}
|
||||
}
|
||||
16
src/Data/WebhookCollectionData.php
Normal file
16
src/Data/WebhookCollectionData.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelData\Attributes\DataCollectionOf;
|
||||
use Spatie\LaravelData\DataCollection;
|
||||
|
||||
class WebhookCollectionData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public PaginationData $pagination,
|
||||
#[DataCollectionOf(WebhookData::class)]
|
||||
public DataCollection $items
|
||||
) {}
|
||||
}
|
||||
19
src/Data/WebhookData.php
Normal file
19
src/Data/WebhookData.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Gemini\AlfaBank\Data;
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
|
||||
class WebhookData extends Data
|
||||
{
|
||||
public function __construct(
|
||||
public string $id,
|
||||
public string $object,
|
||||
public bool $enabled,
|
||||
public ?string $organizationIdHash,
|
||||
public ?array $data,
|
||||
public string $callbackUri,
|
||||
public int $version,
|
||||
public ?array $statusDescriptions
|
||||
) {}
|
||||
}
|
||||
Reference in New Issue
Block a user