PaymentMeans
in package
FinalYes
One payment-means record. Maps to the UBL <cac:PaymentMeans> structure (BG-16). The named constructors enforce the per-code invariants:
- sepaCreditTransfer / bankTransfer require an IBAN
- sepaDirectDebit additionally requires a mandate reference (BT-89)
- creditCard / bankCard accept optional masked PAN and holder name
- cash takes only an optional payment reference
Direct __construct is allowed but does not enforce the per-code invariants; consumers should prefer the named constructors.
Table of Contents
Constants
- BIC_PATTERN = '/^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$/'
- BIC (ISO 9362): 4 letters bank code + 2 letters country + 2 alphanum location + optional 3 alphanum branch.
- IBAN_PATTERN = '/^[A-Z]{2}\d{2}[A-Z0-9]{11,30}$/'
- Loose IBAN syntax: 2 letters (country) + 2 check digits + 11..30 alphanumeric (BBAN). The full mod-97 check is intentionally not performed here; consumers that need it can run it before constructing.
Properties
- $accountName : string|null
- $bic : string|null
- $cardHolderName : string|null
- $cardLast4 : string|null
- $code : PaymentMeansCode
- $iban : string|null
- $mandateReference : string|null
- $paymentReference : string|null
Methods
- __construct() : mixed
- bankCard() : self
- bankTransfer() : self
- cash() : self
- creditCard() : self
- creditTransfer() : self
- sepaCreditTransfer() : self
- sepaDirectDebit() : self
Constants
BIC_PATTERN
BIC (ISO 9362): 4 letters bank code + 2 letters country + 2 alphanum location + optional 3 alphanum branch.
public
mixed
BIC_PATTERN
= '/^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$/'
IBAN_PATTERN
Loose IBAN syntax: 2 letters (country) + 2 check digits + 11..30 alphanumeric (BBAN). The full mod-97 check is intentionally not performed here; consumers that need it can run it before constructing.
public
mixed
IBAN_PATTERN
= '/^[A-Z]{2}\d{2}[A-Z0-9]{11,30}$/'
Properties
$accountName read-only
public
string|null
$accountName
= null
$bic read-only
public
string|null
$bic
= null
$cardHolderName read-only
public
string|null
$cardHolderName
= null
$cardLast4 read-only
public
string|null
$cardLast4
= null
$code read-only
public
PaymentMeansCode
$code
$iban read-only
public
string|null
$iban
= null
$mandateReference read-only
public
string|null
$mandateReference
= null
$paymentReference read-only
public
string|null
$paymentReference
= null
Methods
__construct()
public
__construct(PaymentMeansCode $code[, string|null $iban = null ][, string|null $bic = null ][, string|null $accountName = null ][, string|null $mandateReference = null ][, string|null $paymentReference = null ][, string|null $cardLast4 = null ][, string|null $cardHolderName = null ]) : mixed
Parameters
- $code : PaymentMeansCode
- $iban : string|null = null
- $bic : string|null = null
- $accountName : string|null = null
- $mandateReference : string|null = null
- $paymentReference : string|null = null
- $cardLast4 : string|null = null
- $cardHolderName : string|null = null
bankCard()
public
static bankCard([string|null $cardLast4 = null ][, string|null $cardHolderName = null ]) : self
Parameters
- $cardLast4 : string|null = null
- $cardHolderName : string|null = null
Return values
selfbankTransfer()
public
static bankTransfer(string $iban[, string|null $bic = null ][, string|null $accountName = null ][, string|null $paymentReference = null ]) : self
Parameters
- $iban : string
- $bic : string|null = null
- $accountName : string|null = null
- $paymentReference : string|null = null
Return values
selfcash()
public
static cash([string|null $paymentReference = null ]) : self
Parameters
- $paymentReference : string|null = null
Return values
selfcreditCard()
public
static creditCard([string|null $cardLast4 = null ][, string|null $cardHolderName = null ]) : self
Parameters
- $cardLast4 : string|null = null
- $cardHolderName : string|null = null
Return values
selfcreditTransfer()
public
static creditTransfer(string $iban[, string|null $bic = null ][, string|null $accountName = null ][, string|null $paymentReference = null ]) : self
Parameters
- $iban : string
- $bic : string|null = null
- $accountName : string|null = null
- $paymentReference : string|null = null
Return values
selfsepaCreditTransfer()
public
static sepaCreditTransfer(string $iban[, string|null $bic = null ][, string|null $accountName = null ][, string|null $paymentReference = null ]) : self
Parameters
- $iban : string
- $bic : string|null = null
- $accountName : string|null = null
- $paymentReference : string|null = null
Return values
selfsepaDirectDebit()
public
static sepaDirectDebit(string $iban, string $mandateReference[, string|null $bic = null ][, string|null $accountName = null ]) : self
Parameters
- $iban : string
- $mandateReference : string
- $bic : string|null = null
- $accountName : string|null = null