Skip to content
Alex Schickedanz edited this page Sep 8, 2021 · 13 revisions

Creating a Sephpa object

$directDebitFile = new SephpaDirectDebit(
	'<Initiating Party / Name>', 
	'<Message Identification>',
	<ISO 20022 XML Message Version>
);

Parameters

Parameter (optional) Type [Default] Description [Note]
initgPty string Initiating Party / Name
msgId string Message Identification
version int ISO 20022 XML Message Version [1]
orgId array [] Organization Identifier [2]
initgPtyId string [null] Initiating Party ID [3]
checkAndSanitize bool [true] Input Validation [4]

Notes

  1. Only use the SephpaDirectDebit::SEPA_PAIN_008_* constants.
  2. It is recommended not to use this. If used, the array must have a at least one of the keys:
    • id (an Identifier of the organization)
    • bob (A BIC or BEI that identifies the organization).
      • scheme_name: max. 35 characters. Is not supported by version pain.008.001.02.austrian.003.
  3. Only use if you know for what it is for.
  4. You can turn this off if you are confident that your inputs are well formed e.g. if you sanitized them before storing them in your database.

Getting a payment collection

$directDebitCollection = $directDebitFile->addCollection([
	'pmtInfId'	=> '<Payment Information Identification>',
	'lclInstrm'	=> <Local Instrument>,
	'seqTp'		=> <Sequence Type>,
	'cdtr'		=> '<Creditor Information>',
	'iban'		=> '<IBAN>',
	'bic'		=> '<BIC>',
	'ci'		=> '<Creditor Identifier>'
]);

The function addCollection takes an array of key-value pairs.

Available keys

Parameter (optional) Type [Default] Description [Note]
pmtInfId string Payment Information Identification
lclInstrm int Local Instrument
seqTp int Sequence Type
cdtr string Creditor Information
iban string IBAN
bic string BIC [1]
ci string Creditor Identifier
ccy string [EUR] Currency
btchBookg string Batch Booking
ctgyPurp string Category Purpose
ultmtCdtr string Ultimate Creditor
reqdColltnDt string Requested Collection Date [2]
pstlAdr array Creditor Postal Address [3]

Notes

  1. The BIC is not required for version pain.008.001.02.austrian.003.
  2. If requested date is omitted, current processing date is used.
  3. This array supports two keys:
    • ctry (string): Tow-letter country code (upper case).
    • adrLine (string|array): A string or an array of at most two strings.

Adding payments

$directDebitCollection->addPayment([
	'pmtId'		=> '<Payment Identification>',
	'instdAmt'	=> '<Instructed Amount>',
	'mndtId' 	=> '<Mandate Identification>',
	'dtOfSgntr'	=> '<Date Of Signature>',
	'bic'		=> '<BIC>',
	'dbtr'		=> '<Debtor Information>',
	'iban'		=> '<IBAN>'
]);

The function addPayment takes an array of key-value pairs.

Available keys

Parameter (optional) Type [Default] Description [Note]
pmtId string Payment Identification
instdAmt float / string Instructed Amount [1]
mndtId string Mandate Identification
dtOfSgntr string Date Of Signature
bic string BIC [2]
dbtr string Debtor Information
iban string IBAN
amdmntInd 'true'/'false' Amendment Indicator
orgnlMndtId string Original Mandate Identification
orgnlCdtrSchmeId_nm string Original Creditor Scheme Identification / Name [3]
orgnlCdtrSchmeId_id string Original Creditor Scheme Identification / Identification [3]
orgnlDbtrAcct_iban string Original Debtor Account / IBAN
orgnlDbtrAgt string Original Debtor Agent [4]
orgnlDbtrAgt_bic string Original Debtor Agent [5]
elctrncSgntr string Electronic Signature
ultmtDbtr string Ultimate Debtor
purp string Purpose [6]
rmtInf string Remittance Information
pstlAdr array Debtor Postal Address [7]

Notes

  1. A string must be able to be interpreted as a float. One is allowed to use both , and . as decimal point.
  2. The BIC is not required for version pain.008.001.02.austrian.003.
  3. amdmntInd needs to be 'true' in order to use this key.
  4. Only for pain.008.003.02, pain.008.002.02, and pain.008.001.02.austrian.003
  5. Only for pain.008.001.02 (not pain.008.001.02.austrian.003)
  6. purp is supposed to be one out of a list of 4-letter codes.
  7. This array supports two keys:
    • ctry (string): Tow-letter country code (upper case).
    • adrLine (string|array): A string or an array of at most two strings.