Payment confirmation
The payment confirmation guides you through the process of how to retrieve a list of payment statuses as collections
, then retrieve a payment status item
and finally confirm
that a retrieval of a payment status is successful.
A payment status can originate from your Bank or transition through the TIS proprietary mapping service to enrich its content, providing you with a harmonized status report. You will receive the Bank's original payment status by default. To receive the TIS proprietary payment status, you need to log onto the TIS web portal and click on Administration -> System Integration -> Client System Integration -> scroll down -> click on payment statuses –> and check the Receive TIS payment status box.
1. Collections: retrieve a list of payment statuses
To retrieve a list of your available payment statuses, you need to include the file-format
, e.g. "PAIN_002_001_02" and the client-system-id
associated with your API client as query parameters in the URI.
curl --request GET \
--url 'https://api-mtls.eu-test.tispayments.com:443/rest/api/v1/payment-statuses?client-system-id=<client_system_name>&file-format=<file_format>' \
--header 'accept: application/json'
{
"pageNumber": 1,
"numberOfPages": 5,
"pageSize": 50,
"totalNumberOfElements": 240,
"content": [
{
"fileMetadata": {
"fileId": "112233",
"filename": "file-name",
"fileFormat": "PAIN_002_001_02",
"checksum": "{sha-1}b170b8f6c5d93a1ddb5d32c2df8709bce621e040",
"tenantId": "1234",
"createdOn": "2018-10-18T06:37:35.036"
},
"links": [
"#/components/schemas/FileDownloadLink",
"#/components/schemas/FileDownloadConfirmationLink"
]
}
],
"links": [
{
"rel": "NextPage",
"href": "https://api-mtls.eu.tispayments.com/v1/payment-statuses/108851654546147?client-system-id=101&page-size=10&page-number=2"
}
]
}
2. Item: retrieve a payment status
Now you can use the hateoas link "href"
returned in step 1 to retrieve a singleton payment status by including your client-system-id
as a query. The response returns the payment status in a supported data format, e.g. PAIN_002_001_02.
curl --request GET \
--url 'https://api-mtls.eu-test.tispayments.com:443/rest/api/v1/payment-statuses/<file_ID>?client-system-id=<client_system_name>' \
--header 'accept: application/octet-stream'
<?xml version="1.0" encoding="UTF-8"?>
<Document
xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.02">
<pain.002.001.02>
<GrpHdr>
<MsgId>1706609106889</MsgId>
<CreDtTm>2017-09-28T14:33:26</CreDtTm>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>4B3Z9PZVJZPTC4FVH33L0WBDY32RKR</OrgnlMsgId>
<OrgnlMsgNmId>Other Format</OrgnlMsgNmId>
<OrgnlCreDtTm>2017-09-28T14:33:26</OrgnlCreDtTm>
<OrgnlNbOfTxs>1</OrgnlNbOfTxs>
<GrpSts>RJCT</GrpSts>
</OrgnlGrpInfAndSts>
<TxInfAndSts>
<OrgnlInstrId>IBIRMFFTUMBPQHQ</OrgnlInstrId>
<StsRsnInf>
<StsRsn>
<Prtry>[BGMREF: 6510000051] Deviated Order</Prtry>
</StsRsn>
</StsRsnInf>
<StsRsnInf>
<StsRsn>
<Prtry>er Name is not allowed for the Ord</Prtry>
</StsRsn>
</StsRsnInf>
<StsRsnInf>
<StsRsn>
<Prtry>ering Account. [IDOC Fields :EDKA1</Prtry>
</StsRsn>
</StsRsnInf>
<StsRsnInf>
<StsRsn>
<Prtry>(ZA or AG): NAME1]</Prtry>
</StsRsn>
</StsRsnInf>
<OrgnlTxRef>
<Amt>
<InstdAmt Ccy="EUR">100</InstdAmt>
</Amt>
<Dbtr>
<Nm>German Office</Nm>
<PstlAdr>
<Ctry>DE</Ctry>
<AdrLine>Hauptstr. 1, 12345 Musterstadt</AdrLine>
</PstlAdr>
<CtryOfRes>DE</CtryOfRes>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>FR1420041010050500013M02606</IBAN>
</Id>
<Ccy>EUR</Ccy>
</DbtrAcct>
<Cdtr>
<Nm>Test</Nm>
<PstlAdr>
<Ctry>DE</Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>DE60123123123</IBAN>
</Id>
</CdtrAcct>
</OrgnlTxRef>
</TxInfAndSts>
</pain.002.001.02>
</Document>
3. Confirm: a payment status is retrieved
The final step is to confirm that a payment status is retrieved by your server. This ensures a payment status that is already retrieved, is no longer returned when calling the API.
curl --request DELETE \
--url 'https://api-mtls.eu-test.tispayments.com:443/rest/api/v1/payment-statuses/<<file_ID>>?client-system-id=<client_system_name>' \
--header 'accept: application/json'
204
Payment statuses table
You will be able to retrieve the below payment statuses based on your configuration and ISO XML version PAIN_002_001_03.
Original Bank Payment Status
Status code from incoming PAIN.002 ISO XML file | Payment Status in UI (header/batch level): | Payment Status in UI (item/transaction level): |
---|---|---|
ACCR | Bank response unclear | Bank response unclear |
*any other non-ISO code/unknown status code | Bank response unclear | Bank response unclear |
RCVD | Payment still in process | Item still in process |
PDNG | Payment still in process | Item still in process |
ACCP | Technical Validation by Bank Successful | Technical Validation by Bank Successful |
ACTC | All payments were accepted | Item accepted by bank |
ACSP | All payments were accepted | Item accepted by bank |
ACSC | All payments were accepted | Item accepted by bank |
ACWC | All payments were accepted | Item accepted by bank |
ACPT | All payments were accepted | Item accepted by bank |
PART | Payment was partially accepted | N/A (*in order for the batch to be in status “Payment was partially accepted”, there must be at least one transaction accepted by bank and at least one transaction rejected by bank) |
RJCT | All payments were rejected | Item rejected by bank |
TIS Proprietary Payment Status
Status code from incoming PAIN.002 ISO XML file | Payment Status in UI (header/batch level): | Payment Status in UI (item/transaction level): |
---|---|---|
ACTC | Bank response unclear | Bank response unclear |
PDNG | Payment still in process | Item still in process |
ACCP | All payments were accepted | All payments were accepted |
PART | Payment was partially accepted | N/A (*in order for the batch to be in status “Payment was partially accepted”, there must be at least one transaction accepted by bank and at least one transaction rejected by bank) |
RJCT | All payments were rejected” or “Rejected by Approvers” or “Rejected by Specialist” or “Rejected by Compliance | Item rejected by bank” or “Rejected by Approver” or “Rejected by Specialist” or “Rejected by Compliance” |
Updated 12 months ago