FinancialAccountKYCFields
in package
KYC fields for financial accounts (bank accounts, crypto addresses, mobile money).
This class provides standardized fields for collecting financial account information required for KYC and AML compliance according to SEP-09 specification. It supports various account types including traditional banking, cryptocurrency, and mobile money payment systems.
PRIVACY AND SECURITY WARNING: This class handles highly sensitive financial account information. Implementers MUST ensure:
- Transmission only over HTTPS/TLS connections
- Encryption at rest for all stored financial data
- Compliance with applicable data protection regulations (GDPR, CCPA, etc.)
- Implementation of proper access controls and audit logging
- Secure data retention and deletion policies
- PCI-DSS compliance where applicable for payment card data
- Customer consent management for data collection and processing
Tags
Table of Contents
Constants
- BANK_ACCOUNT_NUMBER_KEY = 'bank_account_number'
- BANK_ACCOUNT_TYPE_KEY = 'bank_account_type'
- BANK_BRANCH_NUMBER_KEY = 'bank_branch_number'
- BANK_NAME_KEY = 'bank_name'
- BANK_NUMBER_KEY = 'bank_number'
- BANK_PHONE_NUMBER_KEY = 'bank_phone_number'
- CBU_ALIAS_KEY = 'cbu_alias'
- CBU_NUMBER_KEY = 'cbu_number'
- CLABE_NUMBER_KEY = 'clabe_number'
- CRYPTO_ADDRESS_KEY = 'crypto_address'
- CRYPTO_MEMO_KEY = 'crypto_memo'
- EXTERNAL_TRANSFER_MEMO_KEY = 'external_transfer_memo'
- MOBILE_MONEY_NUMBER_KEY = 'mobile_money_number'
- MOBILE_MONEY_PROVIDER_KEY = 'mobile_money_provider'
Properties
- $bankAccountNumber : string|null
- $bankAccountType : string|null
- $bankBranchNumber : string|null
- $bankName : string|null
- $bankNumber : string|null
- $bankPhoneNumber : string|null
- $cbuAlias : string|null
- $cbuNumber : string|null
- $clabeNumber : string|null
- $cryptoAddress : string|null
- $cryptoMemo : string|null
- $externalTransferMemo : string|null
- $mobileMoneyNumber : string|null
- $mobileMoneyProvider : string|null
Methods
- fields() : array<string|int, mixed>
- Returns all non-null financial account fields as an associative array.
Constants
BANK_ACCOUNT_NUMBER_KEY
public
mixed
BANK_ACCOUNT_NUMBER_KEY
= 'bank_account_number'
BANK_ACCOUNT_TYPE_KEY
public
mixed
BANK_ACCOUNT_TYPE_KEY
= 'bank_account_type'
BANK_BRANCH_NUMBER_KEY
public
mixed
BANK_BRANCH_NUMBER_KEY
= 'bank_branch_number'
BANK_NAME_KEY
public
mixed
BANK_NAME_KEY
= 'bank_name'
BANK_NUMBER_KEY
public
mixed
BANK_NUMBER_KEY
= 'bank_number'
BANK_PHONE_NUMBER_KEY
public
mixed
BANK_PHONE_NUMBER_KEY
= 'bank_phone_number'
CBU_ALIAS_KEY
public
mixed
CBU_ALIAS_KEY
= 'cbu_alias'
CBU_NUMBER_KEY
public
mixed
CBU_NUMBER_KEY
= 'cbu_number'
CLABE_NUMBER_KEY
public
mixed
CLABE_NUMBER_KEY
= 'clabe_number'
CRYPTO_ADDRESS_KEY
public
mixed
CRYPTO_ADDRESS_KEY
= 'crypto_address'
CRYPTO_MEMO_KEY
public
mixed
CRYPTO_MEMO_KEY
= 'crypto_memo'
EXTERNAL_TRANSFER_MEMO_KEY
public
mixed
EXTERNAL_TRANSFER_MEMO_KEY
= 'external_transfer_memo'
MOBILE_MONEY_NUMBER_KEY
public
mixed
MOBILE_MONEY_NUMBER_KEY
= 'mobile_money_number'
MOBILE_MONEY_PROVIDER_KEY
public
mixed
MOBILE_MONEY_PROVIDER_KEY
= 'mobile_money_provider'
Properties
$bankAccountNumber
public
string|null
$bankAccountNumber
= null
Number identifying bank account
$bankAccountType
public
string|null
$bankAccountType
= null
Type of bank account (e.g. checking, savings)
$bankBranchNumber
public
string|null
$bankBranchNumber
= null
Number identifying bank branch
$bankName
public
string|null
$bankName
= null
Name of the bank (may be necessary in regions without unified routing systems)
$bankNumber
public
string|null
$bankNumber
= null
Number identifying bank in national banking system (e.g. routing number in US)
$bankPhoneNumber
public
string|null
$bankPhoneNumber
= null
Phone number with country code for bank (E.164 format)
$cbuAlias
public
string|null
$cbuAlias
= null
Alias for a CBU (Clave Bancaria Uniforme) or CVU (Clave Virtual Uniforme)
$cbuNumber
public
string|null
$cbuNumber
= null
CBU (Clave Bancaria Uniforme) or CVU (Clave Virtual Uniforme) number for Argentina
$clabeNumber
public
string|null
$clabeNumber
= null
CLABE number (Clave Bancaria Estandarizada - bank account number for Mexico)
$cryptoAddress
public
string|null
$cryptoAddress
= null
Address for a cryptocurrency account
$cryptoMemo
Use $externalTransferMemo instead
public
string|null
$cryptoMemo
= null
Destination tag/memo used to identify a cryptocurrency transaction
$externalTransferMemo
public
string|null
$externalTransferMemo
= null
Destination tag/memo used to identify a transaction
$mobileMoneyNumber
public
string|null
$mobileMoneyNumber
= null
Mobile phone number in E.164 format associated with a mobile money account (Note: this number may be distinct from the customer's personal mobile number)
$mobileMoneyProvider
public
string|null
$mobileMoneyProvider
= null
Name of the mobile money service provider
Methods
fields()
Returns all non-null financial account fields as an associative array.
public
fields([string|null $keyPrefix = '' ]) : array<string|int, mixed>
This method collects all populated financial account fields, returning them as key-value pairs suitable for submission to SEP-09 compliant services. An optional key prefix (e.g. 'organization.') can be provided for nested field contexts.
Parameters
- $keyPrefix : string|null = ''
-
Optional prefix for field keys (e.g. 'organization.')
Return values
array<string|int, mixed> —Associative array of field keys to values