pain.001.001.09 format

LHV is using custom version of pain.001.011.xsd

XML rules

Multiplicity (MULT.) Informs how many times an element can or must be used, as defined by ISO standard.

  1. 1..1 One occurrence (required)

  2. 1..n One or several occurrences (value for “n” represents total number of occurrences)

  3. 1..3 Minimum one occurrence must be used and maximum 3 occurrences can be used. Note: True value of “n” represents unlimited number of occurrences.

  4. 0..1 None or one occurrence to be used (optional)

  5. 0..n None or several occurrences can be used (value for “n” represents total number of occurrences). Note: True value of “n” represents unlimited number of occurrences.

Message structure

Group Header – mandatory, occurs once. Payment Information – mandatory and repetitive. Contains information related to mostly the debit side of the payment. Credit Transfer Transaction Information – mandatory and repetitive. Contains information related to the payment(s) included in the message.

Message root

Group header

Payment information

Address structure (PostalAddress)

Common address structure is used throughout the payment initiation message. If PostalAddress is used then minimum Country and Town Name must be present. Some additional requirements apply:

  • Debtor address - For Virtual IBAN or agency banking account - the holder country

  • Ultimate debtor address - In case of FPSPOO and address line is filled, country must be filled

  • Ultimate debtor address - In case of FPSPOO and town name is filled, then country must be filled.

  • If creditor´s bank locates outside EEA address information is mandatory from 23.11.2024. The rule applies to all parties (debtor, ultimate debtor, creditor etc).

  • If creditor´s bank locates in EEA but the currency is not official currency in any EEA country (for example USD) - address information is mandatory from 23.11.2024. The rule applies to all parties (debtor, ultimate debtor, creditor etc).

  • If payment is processed as TARGET2 (See https://partners.lhv.ee/en/connect/#code-set-payment-scheme) - address information is mandatory from 01.03.2024. The rule applies to all parties (debtor, ultimate debtor, creditor etc).

Supplementary data

Additional data can be added to the payment using SplmtryData element. Supplementary data block is encapsulated in XSD envelope (field Envlp) which may contain any additional structure of data.

   <xs:complexType name="SupplementaryDataEnvelope1">
       <xs:sequence>
           <xs:any namespace="##any" processContents="lax"/>
       </xs:sequence>
   </xs:complexType>

LHV uses additional structure defined in supl.001.001.01.xsd. For proper XML validation the schema reference should be provided in pain.001.001.09 XML message header. For example:

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09"
	xmlns:ext="urn:iso:std:iso:20022:tech:xsd:supl.001.001.01"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09 ../../XSD/pain.001.001.09.xsd urn:iso:std:iso:20022:tech:xsd:supl.001.001.01 ../../XSD/supl.001.001.01.xsd">

Supplementary data includes additional data elements defined in 3 fields.

  1. party - party that given data element is related to (e.g. CREDITOR, DEBTOR)

  2. key - data element key (see below for supported values)

  3. value - value for given data element (e.g. 1986-02-05)

Supllementary data key's:

pain.001 supplementary data example:

...
<SplmtryData>
    <Envlp>
        <ext:Document>
            <ext:partyData>
                <ext:party>DEBTOR</ext:party>
                <ext:key>DATE_OF_BIRTH</ext:key>
                <ext:value>1980-09-24</ext:value>
            </ext:partyData>
            <ext:partyData>
                <ext:party>DEBTOR</ext:party>
                <ext:key>MCC</ext:key>
                <ext:value>0763</ext:value>
            </ext:partyData>
            <ext:partyData>
                <ext:party>DEBTOR</ext:party>
                <ext:key>PSP_SCENARIO</ext:key>
                <ext:value>COMBINED_PAYMENT</ext:value>
            </ext:partyData>
        </ext:Document>
    </Envlp>
</SplmtryData>
...

Last updated