Welcome to LHV Connect API documentation and info page!
LHV Connect is a public API that our customers can use to integrate different banking services directly into their software. Using these services you can execute payments, query account balances or transaction history and perform many other tasks as part of your own software - without need to log into Internet Bank or use any other time consuming channels.
Technically LHV Connect is RESTful web service with requests and responses in XML format, with high availability and fast processing speeds.
Here you will find all the much needed information to get started with our API, including:
LHV Status Page - information and announcements about LHV services status and any interruptions.
DATE | CHANGE |
---|---|
04.12.2020 | Added info on SEPA Credit Transfers and Instant Credit Transfers for Indirect Scheme Access. |
Agency Account Synchronization allows synchronizing Estonian region IBANs. | |
Added scheme reject and return codes for SEPA Credit and Instant Transfers in appendix and information about initiating return payments. | |
01.12.2020 | Added ClientReference to Virtual IBAN services. It is an optional field that service provider can use for mapping their internal system ID's to Virtual Accounts and also avoid duplicates when opening new accounts. |
20.11.2020 | Several smaller updates and changes will be done to Account Statement. Release is planned to December 2020: |
Account statement creation time at CreDtTm will also contain milliseconds. For example | |
XML declaration will not include encoding="UTF-8" part as it is Java default and does not need to be declared. Document encoding is still UTF-8. | |
When using DATETIME for statement period and FrTm=0:00:00 - then actual starting balance will be shown instead of 0. Also all statement blocks for all currencies on the account will be included. | |
05.11.2020 | Added update functionality for Agent Account Synchronization Request. Added optional Status field to request. DUPLICATE_ACCOUNT and ACCOUNT_EXISTS errors removed. |
09.10.2020 | Added return initiation for UK Faster Payments scheme: Instruction for Debtor Agent in payment initiation (index 2.85) is used for referencing return payment. |
Ignore non-IBAN account numbers for other regions than 'GB' in Agent Account Synchronization Request. | |
Added rule: debtor name in pain.001.001.03 index 2.19 is mandatory if payment is initiated from indirect agent's existing accounts. | |
Estonian Banking Association pain.001.001.03 XSD is replaced with custom XSD. See XML Format in payment initiation. | |
Added FPS reject code list in appendix, they appear in payment initiation response pain.002 Additional Info (index 3.25). | |
Added Non-IBAN account identification to payment initiation response pain.002 (index 3.122). | |
Added information: if not enough funds or daily/monthly limits, payments will be canceled immediately unless otherwise agreed. Payment initiation reject status 'No rights to remitter’s account.' moved to group level. | |
29.09.2020 | Now Virtual IBAN data can be modified with a valid reason. More info at Virtual IBAN Modify service. |
14.09.2020 | We are changing the format of transaction reference in payment and account info messages. So far it has also included date information, but will be replaced with a random string of 32 characters. It impacts AcctSvcrRef tags in PAIN.002, CAMT.053 and CAMT.054 messages. Old format example: 202009081020678875-016192782. New format example: D9C8845A4BBAEA11910E00155DBDB777. Please make sure this change does not impact your integration. Change is planned for release on 2020.10.14 (in one month). |
26.05.2020 | Added new optional parameters Filter-Response-Type for selecting messages by service type and Filter-Service-Provider for selecting messages for service provider. See more at messaging. |
15.05.2020 | Added information about Indirect Scheme Access account management services. These are services for Indirect Account management for service providers with a valid Agency agreement. Updated payment initiation debtor account: added Othr.Id for non-IBAN accounts; added agency rule to Dbtr.PstlAdr and added TwnNm tag. Release planned in June 2020. |
15.05.2020 | Added information about Contract Management Services. These services are meant for Service Providers Connect contract management - info services about existing contracts, creation and modification. |
19.02.2020 | Added information about manual payment scheme selection. |
To start using LHV Connect services you need:
The general approach and on-boarding steps, before you can start using the API in Live environment:
Following certificates are needed for using LHV Connect services:
To verify your certificates and test the basic connection to the API you can use the heartbeat service in both Live and Sandbox.
Optional:
LHV Connect has Live environment and a dedicated test Sandbox environment. Similar to Live also Sandbox has separate connection certificates, payment accounts and all the same services available.
Live base url is: https://connect.lhv.eu/
Sandbox test environment is our free to access testing environment. It can be used to test your integrations when on-boarding or also any additional developments. It is technically also very similar to live environment - the services, messages structure etc. is the same.
Sandbox base url is: https://connect.prelive.lhv.eu/
There are two different connection schemes, how clients can connect and use Connect services:
Client itself is the sole holder of the authentication certificate and connection software. Certificate provides access to one customer or legal entity only.
Service provider scheme grants access to multiple customers or legal entities with a single connection certificate. It is meant typically for accounting software providers and other similar business cases.
In this scheme there are two kinds of clients:
Only service provider connection software is using Connect services directly. End users are using the service provider software.
For all requests we also need to know the end user - the actual client that uses the service provider.
For this we require two HTTP headers in addition to regular expected input:
If these are missing from the request, you will get a corresponding error.
Client message container could be seen as an inbox. Client sends a request to the server and then polls the inbox for a response. If there are any messages in the inbox, by default the oldest unread message is returned. The whole cycle of one message consists of three stages: sending the request, retrieving the response and deleting the response.
POST [base-url]/{service-url}
Sample: POST https://connect.lhv.eu/account-statement (the body should contain the actual request)
After successful posting of the request it returns a HTTP header Message-Request-Id, for example:
Message-Request-Id: REQe38a3875c8a94cc0bf48c558a8c9ee82
The Message-Request-Id HTTP header can be used to map any related response messages to the original request. Some request types might receive more than one response message - for example Payment Initiation.
GET [base-url]/messages/next
By default always the older unread (not deleted) message is returned. There are now also additional filter HTTP headers so select different messages as expected by the client:
The response contains the following important headers:
When executing the request you can receive following HTTP responses:
Confirm that reading the response was successful by deleting the message from your inbox. For this, use the response id.
DELETE [base-url]/messages/RES4ab8a01dd7ed4ed792f0605761ae532a
This step is important, because you can’t retrieve the next message until you confirm reading the previous message. After delete was successful, you can retrieve the next message.
NB! Unread messages older than 5 days are automatically scheduled for deletion.
CODE | DESCRIPTION | |
---|---|---|
503 | Service Unavailable | Technical error. |
403 | Forbidden | Authorization or authentication failure. Requested service is not stated in Connect agreement, Connect agreement is not valid or other failure. |
500 | Internal Server Error | Technical error. |
200 | OK | GET request ok. |
202 | Accepted | POST request accepted. |
429 | Too many requests | Too many requests in a given amount of time. |
Service specific errors to Merchant Settlement Report Request and Account Statement Request are returned with following xml file.
List of error codes can be found at the service description.
INDEX | MULT. | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|
1.0 | [1..1] | Errors | <Errors> | |
1.1 | [1..n] | +Error | <Error> | |
1.2 | [1..1] | ++ErrorCode | <ErrorCode> | For example, see list of Account Statement Request Error Codes. |
1.3 | [1..1] | ++Description | <Description> | Description text. |
1.4 | [0..1] | ++Field | <Field> | Reference to faulty field. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Errors>
<Error>
<ErrorCode>errStatement_PeriodInvalid</ErrorCode>
<Description>From date cannot be later than to date.</Description>
<Field>FrDt</Field>
</Error>
<Error>
<ErrorCode>NotNull</ErrorCode>
<Description>Name can't be null</Description>
<Field>Name</Field>
</Error>
</Errors>
ERROR CODE | MESSAGE | DESCRIPTION |
---|---|---|
FORBIDDEN | Certificate has invalid SERIALNUMBER field | If authentication certificate SERIALNUMBER field is not a number |
FORBIDDEN | 'Client-Code' request header value is not in numeric format | If request header 'Client-Code' is not a number |
FORBIDDEN | Missing 'Client-Country' request header | If request header 'Client-Code' exists but 'Client-Country' header does not |
FORBIDDEN | 'Client-Country' request header value is not in correct format. Length should be 2 characters (i.e. EE) | If request header 'Client-Country' length is not 2 characters |
FORBIDDEN | Can't authenticate. No 'Client-Code' header for service provider | If user is service provider or user is using service provider then 'Client-Code' and 'Client-Country' request headers are mandatory |
FORBIDDEN | User doesn't exist | If user identification data was extracted from request but doesn't find such user from Connect system |
FORBIDDEN | User doesn't have valid contract | If user doesn't have valid contract in active status |
FORBIDDEN | Service provider doesn't have valid contract | If user service provider doesn't have valid contract in active status |
FORBIDDEN | User doesn't have valid certificate for authentication | If user contract has no authentication certificate |
FORBIDDEN | User authentication certificate is different than expected | If the certificate used for the authentication is different than the certificate indicated in the contract |
FORBIDDEN | Can't create certificate, invalid input | If user certificate in the contract is in the wrong format and is not readable |
FORBIDDEN | User authentication certificate is not yet valid | If user certificate valid from date is in the future |
FORBIDDEN | User authentication certificate is expired | If user certificate valid to date is in the past |
FORBIDDEN | Error reading certificate policy | If authentication certificate is issued by SK then it tries to read company policy from certificate and it doesnt find it |
FORBIDDEN | Cant read certificate issuer info | If certificate has invalid issuer field or it doesn't exists |
FORBIDDEN | Certificate file not found | If SK certificate is used and system is trying to do OCSP request but issuer certificate is not found |
FORBIDDEN | SK OCSP request failed | If SK certificate OCSP request failed for some reason (i.e connection failure) |
FORBIDDEN | SK OCSP service doesn't respond | If SK certificate OCSP response is empty |
FORBIDDEN | Certificate SK OCSP response is not valid | If SK certificate OCSP respond that cerficate is not valid |
FORBIDDEN | Invalid certificate subject common name | If trying to read user identification from certificate common name field (CN) and it fails |
FORBIDDEN | User has not been granted the requested service | If service is not enabled in contract |
Does LHV Connect support multithreading?
Short answer is no, but we are planning improvements here. You can actually submit requests from multiple client threads with your connection certificate, but you can read your responses with GET /messages/next service from one source at a time only. As the service only returns the oldest non-processed message from the queue until you execute the DELETE /messages/.. request.
How often can I request to read new messages?
Every customer and its needs are different, but the most frequent mistake we have noticed is constantly polling with some fixed delay for new messages with GET /messages/next service. For example read a message every 10s one by one. Best practice is to loop through the bigger sets of transactions in batches. You can actually poll through the messages as fast as the interface responds and not lose the precious seconds. Once the current batch of transactions or any other messages pending is processed (HTTP response code 204 means there are no more messages) you can take a bit longer break and then try again. As a result you should get your messages as fast as possible (several per second) and at the same time avoid the constant polling on our interface.
While (active_time==true) { // your business hours
//loop until you get http result 204 = no content (no new messages)
While (result != 204) {
// read next message
result = GET https://connect.lhv.eu/messages/next
msgid = result.Message-Response-Id // get the HTTP header Message-Response-Id
ProcessMessage(result) // whatever you do with the message
DELETE https://connect.lhv.eu/messages/[msgid]
}
Sleep 10 min // adjust according to your actual needs
}
Before going live with your API integrations we should first verify if everything is done according to our specification and good practices - to ensure that customers will get the best experience from the API.
This checklist is also useful when making any changes to your connection or any other activities that could have some impact.
If there are relevant issues with any of the topics mentioned below and it causes problems to our API we might be forced to not allow you to go Live or suspend your existing connection.
Polling and request frequency - You should execute API requests with reasonable frequency - as often as needed for your solution, but not overflow the API with requests that have no actual value. Typical issues:
Syntax and integrity - Please make sure that all requests contain relevant parameters in proper formats. Typical issues:
Account statements and periods - You should execute Account Statements for relevant time periods and frequency. You shouldn't request Account Statements for longer periods too often or when you have already requested the data that does not change anymore. Typical issues:
Error processing - You should have adequate error processing in place. Make sure that your system is able to read the possible error codes and explanations and react on these. Typical issues:
Following services are available in the Connect API.
Service | Description and purpose | Services | Formats |
---|---|---|---|
Generic Services | |||
Communication Test | Testing the communication channel and validity of the connection certificates. | GET [base-url]/heartbeat POST [base-url]/heartbeat | rp: XML (HeartBeatResponse) |
Get messages | Get next message from your inbox | GET [base-url]/messages/next | rp: depends on message |
AIS Services | |||
Account Statement | Getting an account statement or list of transactions for a selected period | POST [base-url]/account-statement | rq: XML camt.060.001.03 rp: XML camt.053.001.02 |
Account Balance | Getting account balances | POST [base-url]/account-balance | rq: XML camt.060.001.03 rp: XML camt.052.001.06 |
Automatic Account Statement | Automatically generated account statement for a previous day | (only messages) | rp: XML camt.053.001.02 |
Debit Credit Notification | Notification message about single transactions on account | (only messages) | rp: XML camt.054.001.02 |
PIS Services | |||
Payment Initiation | Service for Payment initiation. Service is used to initiate return payments | POST [base-url]/payment | rq: XML pain.001.001.03 rp: XML pain.002.001.03 |
Virtual IBAN Services | |||
Virtual IBAN Open | New Virtual IBAN opening | POST [base-url]/viban/open | rq: XML (VibanOpenRequest) rp: XML (VibanOpenResponse) |
Virtual IBAN Bulk | Bulk opening nameless Virtual IBANs | POST [base-url]/viban/bulk | rq: XML (VibanBulkRequest) rp: XML (VibanBulkResponse) |
Virtual IBAN Modify | Add Virtual IBAN holder data to nameless Virtual IBANs or modify existing one | POST [base-url]/viban/modify | rq: XML (VibanModifyRequest) rp: XML (VibanModifyResponse) |
Virtual IBAN Info | Request Virtual IBAN data | POST [base-url]/viban/info | rq: XML (VibanInfoRequest) rp: XML (VibanInfoResponse) |
Virtual IBAN Close | Close a Virtual IBAN. | POST [base-url]/viban/close | rq: XML (VibanCloseRequest) rp: XML (VibanCloseResponse) |
Virtual IBAN Status Notification | Notification message about Virtual IBAN status changes | (only messages) | rp: XML (VibanStatusNotification) |
Contract Management Services | |||
Request New Contract | Initiate new Service Provider customer contract creation | POST [base-url]/contracts | rq: JSON rp: JSON |
Get Contracts List | Get list and information about Service Provider connected customers | GET [base-url]/contracts | rq: NA rp: JSON |
GET [base-url]/heartbeat
Service for testing if system is up and connection certificate is configured correctly. Returns current system time.
For testing purposes we also recommend first using Curl, Postman or some other API testing tool. Sample Curl statements below - replace yourcert.crt and yourkey.key with your PEM certificate and key files:
// Sandbox:
curl -k -X GET "https://connect.prelive.lhv.eu/heartbeat" --cert yourcert.crt --key yourkey.key --cacert LHV_test_rootca2011.crt
// Live:
curl -k -X GET "https://connect.lhv.eu/heartbeat" --cert yourcert.crt --key yourkey.key --cacert DigiCertHighAssuranceEVRootCA.crt.pem
// Sandbox - for service providers:
curl -k -X GET "https://connect.prelive.lhv.eu/heartbeat" --cert yourcert.crt --key yourkey.key --cacert LHV_test_rootca2011.crt -H "Client-Code: 012345678" -H "Client-Country: GB"
// Live - for service providers:
curl -k -X GET "https://connect.lhv.eu/heartbeat" --cert yourcert.crt --key yourkey.key --cacert DigiCertHighAssuranceEVRootCA.crt.pem -H "Client-Code: 012345678" -H "Client-Country: GB"
<HeartBeatResponse>
<TimeStamp>2016-01-06T11:42:33.491</TimeStamp>
</HeartBeatResponse>
POST [base-url]/heartbeat
Service for testing your BDOC request.
Request should contain signed BDOC containing request.xml file. Service takes authenticated user info, extracts BDOC signature data and request.xml content and composes response xml like below.
Service response can be retrieved via messaging service (GET https://connect.lhv.eu/messages/next).
<HeartBeatResponse>
<TimeStamp>2016-01-06T11:42:25.709</TimeStamp>
<AuthorizedUser>
<Name>LHV Pank AS</Name>
<Code>10539549</Code>
</AuthorizedUser>
<Signatures>
<Signature>
<Name>LHV Pank AS</Name>
<Code>10539549</Code>
</Signature>
</Signatures>
<UserRequest>Test</UserRequest>
</HeartBeatResponse>
Account Statement POST [base-url]/account-statement
Account Balance POST [base-url]/account-balance
The ISO 20022 Account Report Request camt.060.001.03 standard is used.
INDEX | MESSAGE ELEMENT | XML TAG |
---|---|---|
[1..1] | MessageRoot | <AcctRptgReq> |
INDEX | MULT. | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|
1.0 | [1..1] | +GroupHeader | <GrpHdr> | |
1.1 | [1..1] | ++MessageIdentification | <MsgId> | Unique message identifier generated by requesting party. |
1.2 | [1..1] | ++CreationDateTime | <CreDtTm> | |
2.0 | [1..1] | +ReportingRequest | <RptgReq> | |
2.1 | [0..1] | ++Identification | <Id> | |
2.2 | [1..1] | ++RequestedMessageNameIdentification | <ReqdMsgNmId> | Supported values: 'camt.053.001.02' BankToCustomerStatement - client request POST https://connect.lhv.eu/account-statement; 'camt.052.001.06' BankToCustomerAccountReport - client request POST https://connect.lhv.eu/account-balance |
2.3 | [1..1] | ++Account | <Acct> | |
2.3 | [1..1] | +++Identification | <Id> | |
2.3 | [1..1] | ++++IBAN | <IBAN> | IBAN number to which the report request refers. When using Virtual/Agency account services - only master account IBAN must be used here. Virtual/Agency account is only displayed in the account statement report. |
2.4 | [1..1] | ++AccountOwner | <AcctOwnr> | |
2.4 | [1..1] | +++Party | <Pty> | Values are ignored. |
2.8 | [1..1] | ++ReportingPeriod | <RptgPrd> | |
2.9 | [1..1] | +++FromToDate | <FrToDt> | |
2.9 | [1..1] | ++++FromDate | <FrDt> | Account statement from date, ISO date format. FromDate cannot be later than ToDate. For camt.052.001.06 value is ignored and only current day is returned. |
2.9 | [1..1] | ++++ToDate | <ToDt> | Account statement to date, ISO date format. For camt.052.001.06 value is ignored and only current day is returned. |
2.10 | [1..1] | +++FromToTime | <FrToTm> | Value is ignored if ReqdBalTp block not added or if ReqdBalTp.CdOrPrtry.Cd.Prtry = DATE. Used when Prtry = DATETIME |
2.10 | [1..1] | +++FromTime | <FrTm> | ISO datetime, inclusive. |
2.10 | [1..1] | +++ToTime | <ToTm> | ISO datetime, exclusive. |
2.13 | [1..1] | +++Type | <Tp> | ‘ALLL’. |
2.14 | [0..1] | ++Requested Balance Type | <ReqdBalTp> | Provides details on the requested balance reporting. |
2.14 | [1..1] | +++Code or Proprietary | <CdOrPrtry> | |
2.14 | [1..1] | ++++Code | <Cd> | Not used |
2.14 | [1..1] | ++++Proprietary | <Prtry> | For account statement camt.053: 'DATE': return statement based on FromDate and ToDate only; FromTime and ToTime are ignored, 'DATETIME': return statement with FromTime and ToTime support. |
Sample is requesting the account statement for account EE337700771001260958.
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.060.001.03">
<AcctRptgReq>
<GrpHdr>
<MsgId>MSGIDLHVTEST01</MsgId>
<CreDtTm>2019-11-14T16:15:07.617</CreDtTm>
</GrpHdr>
<RptgReq>
<ReqdMsgNmId>camt.053.001.02</ReqdMsgNmId>
<Acct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
</Acct>
<AcctOwnr>
<Pty />
</AcctOwnr>
<RptgPrd>
<FrToDt>
<FrDt>2019-11-14</FrDt>
<ToDt>2019-11-14</ToDt>
</FrToDt>
<FrToTm>
<FrTm>16:00:00+02:00</FrTm>
<ToTm>17:00:00+02:00</ToTm>
</FrToTm>
<Tp>ALLL</Tp>
</RptgPrd>
<ReqdBalTp>
<CdOrPrtry>
<Prtry>DATETIME</Prtry>
</CdOrPrtry>
</ReqdBalTp>
</RptgReq>
</AcctRptgReq>
</Document>
ERROR CODE | DESCRIPTION |
---|---|
errStatement_NoAccess | No access to the account. |
errStatement_PeriodLong | Period is too long. |
errStatement_PeriodInvalid | From date cannot be later than to date. |
errStatement_RequestInvalid | Request message fails xsd validation. |
The ISO 20022 Account Statement Message camt.053.001.02 standard is used to report account booked transactions and balances of a selected time period. The message includes information about the opening balance, the closing balance, and the available balance together with all booked transactions of a reporting period. The ISO 20022 format allows to include information that is not supported by LHV. That information is not provided by LHV.
Header Message-Response-Type: ACCOUNT_STATEMENT
Group Header – mandatory, occurs once.
Statement – mandatory and repetitive per currency.
Balance – mandatory and repetitive. Contains elements such as Opening Booked Balance and Closing Booked Balance.
Entry – included in the Statement block. Contains information related to an entry on the account.
Entry Details – included in the Entry block. Contains detailed information related to the entry.
INDEX | MESSAGE ELEMENT | XML TAG |
---|---|---|
[1..1] | MessageRoot | <BkToCstmrStmt> |
INDEX | MULT. | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|
1.0 | [1..1] | +GroupHeader | <GrpHdr> | |
1.1 | [1..1] | ++MessageIdentification | <MsgId> | Unique message identifier generated by requesting party. Maximum length 35 characters. |
1.2 | [1..1] | ++CreationDateTime | <CreDtTm> | Date and time (UTC+2) when the account statement message is created at LHV. |
1.3 | [0..1] | ++MessageRecipient | <MsgRcpt> | Not used. |
1.4 | [0..1] | ++MessagePagination | <MsgPgntn> | For long account statements containing larger number of transactions pagination can be used - one Account Statement response receives more then one response in the queue. Then this optional block is used. Current pagination limit is 10k transactions. |
1.4 | [0..1] | +++PageNumber | <PgNb> | Sequence number of current paginated long account statement portion. |
1.4 | [0..1] | +++LastPageIndicator | <LastPgInd> | Indicator if current account statement portion is the last one - true/false. |
INDEX | MULT. | OR | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|---|
2.0 | [1..n] | +Statement | <Stmt> | ||
2.1 | [1..1] | ++Identification | <Id> | Unique identification provided by LHV. Identification is generated from the value of GrpHdr.MsgId and the currency for which this Statement block is generated. | |
2.2 | [0..1] | ++ElectronicSequenceNumber | <ElctrncSeqNb> | Not used. | |
2.3 | [0..1] | ++LegalSequenceNumber | <LglSeqNb> | Not used. | |
2.4 | [1..1] | ++CreationDateTime | <CreDtTm> | Date and time when the account statement is generated at LHV. | |
2.5 | [1..1] | ++FromToDate | <FrToDt> | ||
[1..1] | +++FromDateTime | <FrDtTm> | Start date of the reporting period. | ||
[1..1] | +++ToDateTime | <ToDtTm> | End date of the reporting period. | ||
2.10 | [1..1] | ++Account | <Acct> | ||
[1..1] | +++Identification | <Id> | |||
[1..1] | ++++IBAN | <IBAN> | IBAN for which this statement block is generated. | ||
[0..1] | +++Currency | <Ccy> | Account currency for which this statement block is generated. | ||
[0..1] | +++Servicer | <Svcr> | Full information about LHV. | ||
[1..1] | ++++FinancialInstitutionIdentification | <FinInstnId> | |||
[0..1] | +++++BIC | <BIC> | LHVBEE22 | ||
[0..1] | +++++Name | <Nm> | LHV Pank | ||
[0..1] | +++++PostalAddress | <PstlAdr> | |||
[0..1] | ++++++AddressType | <AdrTp> | BIZZ | ||
[0..1] | ++++++StreetName | <StrtNm> | Tartu mnt | ||
[0..1] | ++++++BuildingNumber | <BldgNb> | 2 | ||
[0..1] | ++++++PostCode | <PstCd> | 10145 | ||
[0..1] | ++++++TownName | <TwnNm> | Tallinn | ||
[0..1] | ++++++CountrySubdivision | <CtrySubDvsn> | Harjumaa | ||
[0..1] | ++++++Country | <Ctry> | EE | ||
2.11 | [0..1] | ++RelatedAccount | <RltdAcct> | Not used. | |
2.23 | [1..n] | ++Balance | <Bal> | ||
2.24 | [1..1] | +++Type | <Tp> | ||
2.25 | [1..1] | ++++CodeOrProprietary | <CdOrPrtry> | ||
2.26 | [1..1] | +++++Code | <Cd> | See the codes in Code Set: Balance. | |
2.31 | [0..1] | +++CreditLine | <CdtLine> | Not used. | |
2.34 | [1..1] | +++Amount | <Amt> | Balance amount. | |
2.35 | [1..1] | +++CreditDebitIndicator | <CdtDbtInd> | See the codes in Code Set: Credit and Debit Code. | |
2.36 | [1..1] | +++Date | <Dt> | ||
[1..1] | ++++Date | <Dt> | Balance date | ||
2.43 | [1..1] | ++TransactionsSummary | <TxsSummry> | ||
2.44 | [0..1] | +++TotalEntries | <TtlNtries> | Not used. | |
2.49 | [1..1] | +++TotalCreditEntries | <TtlCdtNtries> | ||
2.50 | [0..1] | ++++NumberOfEntries | <NbOfNtries> | Number of credit entries in a given Statement block. | |
2.51 | [1..1] | ++++Sum | <Sum> | Sum of all credit entries in a given statement block. | |
2.52 | [1..1] | +++TotalDebitEntries | <TtlDbtNtries> | ||
2.53 | [0..1] | ++++NumberOfEntries | <NbOfNtries> | Number of debit ebtries in a given Statement block. | |
2.54 | [1..1] | ++++Sum | <Sum> | Sum of all debit entries in a given Statement block. | |
2.76 | [0..n] | ++Entry | <Ntry> | ||
2.77 | [0..1] | +++EntryReference | <NtryRef> | Not used. | |
2.78 | [1..1] | +++Amount | <Amt> | Transaction amount (may be zero). | |
2.79 | [1..1] | +++CreditDebitIndicator | <CdtDbtInd> | See the codes in Code Set: Credit and Debit Code. | |
2.80 | [0..1] | +++ReversalIndicator | <RvslInd> | True (1) if credit transaction is return of payment | |
2.81 | [1..1] | +++Status | <Sts> | BOOK | |
2.82 | [1..1] | +++BookingDate | <BookgDt> | ||
[1..1] | ++++Date | <Dt> | Booking date. | ||
2.83 | [0..1] | +++ValueDate | <ValDt> | Not used. | |
[1..1] | ++++Date | <Dt> | |||
2.84 | [1..1] | +++AccountServicerReference | <AcctSvcrRef> | Unique payment ID assigned by the bank. | |
2.91 | [1..1] | +++BankTransactionCode | <BkTxCd> | ||
2.92 | [1..1] | ++++Domain | <Domn> | ||
2.93 | [1..1] | +++++Code | <Cd> | See the codes in Code Set: Bank Transaction Codes. | |
2.94 | [1..1] | +++++Family | <Fmly> | ||
2.95 | [1..1] | ++++++Code | <Cd> | See the codes in Code Set: Bank Transaction Codes. | |
2.96 | [1..1] | ++++++SubFamilyCode | <SubFmlyCd> | See the codes in Code Set: Bank Transaction Codes. | |
2.97 | [0..1] | ++++Proprietary | <Prtry> | ||
3.21 | [1..1] | +++++Code | <Cd> | Payment scheme code - Code Set: Payment scheme. | |
2.101 | [0..1] | +++AdditionalInformationIndicator | <AddtlInfInd> | Not used. | |
2.135 | [1..n] | +++EntryDetails | <NtryDtls> | ||
2.136 | [0..1] | ++++Batch | <Btch> | Not used. | |
2.142 | [0..n] | ++++TransactionDetails | <TxDtls> | ||
2.143 | [1..1] | +++++References | <Refs> | ||
2.144 | [0..1] | ++++++MessageIdentification | <MsgId> | Not used. | |
2.145 | [0..1] | ++++++AccountServicerReference | <AcctSvcrRef> | Unique payment ID assigned by the bank. | |
2.146 | [0..1] | ++++++PaymentInformationIdentification | <PmtInfId> | Unique identification assigned by a sending party. For outgoing payments reference to the original payment initiation message value PmtInf.PmtInfId. | |
2.147 | [0..1] | ++++++InstructionIdentification | <InstrId> | Payment order number. | |
2.148 | [0..1] | ++++++EndToEndIdentification | <EndToEndId> | ||
2.149 | [0..1] | ++++++TransactionIdentification | <TxId> | Not used. | |
2.199 | [0..1] | +++++RelatedParties | <RltdPties> | ||
2.200 | [0..1] | ++++++InitiatingParty | <InitgPty> | Not used. | |
2.201 | [0..1] | ++++++Remitter | <Dbtr> | ||
[0..1] | +++++++Name | <Nm> | Remitter’s name. | ||
[0..1] | ++++++++Country | <Ctry> | Remitter’s country ISO code. | ||
[0..7] | ++++++++AddressLine | <AdrLine> | Remitter’s address. | ||
[0..1] | +++++++Identification | <Id> | If account statement was requested for Virtual/Agency account master account this tag will be empty for debit transaction. | ||
[1..1] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | +++++++++BICOrBEI | <BICOrBEI> | Remitter’s BIC or BEI. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Remitter’s identification. | ||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[0..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[1..1] | ++++++++++BirthDate | <BirthDt> | Remitter’s birth date. | ||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | Remitter’s city of birth. | ||
[1..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | Remitter’s country of birth. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Remitter’s identification. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.202 | [0..1] | ++++++RemitterAccount | <DbtrAcct> | If account statement was requested for Virtual/Agency account master account, Virtual/Agency account account number is displayed here for debit transaction. | |
[1..1] | +++++++Identification | <Id> | |||
[1..1] | {Or | ++++++++IBAN | <IBAN> | Remitter’s IBAN. | |
[1..1] | Or} | ++++++++Other | <Othr> | ||
[1..1] | +++++++++Identification | <Id> | Remitter’s bank account number which is not IBAN. For Faster Payments (incoming): UK sort code + account nr (14 characters) | ||
2.203 | [0..1] | ++++++UltimateRemitter | <UltmtDbtr> | ||
[0..1] | +++++++Name | <Nm> | Ultimate remitter’s name. | ||
[0..1] | +++++++Identification | <Id> | |||
[1..1] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | +++++++++BICOrBEI | <BICOrBEI> | Ultimate remitter’s BIC or BEI. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Ultimate remitter’s identification. | ||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[0..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[1..1] | ++++++++++BirthDate | <BirthDt> | Ultimate remitter’s birth date. | ||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | Ultimate remitter’s city of birth. | ||
[1..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | Ultimate remitter’s country of birth. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Ultimate remitter’s identification. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.204 | [0..1] | ++++++Beneficiary | <Cdtr> | ||
[0..1] | +++++++Name | <Nm> | Beneficiary’s name. | ||
[0..1] | +++++++PostalAddress | <PstlAdr> | |||
[0..1] | ++++++++Country | <Ctry> | Beneficiary’s country ISO code. | ||
[0..1] | ++++++++AddressLine | <AdrLine> | Beneficiary’s address. | ||
[0..1] | +++++++Identification | <Id> | If account statement was requested for Virtual/Agency account master account this tag will be empty for credit transaction | ||
[1..1] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | +++++++++BICOrBEI | <BICOrBEI> | Beneficiary’s BIC or BEI. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Beneficiary’s identification. | ||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[0..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[1..1] | ++++++++++BirthDate | <BirthDt> | Beneficiary’s birth date. | ||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | Beneficiary’s city of birth. | ||
[1..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | Beneficiary’s country of birth. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Beneficiary’s identification. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.205 | [0..1] | ++++++BeneficiaryAccount | <CdtrAcct> | If account statement was requested for Virtual/Agency account master account, Virtual/Agency account account number is displayed here for credit transaction | |
[1..1] | +++++++Identification | <Id> | |||
[0..1] | {Or | ++++++++IBAN | <IBAN> | Beneficiary’s IBAN. UK Faster Payments (outgoing) - when also payment request contained IBAN. | |
[0..1] | Or} | ++++++++Other | <Othr> | ||
[1..1] | +++++++++Identification | <Id> | Beneficiary’s account number which is not IBAN. UK Faster Payments (outgoing) - when also payment request contained sort code + domestic account nr. For Faster Payments (incoming): UK sort code + account nr (14 characters) | ||
2.206 | [0..1] | ++++++UltimateBeneficiary | <UltmtCdtr> | ||
[0..1] | +++++++Name | <Nm> | Ultimate beneficiary’s name. | ||
[0..1] | +++++++Identification | <Id> | |||
[1..1] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | +++++++++BICOrBEI | <BICOrBEI> | Ultimate beneficiary’s BIC or BEI. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Ultimate beneficiary’s identification. | ||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[0..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[1..1] | ++++++++++BirthDate | <BirthDt> | Ultimate beneficiary’s birth date. | ||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | Ultimate beneficiary’s city of birth. | ||
[1..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | Ultimate beneficiary’s country of birth. | ||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Ultimate beneficiary’s identification. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.211 | [0..1] | +++++RelatedAgents | <RltdAgts> | ||
2.212 | [0..1] | ++++++RemitterAgent | <DbtrAgt> | ||
[1..1] | +++++++FinancialInstitutionIdentification | <FinInstnId> | |||
[0..1] | ++++++++BIC | <BIC> | BIC of the remitter’s bank. | ||
[0..1] | ++++++++Name | <Nm> | Name of the remitter’s bank. | ||
2.213 | [0..1] | ++++++BeneficiaryAgent | <CdtrAgt> | ||
[1..1] | +++++++FinancialInstitutionIdentification | <FinInstnId> | |||
[0..1] | ++++++++BIC | <BIC> | BIC of the beneficiary’s bank. | ||
[0..1] | ++++++++Name | <Nm> | Name of the beneficiary’s bank. | ||
2.214 | [0..1] | ++++++IntermediaryAgent1 | <IntrmyAgt1> | Not used. | |
2.215 | [0..1] | ++++++IntermediaryAgent2 | <IntrmyAgt2> | Not used. | |
2.216 | [0..1] | ++++++IntermediaryAgent3 | <IntrmyAgt3> | ||
[1..1] | +++++++FinancialInstitutionIdentification | <FinInstnId> | |||
[0..1] | ++++++++BIC | <BIC> | BIC of the beneficiary’s correspondent bank. | ||
[0..1] | ++++++++Name | <Nm> | Name of the beneficiary’s correspondent bank. | ||
2.224 | [0..1] | +++++Purpose | <Purp> | ||
2.225 | [1..1] | {Or | ++++++Code | <Cd> | See the codes in Code Set: Purpose. |
2.226 | [1..1] | Or} | ++++++Proprietary | <Prtry> | |
2.227 | [0..10] | +++++RelatedRemittanceInformation | <RltdRmtInf> | Not used. | |
2.234 | [0..1] | +++++RemittanceInformation | <RmtInf> | ||
2.235 | [0..n] | ++++++Unstructured | <Ustrd> | Payment description. | |
2.236 | [0..n] | ++++++Structured | <Strd> | ||
2.256 | [0..n] | +++++++BeneficiaryReferenceInformation | <CdtrRefInf> | ||
2.257 | [0..1] | ++++++++Type | <Tp> | ||
2.258 | [1..1] | +++++++++CodeOrProprietary | <CdOrPrtry> | ||
2.259 | [1..1] | {Or | ++++++++++Code | <Cd> | SCOR |
2.260 | [1..1] | Or} | ++++++++++Proprietary | <Prtry> | |
2.261 | [0..1] | +++++++++Issuer | <Issr> | ||
2.262 | [0..1] | ++++++++Reference | <Ref> | Payment reference number. | |
2.293 | [0..1] | +++++ReturnInformation | <RtrInf> | Return information. | |
2.304 | [0..1] | ++++++Reason | <Rsn> | ||
2.305 | [1..1] | {Or | +++++++Code | <Cd> | NARR if AdditionalInformation is filled. |
2.306 | [1..1] | Or} | +++++++Proprietary | <Prtry> | |
2.307 | [0..n] | ++++++AdditionalInformation | <AddtlInf> | Used with Reason/Code NARR. For returned payment reference to original payment message PAIN.001.001.03 PmtInfId value. Additional rows with format CD:NNNNNNNN refer to payment scheme specific return codes. |
<?xml version="1.0" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02 camt.053.001.02.xsd">
<BkToCstmrStmt>
<GrpHdr>
<MsgId>10001115</MsgId>
<CreDtTm>2016-03-15T13:04:55.123</CreDtTm>
</GrpHdr>
<Stmt>
<Id>10001115EUR</Id>
<CreDtTm>2016-03-15T13:04:55</CreDtTm>
<FrToDt>
<FrDtTm>2016-03-10T00:00:00</FrDtTm>
<ToDtTm>2016-03-15T13:04:55</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>EE457700771000676899</IBAN>
</Id>
<Ccy>EUR</Ccy>
<Svcr>
<FinInstnId>
<BIC>LHVBEE20XXX</BIC>
<Nm>AS LHV Pank</Nm>
<PstlAdr>
<AdrTp>BIZZ</AdrTp>
<StrtNm>Tartu mnt.</StrtNm>
<BldgNb>2</BldgNb>
<PstCd>10145</PstCd>
<TwnNm>Tallinn</TwnNm>
<CtrySubDvsn>Harjumaa</CtrySubDvsn>
<Ctry>EE</Ctry>
</PstlAdr>
</FinInstnId>
</Svcr>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>OPBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">4497512.65</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2016-03-10</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>CLBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">4497505.65</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2016-03-15</Dt>
</Dt>
</Bal>
<TxsSummry>
<TtlCdtNtries>
<NbOfNtries>0</NbOfNtries>
<Sum>0.00</Sum>
</TtlCdtNtries>
<TtlDbtNtries>
<NbOfNtries>2</NbOfNtries>
<Sum>2.00</Sum>
</TtlDbtNtries>
</TxsSummry>
<Ntry>
<Amt Ccy="EUR">1.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>BOOK</Sts>
<BookgDt>
<Dt>2016-03-10</Dt>
</BookgDt>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB777</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>CCRD</Cd>
<SubFmlyCd>FEES</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>INTERNAL</Cd>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB777</AcctSvcrRef>
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="EUR">1.00</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="EUR">1.00</Amt>
</TxAmt>
</AmtDtls>
<RltdPties>
<Dbtr></Dbtr>
<Cdtr></Cdtr>
</RltdPties>
<RltdAgts></RltdAgts>
<RmtInf>
<Ustrd>Card (..6748) monthly fee</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
<Ntry>
<Amt Ccy="EUR">1.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>BOOK</Sts>
<BookgDt>
<Dt>2016-03-11</Dt>
</BookgDt>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB779</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>ICDT</Cd>
<SubFmlyCd>OTHR</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>INTERNAL</Cd>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB779</AcctSvcrRef>
<InstrId>94</InstrId>
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="EUR">1.00</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="EUR">1.00</Amt>
</TxAmt>
</AmtDtls>
<RltdPties>
<Dbtr>
<Nm>Silver Kullassepp</Nm>
<PstlAdr>
<Ctry>EE</Ctry>
</PstlAdr>
<Id>
<PrvtId>
<Othr>
<Id>48107090295</Id>
<SchmeNm>
<Cd>NIDN</Cd>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>EE457700771000676899</IBAN>
</Id>
</DbtrAcct>
<Cdtr>
<Nm>Test Client</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>EE867700771000681884</IBAN>
</Id>
</CdtrAcct>
</RltdPties>
<RltdAgts>
<DbtrAgt>
<FinInstnId>
<BIC>LHVBEE20XXX</BIC>
<Nm>AS LHV Pank</Nm>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>LHVBEE20XXX</BIC>
<Nm>AS LHV Pank</Nm>
</FinInstnId>
</CdtrAgt>
</RltdAgts>
<RmtInf>
<Ustrd>EUR payment</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Stmt>
<Stmt>
<Id>10001115USD</Id>
<CreDtTm>2016-03-15T13:04:55</CreDtTm>
<FrToDt>
<FrDtTm>2016-03-10T00:00:00</FrDtTm>
<ToDtTm>2016-03-15T13:04:55</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>EE457700771000676899</IBAN>
</Id>
<Ccy>USD</Ccy>
<Svcr>
<FinInstnId>
<BIC>LHVBEE20XXX</BIC>
<Nm>AS LHV Pank</Nm>
<PstlAdr>
<AdrTp>BIZZ</AdrTp>
<StrtNm>Tartu mnt.</StrtNm>
<BldgNb>2</BldgNb>
<PstCd>10145</PstCd>
<TwnNm>Tallinn</TwnNm>
<CtrySubDvsn>Harjumaa</CtrySubDvsn>
<Ctry>EE</Ctry>
</PstlAdr>
</FinInstnId>
</Svcr>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>OPBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="USD">1216.13</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2016-03-10</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>CLBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="USD">1215.13</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2016-03-15</Dt>
</Dt>
</Bal>
<TxsSummry>
<TtlCdtNtries>
<NbOfNtries>0</NbOfNtries>
<Sum>0.00</Sum>
</TtlCdtNtries>
<TtlDbtNtries>
<NbOfNtries>1</NbOfNtries>
<Sum>1.00</Sum>
</TtlDbtNtries>
</TxsSummry>
<Ntry>
<Amt Ccy="USD">1.00</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>BOOK</Sts>
<BookgDt>
<Dt>2016-03-15</Dt>
</BookgDt>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB781</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>ICDT</Cd>
<SubFmlyCd>OTHR</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>SWIFT</Cd>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB781</AcctSvcrRef>
<InstrId>17793</InstrId>
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="USD">1.00</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="USD">1.00</Amt>
</TxAmt>
</AmtDtls>
<RltdPties>
<Dbtr>
<Nm>Silver Kullassepp</Nm>
<PstlAdr>
<Ctry>EE</Ctry>
<AdrLine>Tartu mnt, Tallinn, 11111</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>EE457700771000676899</IBAN>
</Id>
</DbtrAcct>
<Cdtr>
<Nm>John Smith</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>440532013000</Id>
</Othr>
</Id>
</CdtrAcct>
</RltdPties>
<RltdAgts>
<DbtrAgt>
<FinInstnId>
<BIC>LHVBEE20XXX</BIC>
<Nm>AS LHV Pank</Nm>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>DEUTDEBBXXY</BIC>
</FinInstnId>
</CdtrAgt>
</RltdAgts>
<RmtInf>
<Ustrd>USD payment</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Stmt>
</BkToCstmrStmt>
</Document>
For long account statements containing larger number of transactions pagination can be used - one Account Statement response receives more then one response in the queue.
First response message header part:
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02 camt.053.001.02.xsd">
<BkToCstmrStmt>
<GrpHdr>
<MsgId>12397887</MsgId>
<CreDtTm>2020-03-30T21:00:03</CreDtTm>
<MsgPgntn>
<PgNb>1</PgNb>
<LastPgInd>false</LastPgInd>
</MsgPgntn>
</GrpHdr>
...
Second and final response message header part:
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02 camt.053.001.02.xsd">
<BkToCstmrStmt>
<GrpHdr>
<MsgId>12397888</MsgId>
<CreDtTm>2020-03-30T21:00:03</CreDtTm>
<MsgPgntn>
<PgNb>2</PgNb>
<LastPgInd>true</LastPgInd>
</MsgPgntn>
</GrpHdr>
...
The ISO 20022 Account Report Message camt.052.001.06 is used to report current account balance. The report returns two balances: current booked balance (without reservations) and current available balance (with reservations). If client has no balance in any currency, then 0 EUR balance is returned.
Header Message-Response-Type: ACCOUNT_BALANCE
Group Header - mandatory, occurs once.
Report - mandatory and repetitive per currency. Includes zero to many Balance blocks. Report does not include detailed entry data.
INDEX | MESSAGE ELEMENT | XML TAG |
---|---|---|
[1..1] | MessageRoot | <BkToCstmrAcctRpt> |
INDEX | MULT. | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|
1.0 | [1..1] | +GroupHeader | <GrpHdr> | |
1.1 | [1..1] | ++MessageIdentification | <MsgId> | Unique message identifier generated by LHV. |
1.2 | [1..1] | ++CreationDateTime | <CreDtTm> | Date and time (UTC+2) when the account statement message is created at LHV. |
1.3 | [0..1] | ++MessageRecipient | <MsgRcpt> | Not used. |
1.4 | [0..1] | ++MessagePagination | <MsgPgntn> | Not used. |
INDEX | MULT. | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|
2.0 | [1..n] | +Report | <Rpt> | Report block is generated per every account and currency. |
2.1 | [1..1] | ++Identification | <Id> | Unique identification generated by LHV. |
2.4 | [1..1] | ++CreationDateTime | <CreDtTm> | Creation date and time. |
2.5 | [0..1] | ++FromToDate | <FrToDt> | Period for what this report is generated. |
2.5 | [1..1] | +++FromDateTime | <FrDtTm> | From date and time in camt.060.001.02 request. |
2.5 | [1..1] | +++ToDateTime | <ToDtTm> | To date and time in camt.060.001.02 request. |
2.10 | [1..1] | ++Account | <Acct> | |
2.10 | [1..1] | +++Identification | <Id> | |
2.10 | [1..1] | ++++IBAN | <IBAN> | Account number for what this report is generated. |
2.10 | [0..1] | +++Currency | <Ccy> | Currency of this report block. |
2.23 | [0..n] | ++Balance | <Bal> | Report has two balances: current booked balance and current available balance. |
2.24 | [1..1] | +++Type | <Tp> | |
2.25 | [1..1] | ++++CodeOrProprietary | <CdOrPrtry> | |
2.26 | [1..1] | +++++Code | <Cd> | 'ITAV' for current available balance; 'ITBD' for interim booked balance. |
2.34 | [1..1] | +++Amount | <Amt> | Balance amount. |
2.35 | [1..1] | +++CreditDebitIndicator | <CdtDbtInd> | See the codes in Code Set: Credit and Debit Code. |
2.36 | [1..1] | +++Date | <Dt> | |
2.36 | [1..1] | ++++Date | <Dt> | Date of the balance. |
2.76 | [0..n] | ++Entry | <Ntry> | Entry data is not returned. |
Sample account EE337700771001260958 has balances in EUR, GBP and USD.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.052.001.06">
<BkToCstmrAcctRpt>
<GrpHdr>
<MsgId>10942452</MsgId>
<CreDtTm>2019-11-14T16:27:24.775</CreDtTm>
</GrpHdr>
<Rpt>
<Id>10942452EUR</Id>
<CreDtTm>2019-11-14T16:27:24.775</CreDtTm>
<FrToDt>
<FrDtTm>2019-11-14T16:27:24.775</FrDtTm>
<ToDtTm>2019-11-14T16:27:24.775</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
<Ccy>EUR</Ccy>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>ITBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">7712.03</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2019-11-14</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>ITAV</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">7599.53</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2019-11-14</Dt>
</Dt>
</Bal>
</Rpt>
<Rpt>
<Id>10942452GBP</Id>
<CreDtTm>2019-11-14T16:27:24.775</CreDtTm>
<FrToDt>
<FrDtTm>2019-11-14T16:27:24.775</FrDtTm>
<ToDtTm>2019-11-14T16:27:24.775</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
<Ccy>GBP</Ccy>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>ITBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="GBP">1000.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2019-11-14</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>ITAV</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="GBP">1000.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2019-11-14</Dt>
</Dt>
</Bal>
</Rpt>
<Rpt>
<Id>10942452USD</Id>
<CreDtTm>2019-11-14T16:27:24.775</CreDtTm>
<FrToDt>
<FrDtTm>2019-11-14T16:27:24.775</FrDtTm>
<ToDtTm>2019-11-14T16:27:24.775</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
<Ccy>USD</Ccy>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>ITBD</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="USD">1751.20</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2019-11-14</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>ITAV</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="USD">1751.20</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2019-11-14</Dt>
</Dt>
</Bal>
</Rpt>
</BkToCstmrAcctRpt>
</Document>
The ISO 20022 Bank To Customer Debit Credit Notification camt.054.001.02 standard is used to report customer of payments on the account. Both credit and debit transactions are included.
The message does not include balance information.
Header Message-Response-Type: CREDIT_DEBIT_NOTIFICATION
Debit Credit Notification message does not include the Message-Request-Id HTTP header!
Group Header – mandatory, occurs once.
Notificaton – mandatory and repetitive per account number and currency. One notification block can include many entries.
Entry – optional and repetitive. Contains information about single entry.
MULT. | MESSAGE ELEMENT | XML TAG |
---|---|---|
[1..1] | MessageRoot | <BkToCstmrDbtCdtNtfctn> |
INDEX | MULT. | OR | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|---|
1.0 | [1..1] | +GroupHeader | <GrpHdr> | ||
1.1 | [1..1] | ++MessageIdentification | <MsgId> | Unique message identifier generated by LHV. | |
1.2 | [1..1] | ++CreationDateTime | <CreDtTm> | Date and time (UTC+2) when the notification message is created at LHV. | |
2.0 | [1..n] | +Notification | <Ntfctn> | ||
2.1 | [1..1] | ++Identification | <Id> | Unique notification identifier generated by LHV. | |
2.4 | [1..1] | ++CreationDateTime | <CreDtTm> | Date and time (UTC+2) when the notification is created at LHV. | |
2.10 | [1..1] | ++Account | <Acct> | ||
[1..1] | +++ Identification | <Id> | |||
[1..1] | ++++IBAN | <IBAN> | IBAN for which this notification block is generated. When using Virtual/Agency account services - the master account IBAN is used here, and Virtual/Agency account in debitor and creditor blocks. | ||
[1..1] | +++Currency | <Ccy> | Currency for which this notification block is generated. | ||
[0..1] | +++Owner | <Ownr> | Account owner information. | ||
[1..1] | ++++Name | <Nm> | Account owner name. | ||
[1..1] | ++++Identification | <Id> | Legal customer registry code or private customer personal code. | ||
[1..1] | {Or | +++++OrganisationIdentification | <OrgId> | ||
[1..1] | ++++++Other | <Othr> | |||
[1..1] | +++++++Identification | <Id> | Legal customer registry code. | ||
[1..1] | Or} | +++++PrivateIdentification | <PrvtId> | ||
[1..1] | ++++++Other | <Othr> | |||
[1..1] | +++++++Identification | <Id> | Private customer personal code. | ||
[1..1] | +++Servicer | <Svcr> | |||
[1..1] | ++++BIC | <BIC> | LHVBEE22. | ||
[1..1] | ++++Name | <Nm> | LHV Pank. | ||
2.56 | [0..n] | ++Entry | <Ntry> | Transaction level entry. | |
2.58 | [1..1] | +++Amount | <AmtCcy="AAA"> | Transaction amount (may be zero). | |
2.59 | [1..1] | +++CreditDebitIndicator | <CdtDbtInd> | Code Set: Credit and debit code. Zero amount is considered a credit amount. | |
2.60 | [0..1] | +++ReversalIndicator | <RvslInd> | True (1) if credit transaction is return of payment | |
2.61 | [1..1] | +++Status | <Sts> | BOOK. | |
2.62 | [1..1] | +++BookingDate | <BookgDt> | ||
[1..1] | ++++Date | <Dt> | Transaction date. | ||
2.64 | [1..1] | +++AccountServicerReference | <AcctSvcrRef> | Unique payment ID assigned by the bank. | |
2.71 | [1..1] | +++BankTransactionCode | <BkTxCd> | ||
2.72 | [1..1] | ++++Domain | <Domn> | ||
2.73 | [1..1] | +++++Code | <Cd> | See the codes in Code Set: Bank Transaction Codes. | |
2.74 | [1..1] | +++++Family | <Fmly> | ||
2.75 | [1..1] | ++++++Code | <Cd> | See the codes in Code Set: Bank Transaction Codes. | |
2.76 | [1..1] | ++++++SubFamilyCode | <SubFmlyCd> | See the codes in Code Set: Bank Transaction Codes. | |
2.77 | [0..1] | ++++Proprietary | <Prtry> | ||
3.78 | [1..1] | +++++Code | <Cd> | Payment scheme code - Code Set: Payment scheme. | |
2.115 | [1..n] | +++EntryDetails | <NtryDtls> | ||
2.122 | [1..n] | ++++TransactionDetails | <TxDtls> | ||
2.123 | [1..1] | +++++References | <Refs> | ||
2.125 | [0..1] | ++++++AccountServicerReference | <AcctSvcrRef> | Unique payment ID assigned by the bank. | |
2.126 | [0..1] | ++++++PaymentInformationIdentification | <PmtInfId> | Unique identification assigned by a sending party. For outgoing payments reference to the original payment initiation message value PmtInf.PmtInfId. | |
2.127 | [0..1] | ++++++InstructionIdentification | <InstrId> | Payment order number. | |
2.128 | [0..1] | ++++++EndToEndIdentification | <EndToEndId> | ||
2.136 | [1..1] | +++++AmountDetails | <AmtDtls> | ||
[1..1] | ++++++InstructedAmount | <InstdAmt> | |||
[1..1] | +++++++Amount | <AmtCcy="AAA"> | Transaction amount (may be zero). | ||
2.179 | [0..1] | +++++RelatedParties | <RltdPties> | ||
2.181 | [0..1] | ++++++Debtor | <Dbtr> | Block is included for: credit transactions; debit transactions for Virtual/Agency account master account | |
[0..1] | +++++++Name | <Nm> | Remitter’s name. | ||
[0..1] | +++++++PostalAddress | <PstlAdr> | |||
[0..1] | ++++++++Country | <Ctry> | Remitter’s country ISO code. | ||
[0..7] | ++++++++AddressLine | <AdrLine> | Remitter’s address. | ||
[0..1] | +++++++Identification | <Id> | |||
[1..1] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | {{Or | +++++++++BICOrBEI | <BICOrBEI> | Remitter’s BIC or BEI. | |
[0..n] | Or}} | +++++++++Other | <Othr> | ||
[1..1] | ++++++++++Identification | <Id> | Remitter’s identification. | ||
[0..1] | ++++++++++Issuer | <Issr> | |||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[0..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[1..1] | ++++++++++BirthDate | <BirthDt> | |||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | |||
[1..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | |||
[0..n] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Remitter’s personal code. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.182 | [0..1] | ++++++DebtorAccount | <DbtrAcct> | Block is included for: credit transactions; debit transactions for Virtual/Agency account master account | |
+++++++Identification | <Id> | ||||
[1..1] | {Or | ++++++++IBAN | <IBAN> | Remitter’s IBAN for credit transaction and Virtual/Agency account for debit transactions. | |
[1..1] | Or} | ++++++++Other | <Othr> | ||
[1..1] | +++++++++Identification | <Id> | Remitter’s bank account number which is not IBAN. For Faster Payments (incoming): UK sort code + account nr (14 characters) | ||
2.183 | [0..1] | ++++++UltimateDebtor | <UltmtDbtr> | ||
[0..1] | +++++++Name | <Nm> | Ultimate remitter’s name. | ||
[0..1] | +++++++Identification | <Id> | |||
[0..7] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | {{Or | +++++++++BICOrBEI | <BICOrBEI> | Ultimate remitter’s BIC or BEI. | |
[1..1] | Or}} | +++++++++Other | <Othr> | ||
[0..1] | ++++++++++Identification | <Id> | Ultimate remitter’s identification. | ||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[1..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[0..1] | ++++++++++BirthDate | <BirthDt> | Ultimate remitter’s birth date. | ||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | Ultimate remitter’s city of birth. | ||
[0..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | Ultimate remitter’s country of birth. | ||
[1..1] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Ultlimate remitter’s identification. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.184 | [0..1] | ++++++Creditor | <Cdtr> | Block is included for: debit transactions; credit transactions for Virtual/Agency account master account | |
[0..1] | +++++++Name | <Nm> | Beneficiary’s name. | ||
[0..1] | +++++++PostalAddress | <PstlAdr> | |||
[0..1] | ++++++++Country | <Ctry> | Remitter’s country ISO code. | ||
[0..7] | ++++++++AddressLine | <AdrLine> | Remitter’s address. | ||
[0..1] | +++++++Identification | <Id> | |||
[0..7] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | {{Or | +++++++++BICOrBEI | <BICOrBEI> | Beneficiary’s BIC or BEI. | |
[1..1] | Or}} | +++++++++Other | <Othr> | ||
[0..1] | ++++++++++Identification | <Id> | Beneficiary’s identification. | ||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[1..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[0..1] | ++++++++++BirthDate | <BirthDt> | Beneficiary’s birth date. | ||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | Beneficiary’s city of birth. | ||
[0..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | Beneficiary’s country of birth. | ||
[1..1] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Beneficiary’s identification. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.185 | ++++++CreditorAccount | <CdtrAcct> | Block is included for: debit transactions; credit transactions for Virtual/Agency account master account | ||
+++++++Identification | <Id> | ||||
[1..1] | {Or | ++++++++IBAN | <IBAN> | Beneficiary’s IBAN for debit transaction and Virtual/Agency account for credit transactions. UK Faster Payments - used when also payment request contained IBAN. | |
[1..1] | Or} | ++++++++Other | <Othr> | ||
[1..1] | +++++++++Identification | <Id> | Beneficiary’s account number which is not IBAN. UK Faster Payments (outgoing) - when also payment request contained sort code + domestic account nr. For Faster Payments (incoming): UK sort code + account nr (14 characters) | ||
2.186 | [0..1] | ++++++UltimateCreditor | <UltmtCdtr> | ||
[0..1] | +++++++Name | <Nm> | Ultimate beneficiary’s name. | ||
[0..1] | +++++++Identification | <Id> | |||
[0..7] | {Or | ++++++++OrganisationIdentification | <OrgId> | ||
[0..1] | {{Or | +++++++++BICOrBEI | <BICOrBEI> | Ultimate beneficiary’s BIC or BEI. | |
[1..1] | Or}} | +++++++++Other | <Othr> | ||
[0..1] | ++++++++++Identification | <Id> | Ultimate beneficiary’s identification. | ||
[1..1] | Or} | ++++++++PrivateIdentification | <PrvtId> | ||
[1..1] | +++++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | |||
[0..1] | ++++++++++BirthDate | <BirthDt> | Ultimate beneficiary’s birth date. | ||
[1..1] | ++++++++++CityOfBirth | <CityOfBirth> | Ultimate beneficiary’s city of birth. | ||
[0..1] | ++++++++++CountryOfBirth | <CtryOfBirth> | Ultimate beneficiary’s country of birth. | ||
[1..1] | +++++++++Other | <Othr> | |||
[1..1] | ++++++++++Identification | <Id> | Ultimate beneficiary’s identification. | ||
[0..1] | ++++++++++SchemeName | <SchmeNm> | |||
[1..1] | +++++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | ||
2.191 | +++++RelatedAgents | <RltdAgts> | |||
2.192 | ++++++DebtorAgent | <DbtrAgt> | |||
+++++++FinancialInstitutionIdentification | <FinInstnId> | ||||
++++++++BIC | <BIC> | BIC of the remitter’s bank. | |||
++++++++Name | <Nm> | Name of the remitter’s bank. | |||
2.193 | ++++++CreditorAgent | <CdtrAgt> | |||
+++++++FinancialInstitutionIdentification | <FinInstnId> | ||||
++++++++BIC | <BIC> | BIC of the beneficiary’s bank. | |||
++++++++Name | <Nm> | Name of the beneficiary’s bank. | |||
2.204 | +++++Purpose | <Purp> | |||
2.205 | ++++++Code | <Cd> | See the codes in Code Set: Purpose. | ||
2.206 | ++++++Proprietary | <Prtry> | |||
2.214 | +++++RemittanceInformation | <RmtInf> | |||
2.215 | ++++++Unstructured | <Ustrd> | Payment description. | ||
2.216 | ++++++Structured | <Strd> | |||
2.236 | +++++++CreditorReferenceInformation | <CdtrRefInf> | |||
2.237 | ++++++++Type | <Tp> | |||
2.238 | +++++++++CodeOrProprietary | <CdOrPrtry> | |||
2.239 | ++++++++++Code | <Cd> | SCOR | ||
2.240 | ++++++++++Proprietary | <Prtry> | |||
2.241 | +++++++++Issuer | <Issr> | |||
2.242 | ++++++++Reference | <Ref> | Payment reference number. | ||
2.273 | [0..1] | +++++ReturnInformation | <RtrInf> | Return information. | |
2.284 | [0..1] | ++++++Reason | <Rsn> | ||
2.285 | [1..1] | {Or | +++++++Code | <Cd> | NARR if AdditionalInformation is filled. |
2.286 | [1..1] | Or} | +++++++Proprietary | <Prtry> | |
2.287 | [0..n] | ++++++AdditionalInformation | <AddtlInf> | Used with Reason/Code NARR. For returned payment reference to orignal payment message PAIN.001.001.03 PmtInfId value. Additional rows with format CD:NNNNNNNN refer to payment scheme specific return codes. |
This sample matches the sample payment under Payment Initiation - from customer "LHV Connect Demo 1" to customer "LHV Connect Demo 2".
It is the outgoing payment from "LHV Connect Demo 1" account EE337700771001260958.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02">
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>10942444</MsgId>
<CreDtTm>2019-11-14T16:01:40.074</CreDtTm>
</GrpHdr>
<Ntfctn>
<Id>10942444EUR</Id>
<CreDtTm>2019-11-14T16:01:40.074</CreDtTm>
<Acct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
<Ccy>EUR</Ccy>
<Ownr>
<Nm>LHV Connect Demo 1</Nm>
<Id>
<OrgId>
<Othr>
<Id>96811884</Id>
</Othr>
</OrgId>
</Id>
</Ownr>
<Svcr>
<FinInstnId>
<BIC>LHVBEE22</BIC>
<Nm>AS LHV Pank</Nm>
</FinInstnId>
</Svcr>
</Acct>
<Ntry>
<Amt Ccy="EUR">2.50</Amt>
<CdtDbtInd>DBIT</CdtDbtInd>
<Sts>BOOK</Sts>
<BookgDt>
<Dt>2019-11-14</Dt>
</BookgDt>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB781</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>ICDT</Cd>
<SubFmlyCd>OTHR</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>INTERNAL</Cd>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB781</AcctSvcrRef>
<InstrId>INSTRIDLHVTEST01A</InstrId>
<EndToEndId>ENDTOENDIDLHVTEST01A</EndToEndId>
</Refs>
<AmtDtls>
<InstdAmt>
<Amt Ccy="EUR">2.50</Amt>
</InstdAmt>
<TxAmt>
<Amt Ccy="EUR">2.50</Amt>
</TxAmt>
</AmtDtls>
<RltdPties>
<Cdtr>
<Nm>LHV Connect Demo 2</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>EE267700771001260987</IBAN>
</Id>
</CdtrAcct>
</RltdPties>
<RltdAgts>
<DbtrAgt>
<FinInstnId>
<BIC>LHVBEE20</BIC>
<Nm>AS LHV Pank</Nm>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>LHVBEE20</BIC>
<Nm>AS LHV Pank</Nm>
</FinInstnId>
</CdtrAgt>
</RltdAgts>
<RmtInf>
<Ustrd>Payment Description LHVTEST01A</Ustrd>
<Strd>
<CdtrRefInf>
<Tp>
<CdOrPrtry>
<Cd>SCOR</Cd>
</CdOrPrtry>
</Tp>
<Ref>700170939</Ref>
</CdtrRefInf>
</Strd>
</RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Ntfctn>
</BkToCstmrDbtCdtNtfctn>
</Document>
Service for executing payments.
POST [base-url]/payment
Request message format is Customer to bank Payment Initiation (XML type pain.001.001.03) that covers SEPA, SEPA Instant, UK Faster Payments and other payments schemes and types available at LHV Pank.
One payment initiation message may contain up to 1500 single payments.
Payment Status Report (pain.002.001.03) is returned to inform about the status of imported payments. More than one status may be returned for one payment.
There are different authentication methods to send payments via Connect:
Payment files are sent by plain XML. Payments are not processed immediately. All sent payments are seen at Internet bank under Pending payments and can be signed and confirmed only there. Only after confirmation the payments are processed and debited from the account. Internet Bank daily and monthly limits and acceptance rate is applied.
header Content-Type: application/xml
Payment files are sent in BDOC container. Internet bank daily and monthly limits and acceptance rate is applied. If payment requires more than one signature, all signatures must be included in the BDOC container and limit usage is taken into account for the last signer.
header Content-Type: application/vnd.etsi.asic-e+zip
XML message has to be signed and the created BDOC has to be put into the body of the message. Whoever signed the document has to have adequate limits and rights for the execution of the payment. XML file needs to be named as "request.xml".
Payment files are sent by plain XML and processed without additional user actions or confirmations. This option is suitable for Payment Service Providers. Separate daily and monthly limits for Connect payments are followed. Virtual/Agency account payments are possible only using this option. Also additional contract appendix must be signed to use this possibility and additional security measures are agreed with the customer.
header Content-Type: application/xml
Following payment schemes are supported for payments initiated through LHV Connect:
Payment scheme selection decisions can be done automatically (the default option) or submitted in the XML instructions.
Estonian accounts:
UK Accounts:
Manual selection of payment scheme is done using optional tags in the XML structure - PmtInf.PmtTpInf.SvcLvl.Prtry for group level or CdtTrfTxInf.PmtTpInf.SvcLvl.Prtry for every payment individually.
Only if these tags are added system tries to use the provided scheme. If not added then it will work as before – best scheme is selected automatically. Possible values are:
Sample:
<PmtInf> //Group setting
...
<PmtTpInf>
<SvcLvl>
<Prtry>SEPA</Prtry>
</SvcLvl>
</PmtTpInf>
...
<CdtTrfTxInf>
...
<PmtTpInf> //Single payment setting
<SvcLvl>
<Prtry>ALL</Prtry>
</SvcLvl>
</PmtTpInf>
Additional notes:
Clearing times and limitations
See also: https://www.lhv.ee/en/payments and Payments_Instructions_and_Time_Limits-EN.pdf
Payment type | Currency | Beneficiary bank | Charges | Priority |
---|---|---|---|---|
European Payment (Instant, SEPA) | EUR | EEA | SLEV | EXPR |
Cross Border Payment (Swift) | EEA Currency | EEA | SHAR | HIGH, EXPR |
Cross Border Payment (Swift) | Non EEA Currency | EEA | SHAR | NORM, HIGH, EXPR |
Cross Border Payment (Swift) | EEA + Non EEA Currency | Non EEA | SHAR, DEBT | NORM, HIGH, EXPR |
Payment returns for Faster, SEPA Credit and Instant Credit Transfer can be initiated with pain.001 message. Instruction for Debtor Agent tag (index 2.85) is used to refer to the Account Servicer Reference and return reason code of the payment to be returned.
Return must contain correct scheme return code found in appendix.
LHV is currently using custom version of pain.001.001.03.xsd, which is compliant with and has less restrictions than 1.4 version of the Estonian Banking Association implementation of pain.001.001.03. See more at XML B2C & C2B communication messages. LHV custom XSD is more restrictive that generic ISO 20022 XSD.
Any XML file valid according to LHV custom XSD is also valid to generic pain.001.001.03.
Generic pain.001.001.03 message xml schema file is available at www.iso20022.org.
Multiplicity (MULT.) Informs how many times an element can or must be used, as defined by ISO standard.
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.
MULT. | MESSAGE ELEMENT | XML TAG |
---|---|---|
[1..1] | +MessageRoot | <CstmrCdtTrfInitn> |
INDEX | MULT. | OR | MESSAGE ELEMENT | XML TAG | LHV REQUIREMENT |
---|---|---|---|---|---|
1.0 | [1..1] | +GroupHeader | <GrpHdr> | ||
1.1 | [1..1] | ++MessageIdentification | <MsgId> | ||
1.2 | [1..1] | ++CreationDateTime | <CreDtTm> | ||
1.6 | [1..1] | ++NumberOfTransactions | <NbOfTxs> | Number of payments in all Payment Information blocks included in this message. If this number is not correct, the file upload will be cancelled. | |
1.7 | [1..1] | ++ControlSum | <CtrlSum> | Control sum of all individual amounts for all Payment Information blocks included in this message, irrespective of currencies. If this number is not correct, the file upload will be cancelled. | |
1.8 | [1..1] | ++PaymentTypeInformation | <PmtTpInf> | Set of elements used to specify the type of payment. | |
1.8 | [1..1] | +++ServiceLevel | <SvcLvl> | Agreement of rules according to which the payment must be processed. Pre-agreed customer-to-bank conditions apply. | |
1.8 | [1..1] | ++++Prtry | <Prtry> | Specifies a pre-agreed service or level of service between the parties, as a proprietary code. Allowed values: INST, SEPA, FAST, ALL - equals as uploaded without interface type. Other values return validation error. | |
1.8 | [1..1] | ++InitiatingParty | <InitgPty> | LHV does not support credit transfers on behalf of the remitter. Information in this block will be ignored. | |
1.8 | [0..1] | +++Name | <Nm> | ||
1.8 | [0..1] | +++Identification | <Id> | ||
1.8 | {Or | ++++OrganisationIdentification | <OrgId> | ||
1.8 | {{Or | +++++BICOrBEI | <BICOrBEI> | ||
1.8 | Or}} | +++++Other | <Othr> | ||
1.8 | [1..1] | ++++++Identification | <Id> | ||
1.8 | [0..1] | ++++++SchemeName | <SchmeNm> | ||
1.8 | [1..1] | +++++++Code | <Cd> | ||
1.8 | Or} | ++++PrivateIdentification | <PrvtId> | ||
1.8 | {Or | +++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | ||
1.8 | [1..1] | ++++++BirthDate | <BirthDt> | ||
1.8 | [1..1] | ++++++CityOfBirth | <CityOfBirth> | ||
1.8 | [1..1] | ++++++CountryOfBirth | <CtryOfBirth> | ||
1.8 | Or} | +++++Other | <Othr> | ||
1.8 | [1..1] | ++++++Identification | <Id> | ||
1.8 | [0..1] | ++++++SchemeName | <SchmeNm> | ||
1.8 | [1..1] | +++++++Code | <Cd> |
INDEX | MULT. | OR | MESSAGE ELEMENT | XML TAG | LHV REQUIREMENT |
---|---|---|---|---|---|
2.0 | [1..n] | +PaymentInformation | <PmtInf> | ||
2.1 | [1..1] | ++PaymentInformationIdentification | <PmtInfId> | Uniquely identifies the payment information group within this message. | |
2.2 | [1..1] | ++PaymentMethod | <PmtMtd> | Only the value TRF (credit transfer) is allowed here. If any other value is entered, it will be ignored. | |
2.3 | [0..1] | ++BatchBooking | <BtchBookg> | Not used. | |
2.4 | [1..1] | ++NumberOfTransactions | <NbOfTxs> | Number of payment included in the current Payment Information block. If this number is not correct, the file upload will be cancelled. | |
2.5 | [1..1] | ++ControlSum | <CtrlSum> | Control sum of all individual amounts in the current Payment Information block, irrespective of currencies. If this number is not correct, the file upload will be cancelled. | |
2.6 | [0..1] | ++PaymentTypeInformation | <PmtTpInf> | ||
2.7 | [0..1] | +++InstructionPriority | <InstrPrty> | ||
2.8 | [0..1] | +++ServiceLevel | <SvcLvl> | ||
2.9 | [1..1] | ++++Code | <Cd> | ||
2.11 | [0..1] | +++LocalInstrument | <LclInstrm> | ||
2.12 | {Or | ++++Code | <Cd> | ||
2.13 | Or} | ++++Proprietary | <Prtry> | Payment priority information. The value here applies to all payments included in the current Payment Information block. See the supported values in Code Set: Payment Priority. | |
2.14 | [0..1] | +++CategoryPurpose | <CtgyPurp> | ||
2.15 | [1..1] | ++++Code | <Cd> | See the supported values in Code Set: Category Purpose. | |
2.17 | [1..1] | ++Requested Execution Date | <ReqdExctnDt> | Date on which the remitter’s account is debited. | |
2.19 | [1..1] | ++Remitter | <Dbtr> | Party from whose account the amount of payment is to be debited. If a different party’s information is entered, it will be ignored. | |
2.19 | [1..1] | +++Name | <Nm> | Remitter’s name. For Virtual IBAN or indirect agent - the holder name (not the master account owner). Debtor name is mandatory if payment is initiated from indirect agent's existing accounts. | |
2.19 | [0..1] | +++PostalAddress | <PstlAdr> | If payment is initiated with indirect agent's existing accounts, following rule applies: (Town Name and Country) or (Country and Address Line) are required. | |
2.19 | [0..1] | ++++TownName | <TwnNm> | See rule in PostalAddress. | |
2.19 | [0..1] | ++++Country | <Ctry> | Remitter’s country ISO code. For Virtual IBAN or agency banking account - the holder country. See rule in PostalAddress. | |
2.19 | [0..2] | ++++AddressLine | <AdrLine> | Remitter’s address. For Virtual IBAN or agency banking account - the holder address. See rule in PostalAddress. | |
2.19 | [0..1] | +++Identification | <Id> | For Virtual IBAN - do not use | |
2.19 | {Or | ++++OrganisationIdentification | <OrgId> | ||
2.19 | {{Or | +++++BICOrBEI | <BICOrBEI> | Remitter’s BIC or BEI code. | |
2.19 | Or}} | +++++Other | <Othr> | ||
2.19 | [1..1] | ++++++Identification | <Id> | Organisation’s identification code. | |
2.19 | [0..1] | ++++++SchemeName | <SchmeNm> | ||
2.19 | [1..1] | +++++++Code | <Cd> | See the supported values in Code Set: Organisation Identification. | |
2.19 | Or} | ++++PrivateIdentification | <PrvtId> | ||
2.19 | {Or | +++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | ||
2.19 | [1..1] | ++++++BirthDate | <BirthDt> | Remitter’s birth date. | |
2.19 | [1..1] | ++++++CityOfBirth | <CityOfBirth> | Remitter’s city of birth. | |
2.19 | [1..1] | ++++++CountryOfBirth | <CtryOfBirth> | Remitter’s birth country ISO code. | |
2.19 | Or} | +++++Other | <Othr> | ||
2.19 | [1..1] | ++++++Identification | <Id> | Remitter’s identification code. | |
2.19 | [0..1] | ++++++SchemeName | <SchmeNm> | ||
2.19 | [1..1] | +++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | |
2.20 | [1..1] | ++RemitterAccount | <DbtrAcct> | Remitter’s account. Can be client account where payment amount is debited, Virtual IBAN, or Indirect Agency account (both LHV and client generated accounts). | |
2.20 | [1..1] | +++Identification | <Id> | ||
2.20 | {Or | ++++IBAN | <IBAN> | Remitter’s IBAN or Virtual IBAN. | |
2.20 | {Or | ++++Other | <Othr> | Remitter's non-IBAN account number (for example, UK account number). | |
2.20 | Or}} | +++++Identification | <Id> | Account number. | |
2.20 | [0..1] | +++Currency | <Ccy> | Not required to be filled in. The payment will be made in the currency of the payment amount. If there are not enough funds available on the account, a relevant error message will appear. | |
2.21 | [1..1] | ++ RemitterAgent | <DbtrAgt> | Remitter’s bank information. | |
2.21 | [1..1] | +++FinancialInstitutionIdentification | <FinInstnId> | ||
2.21 | [1..1] | ++++BIC | <BIC> | If the LHV BIC is faulty or missing, it will be replaced with the correct code. | |
2.23 | [0..1] | ++UltimateRemitter | <UltmtDbtr> | SEPA specific information. Ultimate party that owes an amount of money to the (ultimate) beneficiary. If ultimate remitter information is filled in at the Payment Information level, it will apply to all payments included in this block. Usage rule: Only to be used if different from the beneficiary. | |
2.23 | [0..1] | +++Name | <Nm> | Ultimate remitter’s name. | |
2.23 | [0..1] | +++Identification | <Id> | ||
2.23 | {Or | ++++OrganisationIdentification | <OrgId> | ||
2.23 | {{Or | +++++BICOrBEI | <BICOrBEI> | Ultimate remitter’s BIC or BEI code. | |
2.23 | Or}} | +++++Other | <Othr> | ||
2.23 | [1..1] | ++++++Identification | <Id> | Organisation’s identification code. | |
2.23 | [0..1] | ++++++SchemeName | <SchmeNm> | ||
2.23 | [1..1] | +++++++Code | <Cd> | See the supported values in Code Set: Organisation Identification. | |
2.23 | Or} | ++++PrivateIdentification | <PrvtId> | ||
2.23 | {Or | +++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | ||
2.23 | [1..1] | ++++++BirthDate | <BirthDt> | Ultimate remitter’s birth date. | |
2.23 | [1..1] | ++++++CityOfBirth | <CityOfBirth> | Ultimate remitter’s city of birth. | |
2.23 | [1..1] | ++++++CountryOfBirth | <CtryOfBirth> | Ultimate remitter’s birth country ISO code. | |
2.23 | Or} | +++++Other | <Othr> | ||
2.23 | [1..1] | ++++++Identification | <Id> | Ultimate remitter’s identification code. | |
2.23 | [0..1] | ++++++SchemeName | <SchmeNm> | ||
2.23 | [1..1] | +++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | |
2.24 | [0..1] | ++ChargesBearer | <ChrgBr> | See the supported values in Code Set: Charges Bearer. | |
2.25 | [0..1] | ++ChargesAccount | <ChrgsAcct> | LHV does not support charge debiting from other than remitter’s account. | |
2.25 | [1..1] | +++Identification | <Id> | ||
2.25 | [1..1] | ++++IBAN | <IBAN> | ||
2.25 | [0..1] | +++Currency | <Ccy> | ||
2.27 | [1..n] | ++CreditTransferTransactionInformation | <CdtTrfTxInf> | This block contains a set of elements providing information on the payment(s) included in the message. | |
2.28 | [1..1] | +++PaymentIdentification | <PmtId> | ||
2.29 | [0..1] | ++++InstructionIdentification | <InstrId> | Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction. | |
2.30 | [1..1] | ++++EndToEndIdentification | <EndToEndId> | Unique identification assigned by the initiating party to unumbiguously identify the transaction. | |
1.8 | [1..1] | +++PaymentTypeInformation | <PmtTpInf> | Set of elements used to specify the type of payment. | |
1.8 | [1..1] | ++++ServiceLevel | <SvcLvl> | Agreement of rules according to which the payment must be processed. Pre-agreed customer-to-bank conditions apply. | |
1.8 | [1..1] | +++++Prtry | <Prtry> | Specifies a pre-agreed service or level of service between the parties, as a proprietary code. Allowed values: INST, SEPA, FAST, ALL - equals as uploaded without interface type. Other values return validation error. | |
2.36 | [0..1] | ++++LocalInstrument | <LclInstrm> | ||
2.37 | {Or | +++++Code | <Cd> | ||
2.38 | Or} | +++++Proprietary | <Prtry> | Payment priority information. The value here applies to the payment included in the current Credit Transfer Transaction Information block. See the supported values in Code Set: Payment Priority. | |
2.39 | [0..1] | ++++CategoryPurpose | <CtgyPurp> | ||
2.40 | [1..1] | +++++Code | <Cd> | See the supported values in Code Set: Category Purpose. | |
2.42 | [1..1] | +++Amount | <Amt> | ||
2.43 | {Or | ++++InstructedAmount | <InstdAmt> | Payment amount and the currency ordered by the initiating party. All currencies accepted by the bank for payment services are allowed. If there are not enough funds available on the account in a given currency, a relevant error message will appear. | |
2.44 | Or} | ++++EquivalentAmount | <EqvtAmt> | Not used. | |
2.51 | [0..1] | +++ChargeBearer | <ChrgBr> | See the supported values in Code Set: Charges Bearer. | |
2.70 | [0..1] | +++UltimateRemitter | <UltmtDbtr> | SEPA specific information. Ultimate party that owes an amount of money to the (ultimate) beneficiary. If ultimate remitter information is filled in at the Credit Transfer Transaction Information level, it will apply only to the current payment. Usage rule: Only to be used if different from the beneficiary. | |
2.70 | [0..1] | ++++Name | <Nm> | Ultimate remitter’s name. | |
2.70 | [0..1] | ++++Identification | <Id> | ||
2.70 | {Or | +++++OrganisationIdentification | <OrgId> | ||
2.70 | {{Or | ++++++BICOrBEI | <BICOrBEI> | Ultimate remitter’s BIC or BEI code. | |
2.70 | Or}} | ++++++Other | <Othr> | ||
2.70 | [1..1] | +++++++Identification | <Id> | Organisation’s identification code. | |
2.70 | [0..1] | +++++++SchemeName | <SchmeNm> | ||
2.70 | [1..1] | ++++++++Code | <Cd> | See the supported values in Code Set: Organisation Identification. | |
2.70 | Or} | +++++PrivateIdentification | <PrvtId> | ||
2.70 | {Or | ++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | ||
2.70 | [1..1] | +++++++BirthDate | <BirthDt> | Ultimate remitter’s birth date. | |
2.70 | [1..1] | +++++++CityOfBirth | <CityOfBirth> | Ultimate remitter’s city of birth. | |
2.70 | [1..1] | +++++++CountryOfBirth | <CtryOfBirth> | Ultimate remitter’s birth country ISO code. | |
2.70 | Or} | ++++++Other | <Othr> | ||
2.70 | [1..1] | +++++++Identification | <Id> | Ultimate remitter’s identification code. | |
2.70 | [0..1] | +++++++SchemeName | <SchmeNm> | ||
2.70 | [1..1] | ++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | |
2.71 | [0..1] | +++IntermediaryAgent1 | <IntrmyAgt1> | Information about the beneficiary’s bank’s correspondent bank. Used for foreign payments. | |
2.71 | [1..1] | ++++FinancialInstitutionIdentification | <FinInstnId> | ||
2.71 | [0..1] | +++++BIC | <BIC> | Bank’s BIC code. | |
2.71 | [0..1] | +++++ClearingSystemMemberIdentification | <ClrSysMmbId> | ||
2.71 | [0..1] | ++++++ClearingSystemIdentification | <ClrSysId> | ||
2.71 | [1..1] | +++++++Code | <Cd> | For the clearing system’s identification code see the External Code Sets spreadsheet on the ISO website. | |
2.71 | [1..1] | ++++++MemberIdentification | <MmbId> | Identification of the beneficiary's bank's correspondent bank in a clearing system. | |
2.71 | [0..1] | +++++Name | <Nm> | Name of the beneficiary’s bank’s correspondent bank. Used when the BIC or the clearing system’s member identification is not known to the initiating party. | |
2.71 | [0..1] | +++++PostalAddress | <PstlAdr> | ||
2.71 | [0..1] | ++++++Country | <Ctry> | Country ISO code of the beneficiary’s bank’s correspondent bank. | |
2.71 | [0..2] | ++++++AddressLine | <AdrLine> | Country address of the beneficiary’s bank’s correspondent bank. | |
2.72 | [0..1] | +++IntermediaryAgent1Account | <IntrmyAgt1Acct> | Not used. | |
2.72 | [1..1] | ++++Identification | <Id> | ||
2.72 | {Or | +++++IBAN | <IBAN> | ||
2.72 | Or} | +++++Other | <Othr> | ||
2.72 | [1..1] | ++++++Identification | <Id> | ||
2.77 | [0..1] | +++BeneficiaryAgent | <CdtrAgt> | Beneficiary agent’s information is required for SWIFT payments. | |
2.77 | [1..1] | ++++FinancialInstitutionIdentification | <FinInstnId> | ||
2.77 | [0..1] | +++++BIC | <BIC> | Beneficiary’s bank’s BIC. | |
2.77 | [0..1] | +++++ClearingSystemMemberIdentification | <ClrSysMmbId> | ||
2.77 | [0..1] | ++++++ClearingSystemIdentification | <ClrSysId> | ||
2.77 | [1..1] | +++++++Code | <Cd> | For the clearing system’s identification code see the External Code Sets spreadsheet on the ISO website. Use GBDSC when using UK sort code and domestic account nr separately. | |
2.77 | [1..1] | ++++++MemberIdentification | <MmbId> | Beneficiary’s bank identification in a clearing system. Use UK sort code when using UK sort code and domestic account nr separately. For RUB payments to Russia, the BIK code is entered here. | |
2.77 | [0..1] | +++++Name | <Nm> | Beneficiary's bank name. Usage rule: The name is limited to 70 characters in length. Used when the BIC or the clearing system’s member identification is not known to the initiating party. | |
2.77 | [0..1] | +++++PostalAddress | <PstlAdr> | ||
2.77 | [0..1] | ++++++Country | <Ctry> | Beneficiary’s bank’s country ISO code. | |
2.77 | [0..2] | ++++++AddressLine | <AdrLine> | Beneficiary’s bank’s address. | |
2.78 | [0..1] | +++BeneficiaryAgentAccount | <CdtrAgt> | Beneficiary’s bank account at its correspondent bank. Usage rule: Used only for RUB payments. | |
2.78 | [1..1] | ++++Identification | <Id> | ||
2.78 | {Or | +++++IBAN | <IBAN> | ||
2.78 | Or} | +++++Other | <Othr> | ||
2.78 | [1..1] | ++++++Identification | <Id> | For RUB payments to Russia, the beneficiary’s bank's correspondent account with the Russian central bank is entered here. | |
2.79 | [1..1] | +++Beneficiary | <Cdtr> | Beneficiary’s information. | |
2.79 | [1..1] | ++++Name | <Nm> | Beneficiary’s name. | |
2.79 | [0..1] | ++++PostalAddress | <PstlAdr> | Beneficiary’s address. | |
2.79 | [0..1] | +++++Country | <Ctry> | ||
2.79 | [0..2] | +++++AddressLine | <AdrLine> | ||
2.79 | [0..1] | ++++Identification | <Id> | Beneficiary’s identification. | |
2.79 | {Or | +++++OrganisationIdentification | <OrgId> | ||
2.79 | {{Or | ++++++BICOrBEI | <BICOrBEI> | Beneficiary’s BIC or BEI code. | |
2.79 | Or}} | ++++++Other | <Othr> | ||
2.79 | [1..1] | +++++++Identification | <Id> | Organisation’s identification code. For RUB payments to Russia, INN and KPP codes are entered here. | |
2.79 | [0..1] | +++++++SchemeName | <SchmeNm> | ||
2.79 | 1..1 | ++++++++Code | <Cd> | See the supported values in Code Set: Organisation Identification. | |
2.79 | Or} | +++++PrivateIdentification | <PrvtId> | ||
2.79 | {Or | ++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | ||
2.79 | [1..1] | +++++++BirthDate | <BirthDt> | Beneficiary’s birth date. | |
2.79 | [1..1] | +++++++CityOfBirth | <CityOfBirth> | Beneficiary’s city of birth. | |
2.79 | [1..1] | +++++++CountryOfBirth | <CtryOfBirth> | Beneficiary’s birth country ISO code. | |
2.79 | Or} | ++++++Other | <Othr> | ||
2.79 | [1..1] | +++++++Identification | <Id> | Beneficiary’s identification. | |
2.79 | [0..1] | +++++++SchemeName | <SchmeNm> | ||
2.79 | [1..1] | ++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | |
2.80 | [1..1] | +++BeneficiaryAccount | <CdtrAcct> | Beneficiary’s account. | |
2.80 | [1..1] | ++++Identification | <Id> | ||
2.80 | {Or | +++++IBAN | <IBAN> | Beneficiary’s IBAN. Omit for Faster Payments when using UK domestic account nr. | |
2.80 | Or} | +++++Other | <Othr> | ||
2.80 | [1..1] | ++++++Identification | <Id> | Beneficiary’s account number. Use for domestic UK account nr - separate from sort code (8 char) or concatenated (14 char) | |
2.80 | [0..1] | ++++++SchemeName | <SchmeNm> | ||
2.80 | [1..1] | +++++++Code | <Cd> | Use BBAN when using concatenated UK domestic accountr nr (14 characters), omit when using UK account nr and UK sort code separately. | |
2.81 | [0..1] | +++UltimateBeneficiary | <UltmtCdtr> | SEPA specific information. Ultimate beneficiary is the ultimate beneficiary of the payment. | |
2.81 | [0..1] | ++++Name | <Nm> | Ultimate beneficiary’s name. | |
2.81 | [0..1] | ++++Identification | <Id> | ||
2.81 | {Or | +++++OrganisationIdentification | <OrgId> | ||
2.81 | {{Or | ++++++BICOOrBEI | <BICOrBEI> | Ultimate beneficiary’s BIC or BEI. | |
2.81 | Or}} | ++++++Other | <Othr> | ||
2.81 | [1..1] | +++++++Identification | <Id> | Ultimate beneficiary’s organisation identification. | |
2.81 | [0..1] | +++++++SchemeName | <SchmeNm> | ||
2.81 | [1..1] | ++++++++Code | <Cd> | See the supported values in Code Set: Organisation Identification. | |
2.81 | Or} | +++++PrivateIdentification | <PrvtId> | ||
2.81 | {Or | ++++++DateAndPlaceOfBirth | <DtAndPlcOfBirth> | ||
2.81 | [1..1] | +++++++BirthDate | <BirthDt> | Ultimate beneficiary’s birth date. | |
2.81 | [1..1] | +++++++CityOfBirth | <CityOfBirth> | Ultimate beneficiary’s city of birth. | |
2.81 | [1..1] | +++++++CountryOfBirth | <CtryOfBirth> | Ultimate beneficiary’s birth country ISO code. | |
2.81 | Or} | ++++++Other | <Othr> | ||
2.81 | [1..1] | +++++++Identification | <Id> | Ultimate beneficiary’s identification. | |
2.81 | [0..1] | +++++++SchemeName | <SchmeNm> | ||
2.81 | [1..1] | ++++++++Code | <Cd> | See the supported values in Code Set: Private Person Identification. | |
2.85 | [0..1] | +++InstructionForDebtorAgent> | <InstrForDbtrAgt | Used for referencing return payment for FPS or SEPA (Inst). Format: 'RTRN:00000002:12345678' where RTRN is code for return; 00000002 is Payment Scheme Return Code; 12345678 is Account Servicer Reference of original incoming payment to be returned. | |
2.86 | [0..1] | +++Purpose | <Purp> | SEPA specific information. Reason for the payment. | |
2.87 | [1..1] | ++++Code | <Cd> | See the supported codes in Code Set: Purpose. | |
2.89 | [0..10] | +++RegulatoryReporting | <RgltryRptg> | Information about the declaration of payments. Usage rules: 1.Information required by the Russian central bank: For RUB payments to Russia, the VO code and in some cases the KBK code are entered here. | |
2.89 | [0..1] | ++++Authority | <Authrty> | ||
2.89 | [0..1] | +++++Country | <Ctry> | ||
2.89 | [0..n] | ++++Details | <Dtls> | ||
2.89 | [0..1] | +++++Type | <Tp> | ||
2.89 | [0..1] | +++++Country | <Ctry> | ||
2.89 | [0..1] | +++++Code | <Cd> | ||
2.89 | [0..1] | +++++Information | <Inf> | Specification of the balance of payment code 900. For RUB payments to Russia, the VO and KBK codes are entered here. | |
2.98 | [0..1] | +++RemittanceInformation | <RmtInf> | Used to enter the payment description (unstructured) and the reference number (structured). It is mandatory to provide one or the other. If both structured and unstructured information is filled in, the beneficiary reference under the structured information will be lifted to the unstructured information tag in accordance with the EACT standard for unstructured remittance information formatting rules. If the remittance information will, as a result, be longer than 140 characters, the bank will deliver only the first 140 characters of the remittance information. Reference number (structured) must comply with Estonian reference standard or Creditor reference | |
2.99 | [0..1] | ++++Unstructured | <Ustrd> | Payment description is entered here. | |
2.100 | [0..1] | ++++Structured | <Strd> | ||
2.120 | [0..1] | +++++BeneficiaryReferenceInformation | <CdtrRefInf> | ||
2.121 | [0..1] | ++++++Type | <Tp> | ||
2.122 | [1..1] | +++++++CodeOrProprietary | <CdOrPrtry> | ||
2.123 | [1..1] | ++++++++Code | <Cd> | Only the value SCOR is allowed here. If any other value is entered, it will be ignored. | |
2.125 | [0..1] | +++++++Issuer | <Issr> | ||
2.126 | [0..1] | ++++++Reference | <Ref> | Payment reference number is entered here. Mandatory for FPS - text value up to 18 symbols long. |
Typical EUR payment - including two payments in single file:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03 pain.001.001.03.xsd">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>MSGIDLHVTEST01-1</MsgId>
<CreDtTm>2019-11-14T14:30:04.482</CreDtTm>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>7.50</CtrlSum>
<InitgPty>
<Nm>LHV Connect Demo</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMTINFIDLHVTEST01</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<BtchBookg>false</BtchBookg>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>7.50</CtrlSum>
<ReqdExctnDt>2019-11-14</ReqdExctnDt>
<Dbtr>
<Nm>LHV Connect Demo</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>LHVBEE22XXX</BIC>
</FinInstnId>
</DbtrAgt>
<ChrgBr>SHAR</ChrgBr>
<CdtTrfTxInf>
<PmtId>
<InstrId>INSTRIDLHVTEST01A</InstrId>
<EndToEndId>ENDTOENDIDLHVTEST01A</EndToEndId>
</PmtId>
<PmtTpInf>
<LclInstrm>
<Prtry>EXPR</Prtry>
</LclInstrm>
</PmtTpInf>
<Amt>
<InstdAmt Ccy="EUR">2.50</InstdAmt>
</Amt>
<ChrgBr>SHAR</ChrgBr>
<CdtrAgt>
<FinInstnId>
<BIC>LHVBEE22XXX</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>LHV Connect Demo 2</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>EE267700771001260987</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Payment Description LHVTEST01A</Ustrd>
<Strd>
<CdtrRefInf>
<Tp>
<CdOrPrtry>
<Cd>SCOR</Cd>
</CdOrPrtry>
</Tp>
<Ref>700170939</Ref>
</CdtrRefInf>
</Strd>
</RmtInf>
</CdtTrfTxInf>
<CdtTrfTxInf>
<PmtId>
<InstrId>INSTRIDLHVTEST01B</InstrId>
<EndToEndId>ENDTOENDIDLHVTEST01B</EndToEndId>
</PmtId>
<PmtTpInf>
<LclInstrm>
<Prtry>EXPR</Prtry>
</LclInstrm>
</PmtTpInf>
<Amt>
<InstdAmt Ccy="EUR">5.00</InstdAmt>
</Amt>
<ChrgBr>SHAR</ChrgBr>
<CdtrAgt>
<FinInstnId>
<BIC>LHVBEE22XXX</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Incorrect Customer</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>EE427700771001260990</IBAN>
</Id>
</CdtrAcct>
<RmtInf>
<Ustrd>Payment Description LHVTEST01B</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
UK Faster Payments - with beneficiary account as IBAN:
...
<CdtrAcct>
<Id>
<IBAN>GB29LHVB60161331921111</IBAN>
</Id>
</CdtrAcct>
...
UK Faster Payments - with beneficiary account as UK sort code and domestic account number concatenated (CdtrAcct.Id.Othr.Id - 14 char):
...
<CdtrAcct>
<Id>
<Othr>
<Id>12345612345678</Id>
<SchmeNm>
<Cd>BBAN</Cd>
</SchmeNm>
</Othr>
</Id>
</CdtrAcct>
...
UK Faster Payments - with beneficiary account as UK Sort Code and domestic account number as separate values (CdtrAgt.FinInstnId.ClrSysMmbId.MmbId - 6 char + CdtrAcct.Id.Othr.Id - 8 char):
...
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>GBDSC</Cd>
</ClrSysId>
<MmbId>123456</MmbId>
</ClrSysMmbId>
</FinInstnId>
</CdtrAgt>
...
<CdtrAcct>
<Id>
<Othr>
<Id>12345678</Id>
</Othr>
</Id>
</CdtrAcct>
...
UK Faster Payments reference information - adding reference is mandatory:
<RmtInf>
<Ustrd>payment description 123</Ustrd>
<Strd>
<CdtrRefInf>
<Ref>Payment reference</Ref>
</CdtrRefInf>
</Strd>
</RmtInf>
The ISO 20022 Customer Payment Status Report (pain.002.001.03) message is sent to the client to inform about the status of a payment instruction sent via LHV Connect with Payment Initiation (pain.001.001.03) message.
Header Message-Response-Type: PAYMENT
Customer Payment Status Report refers to the original Payment Initiation message and provides positive, negative and pending status updates to original payments.
There can be many Customer Payment Status Reports per one Payment Initiation message - typically if any of the transactions was not accepted right away for any reason.
Statuses are reported on group level for the whole payment instruction (GrpSts and PmtInfSts tags) and separately for each payment (TxSts tag).
Group level statuses are reported only in the first payments response message after the initial request.
Further responses (if any) shall not contain GrpSts and PmtInfSts tags - you must process the result of every payment entry separately.
Group level statuses (OrgnlGrpInfAndSts.GrpSts and OrgnlPmtInfAndSts.PmtInfSts):
Single payment statuses (OrgnlPmtInfAndSts.TxInfAndSts.TxSts):
By default all payments will be rejected right away when there is not enough funds or payments limits left. Only on special agreement with the customer system will continue to try executing such payments:
Group Header – mandatory, occurs once. Set of characteristics shared by all individual payments included in the status report message.
Original Group Information And Status – occurs once. Refers to original Payment Initiation Group Level information.
Transaction Information And Status – optional and repetitive. Includes information about the original payment and its status.
MULT. | MESSAGE ELEMENT | XML TAG |
---|---|---|
[1..1] | MessageRoot | <CstmrPmtStsRpt> |
INDEX | MULT. | MESSAGE ELEMENT | XML TAG | LHV REQUIREMENT |
---|---|---|---|---|
1.0 | [1..1] | +GroupHeader | <GrpHdr> | |
1.1 | [1..1] | ++MessageIdentification | <MsgId> | Unique message id created by LHV. |
1.2 | [1..1] | ++CreationDateTime | <CreDtTm> | Creation date and time. |
1.3 | [0..1] | ++InitiatingParty | <InitgPty> | |
1.3 | [0..1] | +++Identification | <Id> | |
1.3 | [0..1] | ++++OrganisationIdentification | <OrgId> | |
1.3 | [0..1] | +++++BICOrBEI | <BICOrBEI> | LHV’s BIC. |
2.0 | [1..1] | +OriginalGroupInformationAndStatus | <OrgnlGrpInfAndSts> | |
2.1 | [1..1] | ++OriginalMessageIdentification | <OrgnlMsgId> | Original pain.001.001.03 Group Level Message Id. |
2.2 | [1..1] | ++OriginalMessageNameIdentification | <OrgnlMsgNmId> | Value ‘pain.001.001.03’. |
2.6 | [0..1] | ++GroupStatus | <GrpSts> | Specifies the status of a group of payments in original pain.001.001.03 message. Group Status is returned in only the first pain.002.001.03 Status Report. Possible values: RJCT – all payments in original pain.001.001.03 are rejected. In this case, there is not Original Payment Information And Status and Transaction Information And Status level. PART – if any of the payments in original pain.001.001.03 has not reached accepted status (ACSP, ACSC, ACWC), then group status is partially accepted. ACSP – if all payments in original pain.001.001.03 are in accepted statuses (ACSP, ACSC, ACWC), then group status is accepted and settlement in process. ACSC – if all payments in original pain.001.001.03 are debited from client’s account, then group status is accepted and settlement completed. |
2.7 | [0..n] | ++StatusReasonInformation | <StsRsnInf> | |
2.9 | [0..1] | +++Reason | <Rsn> | |
2.10 | [1..1] | ++++Code | <Cd> | If Group Status is RJCT, then filled with ‘NARR’. In this case, Additional Information is also filled. |
2.12 | [0..n] | +++AdditionalInformation | <AddtlInf> | If Reason Code is filled with ‘NARR’, error description is present here. See Group Level Errors. |
3.0 | [0..n] | +OriginalPaymentInformationAndStatus | <OrgnlPmtInfAndSts> | |
3.1 | [1..1] | ++OriginalPaymentInformationId | <OrgnlPmtInfId> | Original pain.001.001.03 Payment Information Id. |
3.4 | [0..1] | ++PaymentInformationStatus | <PmtInfSts> | Specifies the Payment Information status of original pain.001.001.03 message. Payment Information Status is returned in only the first pain.002.001.03 Status Report. Possible values: RJCT – all payments in original pain.001.001.03 Payment Information block are rejected. PART – if any of the payments in original pain.001.001.03 Payment Information block has not reached accepted status (ACSP, ACSC, ACWC), then status is partially accepted. PDNG - payments in original pain.001.001.03 Payment Information block are waiting for confirmation via Internet Bank. ACSP – if all payments in original pain.001.001.03 Payment Information block are in accepted statuses (ACSP, ACSC, ACWC), then status is accepted and settlement in process. ACSC – if all payments in original pain.001.001.03 Payment Information block are debited from client’s account, then status is accepted and settlement completed. |
3.15 | [0..n] | ++TransactionInformationAndStatus | <TxInfAndSts> | |
3.17 | [0..1] | +++OriginalInstructionIdentification | <OrgnlInstrId> | Original payment order number. |
3.18 | [0..1] | +++OriginalEndToEndId | <OrgnlEndToEndId> | Not used. |
3.19 | [0..1] | +++TransactionStatus | <TxSts> | Payment status. Possible values: PDNG - pending. ACSP – accepted, settlement in process. ACWC – accepted with change. ACSC – accepted, settlement completed. Payment has been debited from client account. RJCT – payment has been rejected. |
3.20 | [0..n] | +++StatusReasonInformation | <StsRsnInf> | |
3.21 | [0..1] | +++OriginalTransactionReference | <OrgnlTxRef> | Payment scheme information |
3.21 | [1..1] | ++++PaymentTypeInformation | <PmtTpInf> | |
3.21 | [1..1] | +++++ServiceLevel | <SvcLvl> | |
3.21 | [1..1] | ++++++Proprietary | <Prtry> | Payment scheme code - Code Set: Payment scheme. |
3.22 | [0..1] | ++++Reason | <Rsn> | |
3.23 | [1..1] | +++++Code | <Cd> | If Transaction Status is ACWC or RJCT, then ‘NARR’. |
3.25 | [0..n] | ++++AdditionalInformation | <AddtlInf> | If Reason Code is ‘NARR’, then description or scheme reject code is given here. For Transaction Status ‘ACWC’, see Reason for Change; for Transaction Status ‘RJCT’, see Transaction Level Errors. For payment scheme error codes see Code Set: Payment Scheme Reject Codes. |
3.30 | [0..1] | +++AccountServicerReference | <AcctSvcrRef> | Unique payment ID assigned by the bank. |
3.32 | [0..1] | +++OriginalTransactionReference | <OrgnlTxRef> | |
3.34 | [0..1] | ++++Amount | <Amt> | |
3.35 | [1..1] | +++++InstructedAmount | <InstdAmt Ccy="AAA"> | |
3.41 | [0..1] | ++++RequestedExecutionDate | <ReqExctnDt> | Execution date requested by client. |
3.121 | [0..1] | ++++Debtor | <Dbtr> | |
3.121 | [0..1] | +++++Name | <Nm> | Remitter’s name. |
3.122 | [0..1] | ++++DebtorAccount | <DbtrAcct> | |
3.122 | [1..1] | +++++Identification | <Id> | |
3.122 | {Or | ++++++IBAN | <IBAN> | Remitter’s IBAN or Virtual IBAN. |
3.122 | {Or | ++++++Other | <Othr> | Remitter's non-IBAN account number (for example, UK account number). |
3.122 | Or}} | +++++++Identification | <Id> | Account number. |
3.123 | [0..1] | ++++DebtorAgent | <DbtrAgt> | |
3.123 | [1..1] | +++++FinancialInstitution Id | <FinInstnId> | |
3.123 | [1..1] | ++++++BIC | <BIC> | LHV’s BIC. |
3.125 | [0..1] | ++++CreditorAgent | <CdtrAgt> | |
3.125 | [1..1] | +++++ FinancialInstitutionId | <FinInstnId> | |
3.125 | [1..1] | ++++++BIC | <BIC> | Beneficiary’s bank BIC. |
3.127 | [0..1] | ++++Creditor | <Cdtr> | |
3.127 | [1..1] | +++++Name | <Nm> | Beneficiary’s name. |
3.128 | [0..1] | ++++CreditorAccount | <CdtrAcct> | |
3.128 | [1..1] | +++++Identification | <Id> | |
3.128 | [0..1] | ++++++IBAN | <IBAN> | Beneficiary’s IBAN. UK Faster Payments - used when also payment request contained IBAN. |
3.128 | [0..1] | ++++++Other | <Othr> | |
3.128 | [1..1] | +++++++Identification | <Id> | Beneficiary’s account number which is not IBAN. UK Faster Payments - used when also payment request contained sort code + domestic account nr. |
GROUP STATUS | ADDITIONAL INFORMATION | DESCRIPTION |
---|---|---|
RJCT | Duplicate message. | Message with this id already exists. |
RJCT | Duplicate message | Duplicate payment information block in file. |
RJCT | Uploading file failed. Faulty number of payments in file header. | Invalid Number Of Transactions in Header Level. |
RJCT | Uploading file failed. Faulty control sum in file header. | Invalid Control Sum in Header Level. |
RJCT | Uploading file failed. Faulty number of payments in Payment Information block | Invalid Number Of Transactions in referenced Payment Information block. |
RJCT | Uploading file failed. Faulty control sum in Payment Information block | Invalid Control Sum in referenced Payment Information block. |
RJCT | Uploading file failed. Faulty sender account [IBAN]. | At least one IBAN or Virtual IBAN does not exist. First bad number encountered is added to error message. |
RJCT | Corrupted payment file: [validation error description] | XML file doesn’t pass XSD validation. Reference to invalid value is given if possible. |
RJCT | No rights to remitter’s account. |
TRANSACTION STATUS | ADDITIONAL INFORMATION | DESCRIPTION |
---|---|---|
RJCT | Duplicate payment | |
RJCT | Account temporarily closed | |
RJCT | Account closed | |
RJCT | Beneficiary account is closed | |
RJCT | Reason not given | |
RJCT | Technical problem. Try again | |
RJCT | Invalid beneficiary address or name | |
RJCT | Incorrect account number | |
RJCT | Account number is not correct | |
RJCT | Invalid account number or sort code | |
RJCT | Beneficiary address is missing/not correct | |
RJCT | Invalid beneficiary name | |
RJCT | Missing or invalid reference | |
RJCT | Problem with amount. Contact bank | |
RJCT | Instant payment forbidden, try European payment | |
RJCT | Payment declined, try European payment | |
RJCT | Payment declined | |
RJCT | Payment declined. Regulatory reasons. Try European payment | |
RJCT | Reference number is invalid or returned for no reason, try European payment | |
RJCT | Other reason | |
RJCT | Reference number invalid. | |
RJCT | Cross-border payments from this account are prohibited. | |
RJCT | Invalid beneficiary’s name. | |
RJCT | Beneficiary's Correspondent BIC not valid. | |
RJCT | Invalid client account number / account not found. | |
RJCT | Payments from one Trader account to another are not allowed. | |
RJCT | Trader account. Not allowed currency. | |
RJCT | Description or reference number must be entered. | |
RJCT | Debtor's organisation identification code is faulty. | |
RJCT | Beneficiary's Bank BIC not valid. | |
RJCT | Creditor's organisation identification code is faulty. | |
RJCT | Beneficiary's account number not valid. | |
RJCT | Creditor's private person identification code is faulty. | |
RJCT | Insufficient daily limit available. | |
RJCT | Invalid currency. | |
RJCT | Payment to the same account. | |
RJCT | Payment to receiver account not allowed. | |
RJCT | Ultimate debtor's organisation identification code is faulty. | |
RJCT | Ultimate debtor's private person identification code is faulty. | |
RJCT | Insufficient monthly limit available. | |
RJCT | Correspondent Bank BIC not valid. | |
RJCT | Account and BIC country codes not matching. | |
RJCT | Account and BIC country codes not matching. Check the account number of the recipient and the BIC number of the recipient bank. | |
RJCT | Debtor's private person identification code is faulty. | |
RJCT | Insufficient funds available. | |
RJCT | Signature weight is less than 100%. | |
RJCT | Beneficiary account number is incorrect. IBAN is mandatory. | |
RJCT | Invalid payment order no. | |
RJCT | Other reason. | |
RJCT | Payment description is too long. Please use maximum | |
RJCT | Please use Latin characters only. | |
RJCT | This BIC does not conform to the format. Enter the name and address of the beneficiary’s bank. Insert the beneficiary’s bank code (such as ABA or Fedwire) before the name of the beneficiary’s bank. | |
RJCT | Uploading file failed. Faulty sender account. | |
RJCT | Technical problem. Try again | |
RJCT | Requested by customer | |
RJCT | Payment declined. Regulatory reasons | |
RJCT | Incorrect beneficiary´s bank data | |
RJCT | Uploading file failed. Unparsable value in Instruction for Debtor Agent [InstrForDbtrAgt] | |
RJCT | RUB payment codes missing (INN, VO, KPP) | |
RJCT | Debtor's account not active. | Virtual IBAN exists, but is not active |
RJCT | Invalid debtor's name | Virtual IBAN holder name does not match with payment order (PmtInf.Dbtr.Nm) or debtor name missing if payment is from indirect agent's existing account. |
RJCT | Invalid return code | Invalid payment scheme return code is used |
RJCT | Original payment not received | Payment to be returned does not exist |
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>10942445</MsgId>
<CreDtTm>2019-11-14T16:01:40.102+02:00</CreDtTm>
<InitgPty>
<Id>
<OrgId>
<BICOrBEI>LHVBEE20XXX</BICOrBEI>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>MSGIDLHVTEST01-1</OrgnlMsgId>
<OrgnlMsgNmId>pain.001.001.03</OrgnlMsgNmId>
<GrpSts>PART</GrpSts>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>PMTINFIDLHVTEST01</OrgnlPmtInfId>
<PmtInfSts>PART</PmtInfSts>
<TxInfAndSts>
<OrgnlInstrId>INSTRIDLHVTEST01A</OrgnlInstrId>
<TxSts>ACSC</TxSts>
<AcctSvcrRef>D9C8845A4BBAEA11910E00155DBDB781</AcctSvcrRef>
<OrgnlTxRef>
<Amt>
<InstdAmt Ccy="EUR">2.50</InstdAmt>
</Amt>
<ReqdExctnDt>2019-11-14</ReqdExctnDt>
<PmtTpInf>
<SvcLvl>
<Prtry>INTERNAL</Prtry>
</SvcLvl>
</PmtTpInf>
<Dbtr>
<Nm>LHV Connect Demo 1</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>LHVBEE20</BIC>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>LHVBEE22</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>LHV Connect Demo 2</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>EE267700771001260987</IBAN>
</Id>
</CdtrAcct>
</OrgnlTxRef>
</TxInfAndSts>
<TxInfAndSts>
<OrgnlInstrId>INSTRIDLHVTEST01B</OrgnlInstrId>
<TxSts>RJCT</TxSts>
<StsRsnInf>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>Vigane saaja nimi.</AddtlInf>
</StsRsnInf>
<OrgnlTxRef>
<Amt>
<InstdAmt Ccy="EUR">5.00</InstdAmt>
</Amt>
<ReqdExctnDt>2019-11-14</ReqdExctnDt>
<Dbtr>
<Nm>LHV Connect Demo 1</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>EE337700771001260958</IBAN>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>LHVBEE20</BIC>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BIC>LHVBEE22</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Incorrect Customer</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>EE427700771001260990</IBAN>
</Id>
</CdtrAcct>
</OrgnlTxRef>
</TxInfAndSts>
</OrgnlPmtInfAndSts>
</CstmrPmtStsRpt>
</Document>
POST [base-url]/viban/open
Service is used to request new Virtual IBAN opening. Only one Virtual IBAN can be opened with one service request.
It is mandatory to fill in minimal data set about Virtual IBAN owner and request message structure is slightly different for private and legal persons.
After receiving the request, background check is done by LHV for Virtual IBAN owner (the check is done in less than a second).
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanOpenRequest> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[0..1] | ++ClientReference | <ClientReference> | Customer reference defined by Payment Service Provider. Can be used to avoid opening duplicate VIBANs. |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if Virtual IBAN owner is private person. |
[1..1] | ++++Name | <Name> | First and last name of private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of private person. |
[0..1] | +++Company | <Company> | Element of choice, used if Virtual IBAN owner is legal person. |
[1..1] | ++++Name | <Name> | Name of company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
<?xml version="1.0" encoding="UTF-8"?>
<VibanOpenRequest>
<MasterAccount>EE837700771001625166</MasterAccount>
<ClientReference>12345678</ClientReference>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
</VibanOpenRequest>
<?xml version="1.0" encoding="UTF-8"?>
<VibanOpenRequest>
<MasterAccount>EE837700771001625166</MasterAccount>
<ClientReference>12345678</ClientReference>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
</VibanOpenRequest>
Header Message-Response-Type: VIBAN_OPEN
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanOpenResponse> | |
[1..1] | ++MasterAccount | <MasterAccount> | |
[0..1] | ++ClientReference | <ClientReference> | Customer reference defined by Payment Service Provider. |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | Virtual IBAN that was generated. |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if Virtual IBAN owner is private person. |
[1..1] | ++++Name | <Name> | First and last name of private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of private person. |
[0..1] | +++Company | <Company> | Element of choice, used if Virtual IBAN owner is legal person. |
[1..1] | ++++Name | <Name> | Name of company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
[1..1] | ++Status | <Status> | Status of Virtual IBAN: 'ACTIVE' or 'ON_HOLD'. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanOpenResponse>
<MasterAccount>EE837700771001625166</MasterAccount>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE867777000202527783</VirtualIBAN>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
</VibanOpenResponse>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanOpenResponse>
<MasterAccount>EE837700771001625166</MasterAccount>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE497777000202527770</VirtualIBAN>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
</VibanOpenResponse>
POST [base-url]/viban/bulk
Service is used for bulk opening nameless Virtual IBANs. Up to 1000 virtual IBANs can be opened with one request.
Nameless virtual IBANs remain in "PENDING" status and can not be used for making payments until Virtual IBAN owner's personal details are added via service Virtual IBAN Modify.
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanBulkRequest> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[1..1] | ++Amount | <Amount> | Amount of Virtual IBANs to be generated. Must be in range of 1 - 1000. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanBulkRequest>
<MasterAccount>EE737700771001625166</MasterAccount>
<Amount>2</Amount>
</VibanBulkRequest>
Header Message-Response-Type: VIBAN_BULK
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanBulkResponse> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[1..1] | ++VirtualIBANList | <VirtualIBANList> | |
[1..n] | ++VirtualIBAN | <VirtualIBAN> | Virtual IBAN that was generated. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanBulkResponse>
<MasterAccount>EE737700771001625166</MasterAccount>
<VirtualIBANList>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<VirtualIBAN>EE507777000200014094</VirtualIBAN>
</VirtualIBANList>
</VibanBulkResponse>
POST [base-url]/viban/modify
Service is used to:
Only one Virtual IBAN can be modified with one service request. It is mandatory to fill in minimal data set about Virtual IBAN owner and request message structure is slightly different for private and legal persons. After receiving the request, background check is done by LHV for Virtual IBAN owner.
If check is OK, then Virtual IBAN is activated at once.
If check is not OK, then Virtual IBAN will remain in status "ON_HOLD" until decision about Virtual IBAN opening is made. CONNECT customer will be informed about the decision via service Status notification.
Rules when changing the data of already activated Virtual IBAN:
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanModifyRequest> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[0..1] | ++ClientReference | <ClientReference> | Customer reference defined by Payment Service Provider. Can be used to avoid opening duplicate VIBANs. |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | Virtual IBAN (must be nameless Virtual IBAN in PENDING status). |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if Virtual IBAN owner is private person. |
[1..1] | ++++Name | <Name> | First and last name of private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of private person. |
[0..1] | +++Company | <Company> | Element of choice, used if Virtual IBAN owner is legal person. |
[1..1] | ++++Name | <Name> | Name of company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
[0..1] | ++ModifyReason | <ModifyReason> | Reason for modification. |
<?xml version="1.0" encoding="UTF-8"?>
<VibanModifyRequest>
<MasterAccount>EE837700771001625166</MasterAccount>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Person>
<Name>Donald Mouse</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
<ModifyReason>Name legally changed to Donald Mouse</ModifyReason>
</VibanModifyRequest>
<?xml version="1.0" encoding="UTF-8"?>
<VibanModifyRequest>
<MasterAccount>EE837700771001625166</MasterAccount>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>John Connor</Name>
<BirthDate>2010-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
<ModifyReason>New company representative</ModifyReason>
</VibanModifyRequest>
Header Message-Response-Type: VIBAN_MODIFY
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanModifyResponse> | |
[0..1] | ++ClientReference | <ClientReference> | Customer reference defined by Payment Service Provider. |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if Virtual IBAN owner is private person. |
[1..1] | ++++Name | <Name> | First and last name of private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of private person. |
[0..1] | +++Company | <Company> | Element of choice, used if Virtual IBAN owner is legal person. |
[1..1] | ++++Name | <Name> | Name of company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
[1..1] | ++Status | <Status> | Status of Virtual IBAN: 'ACTIVE' or 'ON_HOLD'. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanModifyResponse>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
</VibanModifyResponse>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<VibanModifyResponse>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
</VibanModifyResponse>
POST [base-url]/viban/info
Service is used to request Virtual IBAN data.
Response message structure is slightly different for private and legal persons.
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanInfoRequest> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | Virtual IBAN (must be issued under MasterAccount specified). |
<?xml version="1.0" encoding="UTF-8"?>
<VibanInfoRequest>
<MasterAccount>EE837700771001625166</MasterAccount>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
</VibanInfoRequest>
Header Message-Response-Type: VIBAN_INFO
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanInfoResponse> | |
[0..1] | ++ClientReference | <ClientReference> | Customer reference defined by Payment Service Provider. |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if Virtual IBAN owner is private person. |
[1..1] | ++++Name | <Name> | First and last name of private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of private person. |
[0..1] | +++Company | <Company> | Element of choice, used if Virtual IBAN owner is legal person. |
[1..1] | ++++Name | <Name> | Name of company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
[1..1] | ++Status | <Status> | Status of Virtual IBAN: 'ACTIVE', 'ON_HOLD', 'PENDING', 'REJECTED', 'BLOCKED' or 'CLOSED'. |
[0..1] | ++DateActivated | <DateActivated> | Optional. Added if Virtual IBAN has been in activated. |
[0..1] | ++DateClosed | <DateClosed> | Optional. Added if Virtual IBAN has beel closed. |
<?xml version="1.0" encoding="UTF-8"?>
<VibanInfoResponse>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
<!--Optional:-->
<DateActivated>2018-01-01+02:00</DateActivated>
<!--Optional:-->
<DateClosed>2018-05-22+03:00</DateClosed>
</VibanInfoResponse>
<?xml version="1.0" encoding="UTF-8"?>
<VibanInfoResponse>
<ClientReference>12345678</ClientReference>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
<!--Optional:-->
<DateActivated>2018-01-01+02:00</DateActivated>
<!--Optional:-->
<DateClosed>2018-05-22+03:00</DateClosed>
</VibanInfoResponse>
POST [base-url]/viban/close
Service is used to close a Virtual IBAN.
Once Virtual IBAN is closed, it cannot be activated again.
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanCloseRequest> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | Virtual IBAN (must be issued under MasterAccount specified). |
<?xml version="1.0" encoding="UTF-8"?>
<VibanCloseRequest>
<MasterAccount>EE837700771001625166</MasterAccount>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
</VibanCloseRequest>
Header Message-Response-Type: VIBAN_CLOSE
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanCloseResponse> | |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | |
[1..1] | ++Status | <Status> | 'CLOSED' |
[1..1] | ++DateClosed | <DateClosed> | Date and time of closing. |
<?xml version="1.0" encoding="UTF-8"?>
<VibanCloseResponse>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<Status>CLOSED</Status>
<DateClosed>2018-05-22+03:00</DateClosed>
</VibanCloseResponse>
Service is used to send information to CONNECT customers about Virtual IBAN status changes. Notification messages are created for status changes not initiated directly by user - for example when account with screening match is activated (status changes from ON_HOLD to ACTIVE).
Header Message-Response-Type: VIBAN_STATUS_NOTIFICATION
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <VibanStatusNotification> | |
[0..1] | ++ClientReference | <ClientReference> | Customer reference defined by Payment Service Provider. |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[1..1] | ++VirtualIBAN | <VirtualIBAN> | Virtual IBAN (must be issued under MasterAccount specified). |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if Virtual IBAN owner is private person. |
[1..1] | ++++Name | <Name> | First and last name of private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of private person. |
[0..1] | +++Company | <Company> | Element of choice, used if Virtual IBAN owner is legal person. |
[1..1] | ++++Name | <Name> | Name of company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
[1..1] | ++Status | <Status> | Status of Virtual IBAN: 'ACTIVE', 'ON_HOLD', 'PENDING', 'REJECTED', 'BLOCKED' or 'CLOSED'. |
[0..1] | ++DateActivated | <DateActivated> | Optional. Added if Virtual IBAN has been in activated. |
[0..1] | ++DateClosed | <DateClosed> | Optional. Added if Virtual IBAN has beel closed. |
<?xml version="1.0" encoding="UTF-8"?>
<VibanStatusNotification>
<ClientReference>12345678</ClientReference>
<MasterAccount>EE837700771001625166</MasterAccount>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
<!--Optional:-->
<DateActivated>2018-01-01+02:00</DateActivated>
<!--Optional:-->
<DateClosed>2018-05-22+03:00</DateClosed>
</VibanStatusNotification>
<?xml version="1.0" encoding="UTF-8"?>
<VibanStatusNotification>
<ClientReference>12345678</ClientReference>
<MasterAccount>EE837700771001625166</MasterAccount>
<VirtualIBAN>EE717777000200014007</VirtualIBAN>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
<!--Optional:-->
<DateActivated>2018-01-01+02:00</DateActivated>
<!--Optional:-->
<DateClosed>2018-05-22+03:00</DateClosed>
</VibanStatusNotification>
Services for Indirect Scheme Access Account management for service providers with a valid Agency agreement.
We offer this service for FPS (Faster Payments scheme) with UK accounts and SEPA Credit Transfers and Instant payments.
POST [base-url]/agent/account/synchronize
Service is used for synchronizing third party service provider's existing account numbers with LHV.
Request supports multiple accounts in bulk.
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <AgentAccountSyncRequest> | |
[1..1] | ++Accounts | <Accounts> | |
[1..1] | +++Region | <Region> | 'GB' or 'EE' region expected. |
[0..1] | +++AccountNo | <AccountNo> | For 'GB' region UK sort code + account no (14 characters). AccountNo or IBAN or both can exist. AccountNo's for other regions than 'GB' are ignored. |
[0..1] | +++Iban | <Iban> | IBAN country code must match value in Region. Either AccountNo or IBAN or both can exist. |
[0..1] | +++Status | <Status> | Values 'ACTIVE' or 'CLOSED'. If new account is synced and field is empty, default value 'ACTIVE' is applied. If existing account update and field is empty, existing status is not changed. Status can be changed from ACTIVE to CLOSED and vice versa. |
<?xml version="1.0" encoding="UTF-8"?>
<AgentAccountSyncRequest>
<Accounts>
<Account>
<Region>GB</Region>
<AccountNo>12345612345678</AccountNo>
<Status>ACTIVE</Status>
</Account>
<Account>
<Region>GB</Region>
<AccountNo>12345612345679</AccountNo>
<Status>ACTIVE</Status>
</Account>
</Accounts>
</AgentAccountSyncRequest>
Header Message-Response-Type: AGENT_ACCOUNT_SYNC
MESSAGE ELEMENT | XML TAG | Description |
---|---|---|
+MessageRoot | <AgentAccountSyncResponse> | |
++Accounts | <Accounts> | |
+++Account | <Account> | |
+++Region | <Region> | |
+++AccountNo | <AccountNo> | Filled if existed in request. |
+++Iban | <Iban> | Filled if existed in request. |
+++Status | <Status> | <ACTIVE> |
<?xml version="1.0" encoding="UTF-8"?>
<AgentAccountSyncRequest>
<Accounts>
<Account>
<Region>GB</Region>
<AccountNo>12345612345678</AccountNo>
<Status>ACTIVE</Status>
</Account>
<Account>
<Region>GB</Region>
<AccountNo>12345612345679</AccountNo>
<Status>ACTIVE</Status>
</Account>
</Accounts>
</AgentAccountSyncRequest>
<?xml version='1.0' encoding='UTF-8'?>
<Errors>
<Error>
<ErrorCode>MASTER_ACCOUNT_NOT_FOUND</ErrorCode>
<Description>Master account not found.</Description>
<Field>account[1].AccountNo, account[1].Iban</Field>
</Error>
</Errors>
Error codes are subject to change.
ERROR CODE | DESCRIPTION |
---|---|
INVALID_REGION | Invalid Region. |
INVALID_ACCOUNT_NO_OR_IBAN | Account number invalid. |
ACCOUNT_NO_AND_IBAN_MISMATCH | AccountNo and AccountNoIban mismatch. |
INVALID_IBAN | Invalid IBAN. |
MASTER_ACCOUNT_NOT_FOUND | Master account not found. |
TECHNICAL_ERROR | Technical error. |
INVALID_REQUEST | Invalid request. |
POST [base-url]/agent/account/open
Service is used for opening accounts for third party service providers at LHV.
One account can be opened with one request. After receiving the request, background check is done by LHV for third party's account owner (the check is done in less than a second).
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <AccountOpenRequest> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong to PSP). |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if account owner is a private person. |
[1..1] | ++++Name | <Name> | First and last name of a private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of a private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of a private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of a private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of a private person. |
[0..1] | +++Company | <Company> | Element of choice, used if account owner is a legal person. |
[1..1] | ++++Name | <Name> | Name of a company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of a legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of a legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of a legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of a representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of a representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of a representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
<?xml version="1.0" encoding="UTF-8"?>
<AccountOpenRequest>
<MasterAccount>GB27LHVB04030000003349</MasterAccount>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
</AccountOpenRequest>
<?xml version="1.0" encoding="UTF-8"?>
<AccountOpenRequest>
<MasterAccount>GB27LHVB04030000003349</MasterAccount>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
</AccountOpenRequest>
Header Message-Response-Type: AGENT_ACCOUNT_OPEN
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <AccountOpenResponse> | |
[1..1] | ++MasterAccount | <MasterAccount> | |
[0..1] | ++IBAN | <IBAN> | IBAN that was generated. |
[0..1] | ++AccountNo | <AccountNo> | Account that was generated. For 'GB' region UK sort code + account no (14 characters) is returned. |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if account owner is a private person. |
[1..1] | ++++Name | <Name> | First and last name of a private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of a private person (YYYY-MM-DD). |
[0..1] | ++++BirthCountry | <BirthCountry> | Country of birth of a private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of a private person (ISO 3166-1 alpha-2). |
[0..1] | ++++DocumentNumber | <DocumentNumber> | Document number of a private person. |
[0..1] | +++Company | <Company> | Element of choice, used if account owner is a legal person. |
[1..1] | ++++Name | <Name> | Name of company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of a legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of a legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of a legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of a representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of a representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of a representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
[1..1] | ++Status | <Status> | Status of the account: 'ACTIVE' or 'ON_HOLD'. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccountOpenResponse>
<MasterAccount>GB27LHVB04030000003349</MasterAccount>
<IBAN>GB70LHVB04030400003512</IBAN>
<AccountNo>04030400003512</AccountNo>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
</AccountOpenResponse>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccountOpenResponse>
<MasterAccount>GB27LHVB04030000003349</MasterAccount>
<IBAN>GB70LHVB04030400003512</IBAN>
<AccountNo>04030400003512</AccountNo>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
<Status>ON_HOLD</Status>
</AccountOpenResponse>
Error codes are a subject to change.
ERROR CODE | DESCRIPTION |
---|---|
MASTER_ACCOUNT_AGREEMENT_MISSING | Active master account agreement missing. |
INVALID_REQUEST | Invalid request. XSD validation fail. |
TECHNICAL_ERROR | Technical error. |
INVALID_ACCOUNT | Invalid account. |
FORBIDDEN | Unauthorized master account. |
INVALID_BIRTH_DATE | Invalid birth date. |
INVALID_RESIDENT_COUNTRY | Invalid residence country. |
INVALID_BIRTH_COUNTRY | Invalid birth country. |
INVALID_COUNTRY_OF_ORIGIN | Invalid country of origin. |
INVALID_TAX_RESIDENCY | Invalid tax residency. |
INVALID_COUNTRY | Invalid country. |
Service is used to update service providers about agent account status changes. Notification messages are created for status changes not initiated directly by user - for example when account with screening match is activated (status changes from ON_HOLD to ACTIVE).
Header Message-Response-Type: AGENT_ACCOUNT_STATUS_NOTIFICATION
MULT. | MESSAGE ELEMENT | XML TAG | Description |
---|---|---|---|
[1..1] | +MessageRoot | <AgentAccountStatusNotification> | |
[1..1] | ++MasterAccount | <MasterAccount> | Master account IBAN (must belong toservice provider). |
[0..1] | ++IBAN | <IBAN> | IBAN (issued under MasterAccount specified). |
[0..1] | ++AccountNo | <AccountNo> | Account number (issued under MasterAccount specified). |
[1..1] | ++User | <User> | |
[0..1] | +++Person | <Person> | Element of choice, used if agent account owner is a private person. |
[1..1] | ++++Name | <Name> | First and last name of a private person. |
[1..1] | ++++BirthDate | <BirthDate> | Birth date of a private person (YYYY-MM-DD). |
[1..1] | ++++BirthCountry | <BirthCountry> | Country of birth of a private person (ISO 3166-1 alpha-2). |
[1..1] | ++++Residency | <Residency> | Country of residence of a private person (ISO 3166-1 alpha-2). |
[1..1] | ++++DocumentNumber | <DocumentNumber> | Document number of a private person. |
[0..1] | +++Company | <Company> | Element of choice, used if agent account owner is a legal person. |
[1..1] | ++++Name | <Name> | Name of a company. |
[1..1] | ++++CountryOfOrigin | <CountryOfOrigin> | Country of origin of a legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++TaxResidency | <TaxResidency> | Tax residency of a legal person (ISO 3166-1 alpha-2). |
[1..1] | ++++RegistrationNumber | <RegistrationNumber> | Registration number of a legal person. |
[1..1] | ++++Representative | <Representative> | |
[1..1] | +++++Name | <Name> | First and last name of a representative. |
[1..1] | +++++BirthDate | <BirthDate> | Birth date of a representative, YYYY-MM-DD. |
[1..1] | +++++Residency | <Residency> | Country of residence of a representative (ISO 3166-1 alpha-2). |
[1..1] | +++Address | <Address> | |
[1..1] | ++++Country | <Country> | Address country (ISO 3166-1 alpha-2). |
[1..1] | ++++StreetNo | <StreetNo> | Street address. |
[1..1] | ++++CityCounty | <CityCounty> | City, county. |
[1..1] | ++Status | <Status> | Status of the account: 'ACTIVE', 'ON_HOLD', 'PENDING', (used in rare cases when account check fails for technical reasons), 'REJECTED', 'CLOSED', 'BLOCKED'. |
[0..1] | ++DateActivated | <DateActivated> | Optional. Added if account has been in activated. |
[0..1] | ++DateClosed | <DateClosed> | Optional. Added if account has been closed. |
<?xml version="1.0" encoding="UTF-8"?>
<AgentAccountStatusNotification>
<MasterAccount>GB27LHVB04030000003349</MasterAccount>
<IBAN>GB70LHVB04030400003512</IBAN>
<AccountNo>04030400003512</AccountNo>
<User>
<Person>
<Name>Donald Duck</Name>
<BirthDate>1908-11-29</BirthDate>
<BirthCountry>DE</BirthCountry>
<Residency>DE</Residency>
<DocumentNumber>A942819</DocumentNumber>
</Person>
<Address>
<Country>EE</Country>
<StreetNo>Majaka 47-10</StreetNo>
<CityCounty>Xiao, Neverland</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
<!--Optional:-->
<DateActivated>2018-01-01+02:00</DateActivated>
<!--Optional:-->
<DateClosed>2018-05-22+03:00</DateClosed>
</AgentAccountStatusNotification>
<?xml version="1.0" encoding="UTF-8"?>
<AgentAccountStatusNotification>
<MasterAccount>GB27LHVB04030000003349</MasterAccount>
<IBAN>GB70LHVB04030400003512</IBAN>
<AccountNo>04030400003512</AccountNo>
<User>
<Company>
<Name>UK Ltd Version 2.0</Name>
<CountryOfOrigin>GB</CountryOfOrigin>
<TaxResidency>GB</TaxResidency>
<RegistrationNumber>1849203</RegistrationNumber>
<Representative>
<Name>Harry Potter</Name>
<BirthDate>2001-01-01</BirthDate>
<Residency>GB</Residency>
</Representative>
</Company>
<Address>
<Country>GB</Country>
<StreetNo>Waterloo Bridge 13</StreetNo>
<CityCounty>London, Cold</CityCounty>
</Address>
</User>
<Status>ACTIVE</Status>
<!--Optional:-->
<DateActivated>2018-01-01+02:00</DateActivated>
<!--Optional:-->
<DateClosed>2018-05-22+03:00</DateClosed>
</AgentAccountStatusNotification>
POST [base-url]/merchant-report
MULT. | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|
[1..1] | +MerchantReportRequest | <MerchantReportRequest> | |
[1..1] | ++Type | <Type> | CAMT_SETTLEMENT – settlement report CAMT_TRANSACTION – transaction report |
[1..1] | ++PeriodStart | <PeriodStart> | Maximum period is 35 days by date when transaction was settled or made. |
[1..1] | ++PeriodEnd | <PeriodEnd> |
<MerchantReportRequest>
<Type>CAMT_SETTLEMENT</Type>
<PeriodStart>2015-12-22</PeriodStart>
<PeriodEnd>2015-12-22</PeriodEnd>
</MerchantReportRequest>
Message is used to get an overview about customer (merchant) card payments during the specified period.
Header Message-Response-Type: ACQ_REPORT
Group Header – mandatory, occurs once.
Notificaton – mandatory and repetitive per account number and currency. One notification block can include many entries.
Entry – optional and repetitive. Contains information about single entry.
INDEX | MESSAGE ELEMENT | XML TAG |
---|---|---|
[1..1] | MessageRoot | <BkToCstmrDbtCdtNtfctn> |
INDEX | MULT. | OR | MESSAGE ELEMENT | XML TAG | DESCRIPTION |
---|---|---|---|---|---|
1.0 | [1..1] | +GroupHeader | <GrpHdr> | ||
1.1 | [1..1] | ++MessageIdentification | <MsgId> | Unique message identifier generated by LHV. | |
1.2 | [1..1] | ++CreationDateTime | <CreDtTm> | Date and time (UTC+2) when the message is created at LHV. | |
2.0 | [1..n] | +Notification | <Ntfctn> | ||
2.1 | [1..1] | ++Identification | <Id> | Unique identifier generated by LHV. | |
2.4 | [1..1] | ++CreationDateTime | <CreDtTm> | Date and time (UTC+2) when the message is created at LHV. | |
2.10 | [1..1] | ++Account | <Acct> | ||
[1..1] | +++ Identification | <Id> | |||
[1..1] | ++++IBAN | <IBAN> | IBAN for which this notification block is generated. | ||
[1..1] | +++Currency | <Ccy> | Currency for which this notification block is generated. | ||
2.23 | [0..1] | ++TransactionSummary | <TxsSummry> | ||
2.29 | [1..1] | +++TotalCreditEntries | <TtlCdtNtries> | ||
2.30 | [1..1] | ++++NumberOfEntries | <NbOfNtries> | ||
2.31 | [1..1] | ++++Sum | <Sum> | ||
2.32 | [1..1] | +++TotalDebitEntries | <TtlDbtNtries> | ||
2.33 | [1..1] | ++++NumberOfEntries | <NbOfNtries> | ||
2.34 | [1..1] | ++++Sum | <Sum> | ||
2.56 | [0..n] | ++Entry | <Ntry> | Transaction level entry. | |
2.57 | [0..1] | +++EntryReference | <NtryRef> | Unique transaction reference. | |
2.58 | [1..1] | +++Amount | <AmtCcy="AAA"> | Transaction amount (may be zero). | |
2.59 | [1..1] | +++CreditDebitIndicator | <CdtDbtInd> | Zero amount is considered a credit amount. | |
2.61 | [1..1] | +++Status | <Sts> | BOOK. | |
2.62 | [1..1] | +++BookingDate | <BookgDt> | ||
[1..1] | ++++Date | <Dt> | Transaction date. | ||
2.63 | [0..1] | +++ValueDate | <ValDt> | ||
[1..1] | ++++Date | <Dt> | Transaction settlement date. | ||
2.64 | [1..1] | +++AccountServicerReference | <AcctSvcrRef> | Unique transaction reference. Same as 2.57 +++EntryReference. | |
2.71 | [1..1] | +++BankTransactionCode | <BkTxCd> | ||
2.72 | [1..1] | ++++Domain | <Domn> | ||
2.73 | [1..1] | +++++Code | <Cd> | See the codes in Code Set: Bank Transaction Codes. | |
2.74 | [1..1] | +++++Family | <Fmly> | ||
2.75 | [1..1] | ++++++Code | <Cd> | See the codes in Code Set: Bank Transaction Codes. | |
2.76 | [1..1] | ++++++SubFamilyCode | <SubFmlyCd> | See the codes in Code Set: Bank Transaction Codes. | |
2.77 | [0..1] | ++++Proprietary | <Prtry> | ||
2.78 | [1..1] | +++++Code | <Cd> | POS terminal id. | |
2.115 | [1..n] | +++EntryDetails | <NtryDtls> | ||
2.122 | [1..n] | ++++TransactionDetails | <TxDtls> | ||
2.123 | [1..1] | +++++References | <Refs> | ||
2.125 | [0..1] | ++++++AccountServicerReference | <AcctSvcrRef> | Only present if EveryPay Card transaction Order reference is defined or POS-terminal transaction field DE47 subfield 95 is filled with reference, else NULL. | |
2.131 | [0..1] | ++++++ChequeNumber | <ChqNb> | STAN. | |
2.133 | [0..1] | ++++++Proprietary | <Prtry> | ||
2.134 | [1..1] | +++++++Type | <Tp> | PAN. 7-12 positions are masked. | |
2.135 | [1..1] | +++++++Reference | <Ref> | Merchant branch ID (MID). | |
2.136 | [1..1] | +++++AmountDetails | <AmtDtls> | ||
[1..1] | ++++++TransactionAmount | <TxAmt> | |||
2.141 | [1..1] | +++++++Amount | <AmtCcy="AAA"> | Transaction amount (may be zero). | |
2.152 | [0..n] | ++++++Charges | <Chrgs> | ||
2.154 | [1..1] | +++++++Amount | <Amt> | Transaction fee amount. | |
2.179 | [0..1] | +++++RelatedParties | <RltdPties> | ||
2.181 | [0..1] | ++++++Debtor | <Dbtr> | If CreditDebitIndicator=DBIT, then Debtor block is filled. | |
[0..1] | +++++++Name | <Nm> | Remitter’s name. | ||
2.182 | [0..1] | ++++++DebtorAccount | <DbtrAcct> | ||
+++++++Identification | <Id> | ||||
[1..1] | {Or | ++++++++IBAN | <IBAN> | Remitter’s account number. | |
[1..1] | Or} | ++++++++Other | <Othr> | ||
[1..1] | +++++++++Identification | <Id> | Remitter’s account number which is not IBAN. | ||
2.184 | [0..1] | ++++++Creditor | <Cdtr> | If CreditDebitIndicator=CRDT, then Creditor block is filled. | |
[0..1] | +++++++Name | <Nm> | Beneficiary’s name. | ||
2.185 | ++++++CreditorAccount | <CdtrAcct> | |||
+++++++Identification | <Id> | ||||
[1..1] | {Or | ++++++++IBAN | <IBAN> | Beneficiary’s IBAN. | |
[1..1] | Or} | ++++++++Other | <Othr> | ||
[1..1] | +++++++++Identification | <Id> | Beneficiary’s account number which is not IBAN. | ||
2.191 | +++++RelatedAgents | <RltdAgts> | |||
2.192 | ++++++DebtorAgent | <DbtrAgt> | |||
+++++++FinancialInstitutionIdentification | <FinInstnId> | ||||
++++++++Name | <Nm> | Financial institution identifier. | |||
2.214 | +++++RemittanceInformation | <RmtInf> | |||
2.215 | ++++++Unstructured | <Ustrd> | Merchant branch name and location where transaction was made. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02">
<BkToCstmrDbtCdtNtfctn>
<GrpHdr>
<MsgId>625402016031520160315</MsgId>
<CreDtTm>2016-03-15T17:17:56</CreDtTm>
</GrpHdr>
<Ntfctn>
<Id>625402016031520160315EUR</Id>
<CreDtTm>2016-03-15T17:17:56</CreDtTm>
<FrToDt>
<FrDtTm>2016-03-15T00:00:00.000</FrDtTm>
<ToDtTm>2016-03-15T00:00:00.000</ToDtTm>
</FrToDt>
<Acct>
<Id>
<IBAN>EE777700771000845879</IBAN>
</Id>
<Ccy>EUR</Ccy>
</Acct>
<TxsSummry>
<TtlCdtNtries>
<NbOfNtries>1</NbOfNtries>
<Sum>84.26</Sum>
</TtlCdtNtries>
<TtlDbtNtries>
<NbOfNtries>0</NbOfNtries>
<Sum>0.00</Sum>
</TtlDbtNtries>
</TxsSummry>
<Ntry>
<NtryRef>4904</NtryRef>
<Amt Ccy="EUR">83.030000</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts>BOOK</Sts>
<BookgDt>
<Dt>2016-01-15</Dt>
</BookgDt>
<ValDt>
<Dt>2016-03-15</Dt>
</ValDt>
<AcctSvcrRef>4904</AcctSvcrRef>
<BkTxCd>
<Domn>
<Cd>PMNT</Cd>
<Fmly>
<Cd>MCDR</Cd>
<SubFmlyCd>POSP</SubFmlyCd>
</Fmly>
</Domn>
<Prtry>
<Cd>87654321 001</Cd>
</Prtry>
</BkTxCd>
<NtryDtls>
<TxDtls>
<Refs>
<AcctSvcrRef>4904</AcctSvcrRef>
<ChqNb>12345</ChqNb>
<Prtry>
<Tp>532610******3339</Tp>
<Ref>1234567</Ref>
</Prtry>
</Refs>
<AmtDtls>
<TxAmt>
<Amt Ccy="EUR">84.26</Amt>
</TxAmt>
</AmtDtls>
<Chrgs>
<Amt Ccy="EUR">1.230000</Amt>
</Chrgs>
<RltdPties>
<Dbtr>
<Nm>Legal Merchant</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>EE777700771000845879</IBAN>
</Id>
</DbtrAcct>
<Cdtr>
<Nm>Legal Merchant</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>EE777700771000845879</IBAN>
</Id>
</CdtrAcct>
</RltdPties>
<RltdAgts>
<DbtrAgt>
<FinInstnId>
<Nm>689MC</Nm>
</FinInstnId>
</DbtrAgt>
</RltdAgts>
<RmtInf>
<Ustrd>www.abcdef.com \Tallinn \10116 ESTEST</Ustrd>
</RmtInf>
</TxDtls>
</NtryDtls>
</Ntry>
</Ntfctn>
</BkToCstmrDbtCdtNtfctn>
</Document>
ERROR CODE | DESCRIPTION |
---|---|
errMerchantReport_TechnicalError | Unexpected error while composing merchant report response |
errMerchantReport_InvalidInput | Invalid request xml, can't read it |
errMerchantReport_NotNull | Maynot be null. Right format yyyy-MM-dd |
errMerchantReport_NotNull | Maynot be null |
errMerchantReport_NotEmpty | Maynot be empty |
errMerchantReport_1 | Wrong report type |
errMerchantReport_2 | Period can't be longer than 35 days |
errMerchantReport_3 | No such user code in ACQ |
errMerchantReport_4 | Error creating merchant report |
errMerchantReport_7 | User not authorized for this report request, no IBAN found for merchant |
errMerchantReport_9 | Period start can't be after end |
These services are meant for Service Providers Connect contract management - info services about existing contracts, creation and modification.
POST [base-url]/contracts
Initiate new Service Provider customer contract creation - service provider can use it to create a new pending contract for it's customer:
PS! Fully automated contract activation is currently in development.
Mandatory headers:
Body in JSON format:
Field | Type | Comment |
---|---|---|
companyCode | String | Registry code of Service Providers client |
companyCodeIssuer | String | Registry code issuer country of Service Providers client |
{
"companyCode": "12345678",
"companyCodeIssuer": "EE"
}
Response is in JSON format and returned immediately in HTTP response body - not in the message queue:
Field | Type | Comment |
---|---|---|
companyCode | String | Registry code of Service Providers client |
companyCodeIssuer | String | Registry code issuer country of Service Providers client |
contractStatus | String | Contract status - pending/failed |
contractId | String | Contract unique id |
contractContainer | String | BDOC container data in BASE64 |
{
"companyCode": "79536821",
"companyCodeIssuer": "EE",
"contractStatus": "pending",
"contractId": "9adaf57a-a036-462f-9e08-dd201bf36e67",
"contractContainer": "UEsDBAoAAAgAAJ2IY1CKIfl..."
}
GET [base-url]/contracts
Get list and information about Service Provider connected customers, their contracts and enabled services. Both active and pending (waiting for activation) contracts are listed.
Mandatory headers:
Response is in JSON format and returned immediately in HTTP response body - not in the message queue.
Position | Field | Type | Comment |
---|---|---|---|
1 | customers | Array | |
1.1 | companyCode | String | Company registry code |
1.2 | companyCodeIssuer | String | Company registry country |
1.3 | name | String | Company name |
1.4 | contracts | Array | |
1.4.1 | id | String | Contract id |
1.4.2 | status | String | Contract status - active/pending |
1.4.3 | startDate | String | Contract start date |
1.4.4 | services | Array | List of services of the contract |
1.4.4.1 | automaticAccountStatement | Array | List of IBAN's where automatic account statements are enabled |
1.4.4.2 | creditDebitNotification | Array | List of IBAN's where credit debit notifications are enabled |
Sample contains 3 different contracts:
{
"customers": [
{
"companyCode": "80368926",
"companyCodeIssuer": "EE",
"name": "LHV Connect Demo 2",
"contracts": [
{
"id": "ba0d12e8-fd31-4c9f-84ba-801638d25063",
"status": "PENDING",
"services": [
{
"name": "ACCOUNT_STATEMENT"
},
{
"name": "CREDIT_DEBIT_NOTIFICATION",
"ibans": [
"EE267700771001260987",
"EE427700771001260990"
]
},
{
"name": "ACCOUNT_BALANCE"
},
{
"name": "PAYMENTS_WITHOUT_SIGNATURE"
},
{
"name": "HEARTBEAT"
}
]
},
{
"id": "0ceb02c9-e455-42b0-9d45-2ba5fd3b8f41",
"status": "ACTIVE",
"startDate": "2020-02-17",
"services": [
{
"name": "AUTOMATIC_ACCOUNT_STATEMENT",
"ibans": [
"EE427700771001260990",
"EE267700771001260987"
]
},
{
"name": "ACCOUNT_STATEMENT"
},
{
"name": "CREDIT_DEBIT_NOTIFICATION",
"ibans": [
"EE267700771001260987",
"EE427700771001260990"
]
},
{
"name": "ACCOUNT_BALANCE"
},
{
"name": "PAYMENTS_WITHOUT_SIGNATURE"
},
{
"name": "HEARTBEAT"
}
]
}
]
},
{
"companyCode": "79536821",
"companyCodeIssuer": "EE",
"name": "LHV Connect Demo 3",
"contracts": [
{
"id": "f89e82f6-f8c6-4d08-8091-51340f0b4661",
"status": "ACTIVE",
"startDate": "2020-02-28",
"services": [
{
"name": "ACCOUNT_STATEMENT"
},
{
"name": "CREDIT_DEBIT_NOTIFICATION",
"ibans": [
"EE687700771001283511",
"EE087700771001283524",
"EE527700771001283993"
]
},
{
"name": "ACCOUNT_BALANCE"
},
{
"name": "PAYMENTS_WITHOUT_SIGNATURE"
},
{
"name": "HEARTBEAT"
}
]
}
]
}
]
}
CODE | DESCRIPTION |
---|---|
OPBD | Opening booked balance. |
CLBD | Closing booked balance. |
CODE | DESCRIPTION |
---|---|
CRDT | Positive amount or zero. |
DBIT | Negative amount. |
CODE | DESCRIPTION |
---|---|
INST | SEPA Instant payment. |
SEPA | SEPA payment. |
SWIFT | SWIFT payment. |
TARGET2 | TARGET2 payment. |
FAST | UK Faster payment. |
BACS | BACS payment. |
INTERNAL | LHV internal payment. |
GROUP | LHV internal payment between branches (EE, UK). |
TRADER | Trader payment. |
Codes are subject to change.
CODE | DESCRIPTION |
---|---|
FAST - Faster Payments | |
00000001 | Beneficiary sort code/account number unknown |
00000002 | Beneficiary account closed |
00000003 | Beneficiary account stopped |
00000004 | Beneficiary deceased |
00000005 | Account cannot be identified without data in reference field |
00000006 | Beneficiary account name does not match beneficiary account number |
00000007 | Return requested by sender of original payment |
00000008 | Account is not in currency quoted (Not supported when using FPS Indirect via Starling) |
00000009 | Beneficiary not expecting funds/instructed return |
00000010 | Terms and conditions of account do not permit crediting of these funds |
00000011 | Sending institution action required |
00000012 | Account Transferred |
00000013 | Payment cannot be applied because of Beneficiary sensitivities – e.g. possible bankruptcy |
00000014 | Reason not given |
SEPA Instant Credit Transfer | |
FOCR | Following Cancellation Request |
SEPA Credit Transfer | |
AC01 | Incorrect Account Number |
AC04 | Closed Account Number |
AC06 | Blocked Account |
AG01 | Transaction Forbidden |
AG02 | Invalid Bank Operation Code |
AM05 | Duplication |
BE04 | Missing Creditor Address |
CNOR | Creditor Bank is not registred |
ERIN | ERI Option Not Supported |
FOCR | Following Cancellation Request |
MD07 | End Customer Deceased |
MS02 | Not Specified Reason Customer Generated |
MS03 | Not Specified Reason Agent Generated |
RC01 | Bank Identifier Incorrect |
RR01 | Missing Debtor Account Or Identification |
RR02 | Missing Debtor Name or Address |
RR03 | Missing Creditor Name or Address |
RR04 | Regulatory Reason |
Codes are subject to change.
CODE | DESCRIPTION |
---|---|
FAST - Faster Payments | |
1100 | For business reasons only |
1114 | Beneficiary Sort Code/account number unknown |
1160 | Beneficiary account closed |
1161 | Beneficiary account stopped |
1162 | Beneficiary account name does not match beneficiary account number |
1163 | Account cannot be identified without data in Reference Information field |
1164 | Reference Information is incorrect |
1165 | Account is not in currency quoted |
1166 | Account transferred |
1167 | Beneficiary deceased |
1168 | Sending FPS Institution action required |
1169 | Payment cannot be applied because of Beneficiary sensitivities – e.g. possible bankruptcy |
1170 | Terms and Conditions of Account do not permit crediting of these funds |
1171 | Beneficiary account name not present |
1172 | Funds not available |
1173 | Sending Agency Sort Code/account number unknown |
1174 | Sending Agency account closed |
1175 | Sending Agency account stopped |
1176 | Receiving Agency Sort Code/account number unknown |
1177 | Receiving Agency account closed |
1178 | Receiving Agency account topped |
1179 | Sending Agency account transferred |
1180 | Receiving Agency/responding Third Party Beneficiary account transferred |
1181 | Duplicate FPID - with one exception, the Central Infrastructure passes all Participant rejection codes, including those reserved for future use, to the Sending Financial Institution. The one exception is rejection code 1181, Duplicate FPID for Standing Orders, which the Central Infrastructure processes and does not pass back to the Sending Financial Institution. This exception will be extended to other Payment Types, however is not scheduled at this time. |
1909 | System Malfunction: must only be used if Direct Receiver can receive the payment but because of system failure cannot send a qualified response and process it later. |
1930 | Syntax error; use syntax error field 044 to indicate the first field in error. May be used to indicate that the format of the field is incorrect or that a field is missing. |
1182-1199 | Unallocated – available for later use |
SEPA Instant Credit Transfer | |
AB05 | Clearing process aborted due to timeout at the Beneficiary PSP (Creditor Agent) |
AB06 | Clearing process aborted due to timeout at Intermediary PSP or CSM (the Instructed Agent). Rejected by the CSM to Originator Bank upon Timeout condition |
AB07 | Agent of message is not online / available. Generic usage if it cannot be determined who exactly is unavailable |
AB08 | Beneficiary PSP (Creditor Agent) is not online / available |
AB09 | Clearing process aborted due to error at the Beneficiary PSP (Creditor Agent) |
AB10 | Clearing process aborted due to error at the Intermediary PSP or CSM (the Instructed Agent) |
AC01 | Incorrect Account Number |
AC04 | Closed Account Number |
AC06 | Blocked Account |
AG01 | Transaction Forbidden |
AG02 | Invalid Bank Operation Code |
AG09 | Original payment never received |
AG10 | Agent of message is suspended from the Real-time Payment system. Generic usage if it cannot be determined who exactly is suspended |
AG11 | Beneficiary PSP (Creditor Agent) of message is suspended from the Real-time Payment system |
AM02 | Not Allowed Amount |
AM04 | Insufficient Funds |
AM23 | Transaction amount exceeds settlement limit |
BE04 | Missing Creditor Address |
CNOR | Creditor bank is not registered. Beneficiary bank is not registered under this BIC in the CSM |
DNOR | Debtor bank is not registered. Originator bank is not registered under this BIC in the CSM |
MD07 | End Customer Deceased |
MS02 | Not Specified Reason Customer Generated |
MS03 | Not Specified Reason Agent Generated |
PY01 | Unknown BIC in routing table |
RC01 | Bank Identifier Incorrect |
RR01 | Missing Debtor Account Or Identification |
RR02 | Missing Debtors Name Or Address |
RR03 | Missing Creditors Name Or Address |
RR04 | Regulatory Reason |
TM01 | Invalid Cut Off Time. Rejected by the CSM to Beneficiary Bank upon Timeout condition |
XT04 | Insufficient liquidity for processing the transaction on the System |
XT06 | InvalidAccptTime, Rejected by the CSM to Originator Bank upon exceeding tolerance period for the Acceptance Date&Time |
XT79 | The Debtor Agent is not allowed to send SCT Inst transactions (pacs.008) and consequently to send Investigation (pacs.028) and Recalls (camt.056). It is also not allowed to receive NRR and PRR |
XT80 | The Creditor Agent is not allowed to receive SCT Inst transactions (pacs.008) and consequently to receive Investigation (pacs.028) and Recalls (camt.056). It is also not allowed to send NRR and PRR |
XT81 | Field not Permitted in SCT Inst Service |
XT83 | Participant not allowed to use the Product Id specified |
XT86 | Expired Time limit for Recall |
XT87 | Inconsistent Instructing Agent |
XT90 | Invalid use of a Technical BIC |
DOMAIN CODE | FAMILY CODE | SUBFAMILY CODE | DESCRIPTION |
---|---|---|---|
ACMT | MDOP | FEES | Portfolio safekeeping fee |
ACMT | MDOP | TAXE | VAT |
DERV | OTHR | OTHR | Gain/loss prior open future positions |
FORX | MDOP | FEES | Currency exchange fee |
FORX | OTHR | OTHR | Currency exchange |
LDAS | FTDP | INTR | Term deposit interest |
LDAS | FTDP | OTHR | Term deposit |
LDAS | MDOP | FEES | Fees related to loan agreement |
LDAS | MDOP | TAXE | Income tax on received interest |
LDAS | NTDP | INTR | Interest payment |
LDAS | NTLN | INTR | Interest payment |
LDAS | NTLN | PPAY | Capital payment |
LDAS | OTHR | OTHR | Other payments related to loan or rebalance |
PMNT | CCRD | CAJT | Card account rebalance |
PMNT | CCRD | CWDL | ATM withdrawal |
PMNT | CCRD | CDPT | ATM deposit |
PMNT | CCRD | FEES | Fees related cards and card payments |
PMNT | CCRD | INTR | Credit card interest |
PMNT | CCRD | POSC | Payment between current and limit account |
PMNT | CCRD | POSD | Card payment |
PMNT | CNTR | CWDL | Cash withdrawal |
PMNT | CNTR | CDPT | Cash deposit |
PMNT | DRFT | STLR | Reservation |
PMNT | ICDT | FEES | Money transfer fee |
PMNT | ICDT | OTHR | Issued payment |
PMNT | RCDT | OTHR | Received payment |
PMNT | MCOP | INTR | Accrued interest |
PMNT | MCRD | CHRG | ACQ merchant chargeback fee |
PMNT | MCRD | COME | ACQ merchant revenue fee |
PMNT | MCRD | COMT | ACQ merchant service fee |
PMNT | MCRD | DAJT | ACQ merchant revenue debit |
PMNT | MCRD | POSP | ACQ merchant revenue |
PMNT | MDOP | FEES | Payment fee |
PMNT | OTHR | OTHR | Other transaction |
SECU | CORP | FEES | Corporate action fee |
SECU | CORP | OTHR | Corporate action |
SECU | CUST | DVCA | Dividends |
SECU | MDOP | TAXE | Income tax withheld |
SECU | OTHR | OTHR | Trader rebalance |
SECU | SETT | FEES | Securities commission fee |
SECU | SETT | TRAD | Securities buy-sell |
CODE | DESCRIPTION |
---|---|
ACCT | Account management. |
CASH | Cash management. |
COLL | Collection payment. |
INTC | Intra-company payment. |
LIMA | Liquidity management. |
NETT | Netting. |
AGRT | Agricultural payment. |
BEXP | Business expenses. |
COMC | Commercial payment. |
CPYR | Copyright. |
LICF | Licence fee. |
GDDS | Purchase and sale of goods. |
SCVE | Purchase and sale of services. |
SUBS | Subscription. |
SUPP | Supplier payment. |
CHAR | Charity payment. |
HLRP | Housing loan repayment. |
INSU | Insurance premium. |
INTE | Interest. |
LBRI | Labour insurance. |
LIFI | Life insurance. |
LOAN | Loan to borrower. |
LOAR | Loan to lender. |
PPTI | Property insurance. |
ADVA | Advance payment. |
CCRD | Credit card payment. |
DCRD | Debit card payment. |
GOVT | Government payment. |
MSVC | Multiple service types. |
NOWS | Not otherwise specified. |
OTHR | Other. |
PADD | Preauthorised debit. |
RENT | Rent. |
STDY | Study. |
DERI | Derivatives. |
DIVD | Dividend. |
FREX | Foreign exchange. |
SAVG | Savings. |
SECU | Securities. |
TREA | Treasury payment. |
DNTS | Dental services. |
HLTI | Health insurance. |
HSPC | Hospital care. |
LTCF | Long-term care facility. |
MDCS | Medical services. |
ALMY | Alimony payment. |
BONU | Bonus payment. |
BECH | Child benefit. |
COMM | Commission. |
PENS | Pension payment. |
SALA | Salary payment. |
SSBE | Social security benefit. |
HSTX | Housing tax. |
INTX | Income tax. |
TAXS | Tax payment. |
VATX | VAT payment. |
AIRB | Air transport. |
BUSB | Bus transport. |
FERB | Ferry transport. |
RLWY | Railway transport. |
CBTV | Cable TV bill. |
ELEC | Electricity bill. |
ENRG | Energies. |
GASB | Gas bill. |
NWCH | Network charge. |
NWCM | Network communication. |
OTLC | Other telecom related bill. |
PHON | Telephone bill. |
WTER | Water bill. |
DEBT | Deposit. |
GDSV | Purchase and Sale of Goods and Services |
CDBL | Credit Card Bill |
INVS | Investment and Securities |
ALLW | Allowance |
PAYR | Payroll |
UBIL | Utilities |
CODE | DESCRIPTION |
---|---|
CASH | Cash management. |
CORT | Trade settlement payment. |
DIVI | Dividends payment. |
GOVT | Government payment. |
HEDG | Hedging. |
INTC | Intra-company payment. |
INTE | Interest payment. |
LOAN | Transfer of a loan to a borrower. |
PENS | Pension payment. |
SALA | Salary payment. |
SECU | Securities payment. |
SSBE | Social security benefit payment. |
SUPP | Supplier payment. |
TAXS | Tax payment. |
TRAD | Trade finance transaction payment. |
TREA | Treasury payment. |
VATX | VAT payment. |
WHLD | Withholding tax payment. |
OTHR | Other payment. |
EPAY | Payment via online banking. |
FCOL | Fee collection. |
CODE | DESCRIPTION |
---|---|
ARNU | Number assigned by a social security agency to identify a non-resident person. |
CCPT | Number assigned by an authority to identify the passport number of a person. |
CUST | Number assigned by an issuer to identify a customer. |
DRLC | Number assigned by an authority to identify a driver's license. |
EMPL | Number assigned by a registration authority to an employee. |
NIDN | Number assigned by an authority to identify the national identity number of a person. |
SOSE | Number assigned by an authority to identify the social security number of a person. |
TXID | Number assigned by a tax authority to identify a person. |
CODE | DESCRIPTION |
---|---|
BANK | Unique and unambiguous assignment made by a specific bank or similar financial institution to identify a relationship as defined between the bank and its client. |
CBID | A unique identification number assigned by a central bank to identify an organisation. |
CHID | A unique identification number assigned by a clearing house to identify an organisation. |
COID | Country authority given organisation identification (e.g., corporate registration number). |
CUST | Number assigned by an issuer to identify a customer. Number assigned by a party to identify a beneficiary or remitter relationship. |
DUNS | A unique identification number provided by Dun & Bradstreet to identify an organisation. |
EMPL | Number assigned by a registration authority to an employer. |
GS1G | Global Location Number. A non-significant reference number used to identify legal entities, functional entities, or physical entities according to GS1 numbering scheme rules. The number is used to retrieve detailed information that is linked to it. |
SREN | The SIREN number is a 9 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation in France. |
SRET | The SIRET number is a 14 digit code assigned by INSEE, the French National Institute for Statistics and Economic Studies, to identify an organisation unit in France. It consists of the SIREN number, followed by a five digit classification number, to identify the local geographical unit of that entity. |
TXID | Number assigned by a tax authority to identify an organisation. |
CODE | DESCRIPTION |
---|---|
NORM | Normal payment. |
HIGH | Urgent payment. |
EXPR | Extra urgent payment. |
If payment priority is not provided or faulty, default values will be used. For additional information see Payment processing time limits and settlements.
CODE | DESCRIPTION |
---|---|
SLEV | Allowed only for SEPA payments. Shared charges. |
SHAR | Shared charges. |
DEBT | Remitter pays charges. |
If not provided or faulty, default values will be used. For additional information see Payment processing time limits and settlements.