Stellar PHP SDK API Documentation

OrganizationKYCFields

KYC and AML fields for organizations (companies, legal entities).

This class provides standardized fields for collecting Know Your Customer (KYC) and Anti-Money Laundering (AML) information about organizations in compliance with SEP-09 specification. It includes corporate identification, registration details, contact information, and supporting documentation.

Note: All organization field keys use dot notation with 'organization.' prefix (e.g. 'organization.name', 'organization.address_country_code').

PRIVACY AND SECURITY WARNING: This class handles highly sensitive corporate and Personally Identifiable Information (PII). Implementers MUST ensure:

  • Transmission only over HTTPS/TLS connections
  • Encryption at rest for all stored KYC data
  • Compliance with applicable data protection regulations (GDPR, CCPA, etc.)
  • Implementation of proper access controls and audit logging
  • Secure data retention and deletion policies
  • Corporate authorization management for data collection and processing
  • Binary fields (photos, documents) must be base64 encoded for transmission
Tags
see
https://github.com/stellar/stellar-protocol/blob/v1.17.0/ecosystem/sep-0009.md

SEP-09 v1.17.0 Specification

Table of Contents

Constants

ADDRESS_COUNTRY_CODE_KEY  = self::KEY_PREFIX . 'address_country_code'
CITY_KEY  = self::KEY_PREFIX . 'city'
DIRECTOR_NAME_KEY  = self::KEY_PREFIX . 'director_name'
EMAIL_KEY  = self::KEY_PREFIX . 'email'
KEY_PREFIX  = 'organization.'
NAME_KEY  = self::KEY_PREFIX . 'name'
NUMBER_OF_SHAREHOLDERS_KEY  = self::KEY_PREFIX . 'number_of_shareholders'
PHONE_KEY  = self::KEY_PREFIX . 'phone'
PHOTO_INCORPORATION_DOC_KEY  = self::KEY_PREFIX . 'photo_incorporation_doc'
PHOTO_PROOF_ADDRESS_KEY  = self::KEY_PREFIX . 'photo_proof_address'
POSTAL_CODE_KEY  = self::KEY_PREFIX . 'postal_code'
REGISTRATION_ADDRESS_KEY  = self::KEY_PREFIX . 'registered_address'
REGISTRATION_DATE_KEY  = self::KEY_PREFIX . 'registration_date'
REGISTRATION_NUMBER_KEY  = self::KEY_PREFIX . 'registration_number'
SHAREHOLDER_NAME_KEY  = self::KEY_PREFIX . 'shareholder_name'
STATE_OR_PROVINCE_KEY  = self::KEY_PREFIX . 'state_or_province'
VAT_NUMBER_KEY  = self::KEY_PREFIX . 'VAT_number'
WEBSITE_KEY  = self::KEY_PREFIX . 'website'

Properties

$addressCountryCode  : string|null
$cardKYCFields  : CardKYCFields|null
$city  : string|null
$directorName  : string|null
$email  : string|null
$financialAccountKYCFields  : FinancialAccountKYCFields|null
$name  : string|null
$numberOfShareholders  : int|null
$phone  : string|null
$photoIncorporationDoc  : string|null
$photoProofAddress  : string|null
$postalCode  : string|null
$registeredAddress  : string|null
$registrationDate  : string|null
$registrationNumber  : string|null
$shareholderName  : string|null
$stateOrProvince  : string|null
$VATNumber  : string|null
$website  : string|null

Methods

fields()  : array<string|int, mixed>
Returns all non-null KYC fields as an associative array.
files()  : array<string|int, string>
Returns all non-null binary file fields as an associative array.

Constants

ADDRESS_COUNTRY_CODE_KEY

public mixed ADDRESS_COUNTRY_CODE_KEY = self::KEY_PREFIX . 'address_country_code'

NUMBER_OF_SHAREHOLDERS_KEY

public mixed NUMBER_OF_SHAREHOLDERS_KEY = self::KEY_PREFIX . 'number_of_shareholders'

PHOTO_INCORPORATION_DOC_KEY

public mixed PHOTO_INCORPORATION_DOC_KEY = self::KEY_PREFIX . 'photo_incorporation_doc'

PHOTO_PROOF_ADDRESS_KEY

public mixed PHOTO_PROOF_ADDRESS_KEY = self::KEY_PREFIX . 'photo_proof_address'

REGISTRATION_ADDRESS_KEY

public mixed REGISTRATION_ADDRESS_KEY = self::KEY_PREFIX . 'registered_address'

REGISTRATION_DATE_KEY

public mixed REGISTRATION_DATE_KEY = self::KEY_PREFIX . 'registration_date'

REGISTRATION_NUMBER_KEY

public mixed REGISTRATION_NUMBER_KEY = self::KEY_PREFIX . 'registration_number'

SHAREHOLDER_NAME_KEY

public mixed SHAREHOLDER_NAME_KEY = self::KEY_PREFIX . 'shareholder_name'

STATE_OR_PROVINCE_KEY

public mixed STATE_OR_PROVINCE_KEY = self::KEY_PREFIX . 'state_or_province'

Properties

$addressCountryCode

public string|null $addressCountryCode = null

Country code for current address (ISO 3166-1 alpha-3)

$directorName

public string|null $directorName = null

Organization registered managing director

$numberOfShareholders

public int|null $numberOfShareholders = null

Number of shareholders in the organization

$photoIncorporationDoc

public string|null $photoIncorporationDoc = null

Image of incorporation documents (base64 encoded)

$photoProofAddress

public string|null $photoProofAddress = null

Image of a utility bill, bank statement with the organization's name and address (base64 encoded)

$postalCode

public string|null $postalCode = null

Postal or other code identifying organization's locale

$registeredAddress

public string|null $registeredAddress = null

Organization registered address

$registrationDate

public string|null $registrationDate = null

Date the organization was registered (ISO 8601 format)

$registrationNumber

public string|null $registrationNumber = null

Organization registration number

$shareholderName

public string|null $shareholderName = null

Shareholder name (can be an organization or a person, should be queried recursively up to the ultimate beneficial owners with KYC information for natural persons)

$stateOrProvince

public string|null $stateOrProvince = null

Name of state/province/region/prefecture

Methods

fields()

Returns all non-null KYC fields as an associative array.

public fields() : array<string|int, mixed>

This method collects all populated organization KYC fields including nested financial account and card fields, returning them as key-value pairs with 'organization.' prefix suitable for submission to SEP-09 compliant services.

Return values
array<string|int, mixed>

Associative array of field keys to values

files()

Returns all non-null binary file fields as an associative array.

public files() : array<string|int, string>

This method collects all populated binary file fields (photos, documents) that are base64 encoded, returning them as key-value pairs with 'organization.' prefix for file upload to SEP-09 compliant services.

Return values
array<string|int, string>

Associative array of file field keys to base64 encoded values


        
On this page

Search results