Welcome
This documentation was last updated on Thu Mar 4 12:54:11 GMT 2021 and covers Mambu Payments Gateway Version v1.29.0
Welcome to the Mambu Payments API documentation!
Our Payments API is independent from the existing Mambu API and WebHook infrastructure and allows you to manage payments made via the SEPA scheme.
The purpose of Payment Order capability is to orchestrate the movement of money between an account in Mambu and an account at a third-party financial institution (both domestic as well as international).
The orchestration includes triggering Payment Execution on the user-specified date, debiting / crediting the account in Mambu (i.e. calling transaction API), storing-and-forwarding the credit / debit instruction for settlement in a third party financial institution via the Payment Gateway, that in turn sends it out to Payment Network.
Before using the Payment Gateway you will need to carry out the steps outlined in our payments documentation, this includes setting up an API consumer, transaction channels and configuring your bank identification codes and job schedulers.
AML
If you are using an external service to check payments as part of your Anti Money Laundering obligations, these endpoints receive responses which will lead to unblocking funds and transfering them to the recipient account in the case of an all clear or returning funds to the payer in cases where there a compliance issue has been identified.
processAmlResponse
POST /v1/payments/aml
Accepts AML check results for Payment Orders.
Example Request
amlInformation
{
"groupHeader": {
"messageIdentification": "SCTORD200020190305ORD000011119"
},
"transactions": [
{
"status": "Accepted",
"paymentIdentification": {
"transactionIdentification": "00730100632BHGCRWC"
},
"debtorAgent": {
"institutionIdentification": {
"bicfi": "BTRLRO22"
}
},
"interbankSettlementDate": "2019-06-28T00:00:00.000Z"
}
]
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
X-Request-ID | string | ID of the request, unique to the call, as determined by the initiating party. | header | true |
Idempotency-Key | string | Prevents retried requests to be executed multiple times. Subsequent requests with the same Idempotency Key will not be processed and will return a cached result. | header | false |
body | AmlResult | none | body | false |
Example Responses
400 :
missingMandatoryField
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "groupHeader.messageIdentification",
"text": "groupHeader.messageIdentification may not be null"
}
]
}
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
415 :
unsupportedContentType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | OK - The AML check result has been prepared for processing. | None |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedPaymentResponse |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
415 |
Unsupported Media Type | Unsupported Media Type - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
External Account Representation
These endpoints are used to associate IBANs with Mambu account IDs so that payments made using the Payment Gateway are routed to the correct accounts.
getMapping
GET /v1/accounts/{accountId}/identifications
Gets associations of an external account identification (IBAN or proprietary) to a Mambu Account.
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
accountId | string | none | path | true |
limit | integer(int32) | Limit the number of identifications retrieved. The default limit is 50, can be specified up to 1000. | query | false |
offset | integer(int64) | Offset determines how many records will be skipped before being included in the returned results. The default offset value is 0. | query | false |
Example Responses
200 :
Identification
[
{
"iban": "DE46606951125202071272",
"other": {
"identification": "ABCDE1234F",
"scheme": "PAN"
}
}
]
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | OK - List existing external identifications. | Inline |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedAccountMappingResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
Response Schema
Status Code 200
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
anonymous | [Identification] | [Unique and unambiguous identification for the account.] | false | none |
» iban | string | ISO 13616 International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. | false | none |
» other | Other | Unique identification of an account, as assigned by the account servicer, using other identification scheme. | false | none |
»» identification | string | Identification assigned by an institution. | true | none |
»» scheme | string | Name of the identification scheme. | true | none |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Offset |
undefined | The index of the first returned item. | |
200 | Items-Limit |
undefined | The requested page size. | |
200 | Items-Total |
undefined | The total count of available items. |
createMapping
POST /v1/accounts/{accountId}/identifications
Adds association of an external account identification (IBAN or proprietary) to a Mambu Account. The currency of the association will be the one of the underlining Mambu account. If an IBAN is supposed to be a multi-currency one, this API needs to be invoked multiple times with different Mambu accounts (for the different currencies).
Example Request
createMambuAccountMapping
{
"identification": {
"other": {
"identification": "ABCDE1234F",
"scheme": "PAN"
},
"iban": "DE46606951125202071272"
}
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
accountId | string | none | path | true |
body | CreateAccountMapping | none | body | false |
Example Responses
201 :
accountMappingResponse
{}
400 :
invalidIdentification
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "iban",
"text": "iban size must be between 15 and 34"
},
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "iban",
"text": "iban invalid IBAN value"
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 |
Created | Created - Association successfully created. | AccountMappingResponse |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedAccountMappingResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedAccountMappingResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
createMappings
PUT /v1/accounts/identifications
Create or replace associations of an external account identification (IBAN or proprietary) to a list of Mambu Accounts. The currency of the association will be the one of the underlining Mambu account.
Example Request
createMambuAccountMappings
{
"identification": {
"iban": "DE46606951125202071272"
},
"accountIds": [
"123",
"456",
"789"
]
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
body | CreateAccountMappings | none | body | false |
Example Responses
201 :
accountMappingResponse
{}
400 :
invalidIdentification
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "iban",
"text": "iban size must be between 15 and 34"
},
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "iban",
"text": "iban invalid IBAN value"
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 |
Created | Created - Association successfully created. | AccountMappingResponse |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedAccountMappingResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedAccountMappingResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
searchAccountIdentifications
POST /v1/accounts/identifications:search
Searches identifications (with MambuID included) based on provided filter criteria
Example Request
{
"filterCriteria": [
{
"field": "SCHEME",
"operator": "EQUALS",
"value": "string"
}
]
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
body | AccountIdentificationsSearchRequestDTO | none | body | false |
Example Responses
200 :
AccountIdentificationsSearchResponse
[
{
"accountId": "test123",
"currency": "EUR",
"type": "DEPOSIT",
"identification": {
"iban": "DE46606951125202071272",
"identification": "ABCDE1234F",
"scheme": "PAN"
}
}
]
400 :
invalidSearchFilter
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "searchAccountIdentifications.arg0.filterCriteria[0].field",
"text": "filterCriteria[0].field Should be one of: schema, iban, currency, identification"
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | OK - List of found identifications with accountId | Inline |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedAccountMappingResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedAccountMappingResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
Response Schema
Status Code 200
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
anonymous | [AccountIdentificationsSearchResponseDTO] | none | false | none |
» accountId | string | AccountID (Unique and unambiguous identification for the account.) | true | none |
» currency | string | Account currency | false | none |
» identification | Identification | Unique and unambiguous identification for the account. | true | none |
»» iban | string | ISO 13616 International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. | false | none |
»» other | Other | Unique identification of an account, as assigned by the account servicer, using other identification scheme. | false | none |
»»» identification | string | Identification assigned by an institution. | true | none |
»»» scheme | string | Name of the identification scheme. | true | none |
» type | string | Account type | false | none |
Payments
These endpoints are used for making and receiving payments through the Mambu Payment Gateway.
incomingMessage
POST /v1/payments/incoming
Creates an incoming message request.
Example Request
incomingCreditTransferRequest
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/xml | header | true |
Content-Disposition | string | The name of the file sent in the notification. If missing one will be generated. | header | false |
X-Request-ID | string | ID of the request, unique to the call, as determined by the initiating party. | header | true |
Idempotency-Key | string | Prevents retried requests to be executed multiple times. Subsequent requests with the same Idempotency Key will not be processed and will return a cached result. | header | false |
Example Responses
400 :
invalidValueForField
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"text": "The request body may not be empty"
}
]
}
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
415 :
unsupportedContentType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 |
Accepted | Accepted - Incoming file accepted and is due for processing, when incoming scheduler is configured to run. Outgoing (complete / partial) pacs.002 will be published in case of complete / partial processing of incoming pacs.008. If the incoming pacs.008 is completely failed then a rejected pacs.002 will be published. Outgoing pacs.004 will be published for failed transaction from incoming pacs.008. | None |
400 |
Bad Request | Bad Request - Validation error occurred. | FailedPaymentResponse |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
415 |
Unsupported Media Type | Unsupported Media Type - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
initiatePayment
POST /v1/payments
Creates a payment initiation request.
Example Request
initiatePaymentRequest
{
"debtorAccount": {
"identification": {
"iban": "DE46606951125202071272"
},
"currency": "EUR"
},
"debtorName": "John Doe",
"instructedAmount": {
"currency": "EUR",
"amount": "500"
},
"creditorAccount": {
"identification": {
"iban": "DE16195554277485442959"
},
"currency": "EUR"
},
"creditorAgent": {
"institutionIdentification": {
"bicfi": "DEUTDEFF"
}
},
"creditorName": "Merchant123"
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
X-Request-ID | string | ID of the request, unique to the call, as determined by the initiating party. | header | true |
Idempotency-Key | string | Prevents retried requests to be executed multiple times. Subsequent requests with the same Idempotency Key will not be processed and will return a cached result. | header | false |
body | Payment | none | body | false |
Example Responses
201 :
initiatePaymentResponse
{
"transactionStatus": "RCVD",
"paymentId": "e38458a4-d955-4a39-8e21-9608e9600b3d",
"transactionFeeIndicator": false
}
400 :
missingMandatoryField
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "debtorAccount.identification",
"text": "debtorAccount.identification may not be null"
}
]
}
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
415 :
unsupportedContentType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 |
Created | Created - Payment Initiation request was correctly performed (but not yet accepted) nor executed. | PaymentResponse |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedPaymentResponse |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
415 |
Unsupported Media Type | Unsupported Media Type - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location |
undefined | Location of the created payment order request resource, for future reference or status polling. |
paymentDetails
GET /v1/payments/{paymentId}
Retrieve the payment initiation details.
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
paymentId | string | ID of the payment order id, as received in the Payment Initiation response. | path | true |
detailsLevel | string | Details level of the response. STATUS and FULL detail levels are supported. | query | false |
Example Responses
200 :
paymentStatusDetailsResponse
{
"transactionStatus": "ACSC",
"lastStatusUpdateTimestamp": "2019-03-15T09:34:00.000Z"
}
200 :
paymentFullDetailsResponse
{
"transactionStatus": "ACSC",
"lastStatusUpdateTimestamp": "2019-03-15T09:34:00.000Z",
"paymentIdentification": {
"transactionIdentification": "SCTORD156820190401000000000010"
},
"debtorAccount": {
"identification": {
"iban": "DE46606951125202071272"
},
"currency": "EUR"
},
"debtorName": "John Doe",
"instructedAmount": {
"currency": "EUR",
"amount": "500"
},
"creditorAccount": {
"identification": {
"iban": "DE16195554277485442959"
},
"currency": "EUR"
},
"creditorAgent": {
"institutionIdentification": {
"bicfi": "DEUTDEFF"
}
},
"creditorName": "Merchant123"
}
400 :
missingDetailsForPaymentId
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"path": "paymentId",
"text": "Unable to find payment details for payment 123"
}
]
}
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
406 :
unsupportedAcceptType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | OK - Payment Initiation Details were correctly found. | PaymentDetails |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedPaymentResponse |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
406 |
Not Acceptable | Not Acceptable - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
findSepaMessages
GET /v1/instructions
Retrieve the SEPA messages details
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
network | string | Network for which the instructions should be fetched | query | true |
direction | string | Message Direction: I - Incoming, O - Outgoing |
query | true |
dateFrom | string(date) | Start date from which the messages should be filtered (inclusive) | query | false |
dateTo | string(date) | End date up until which the messages should be filtered (inclusive) | query | false |
messageType | string | Internal representation of message type. Accepted values are pacs.008 and pacs.004 |
query | false |
messageId | string | Message ID, representing the GrpHdr>MsgId field of the message |
query | false |
offset | integer | Offset from which the results should be provided | query | false |
limit | integer | Limit of the number of objects returned by the server | query | false |
Enumerated Values
Parameter | Value |
---|---|
network | SEPA |
direction | I |
direction | O |
Example Responses
200 :
pacs.008 instruction information
{
"instructions": [
{
"FIToFICstmrCdtTrf": {
"grpHdr": {
"msgId": "22b8f938c6154877886a0c1fc9e74166",
"creDtTm": "2019-04-11T06:08:45.000Z",
"nbOfTxs": "2",
"ttlIntrBkSttlmAmt": {
"value": 200,
"ccy": "EUR"
},
"intrBkSttlmDt": "2019-04-10T21:00:00.000Z",
"sttlmInf": {
"clrSys": {
"prtry": "ST2"
}
},
"instgAgt": {
"finInstnId": {
"bic": "ABVRATW1XXX"
}
}
},
"cdtTrfTxInf": [
{
"pmtId": {
"instrId": "82d7125b36014c2e8cc442a3586badd0",
"endToEndId": "NOTPROVIDED",
"txId": "4112f6688c846a89bee2b2c476f1145"
},
"pmtTpInf": {
"svcLvl": {
"cd": "SEPA"
}
},
"intrBkSttlmAmt": {
"value": 100,
"ccy": "EUR"
},
"accptncDtTm": "2019-04-11T06:08:45.000Z",
"chrgBr": "SLEV",
"dbtr": {
"nm": "John Doe"
},
"dbtrAcct": {
"id": {
"iban": "RO59INGBW91QIQFZSG6IZBJT"
}
},
"dbtrAgt": {
"finInstnId": {
"bic": "INGBROBU"
}
},
"cdtrAgt": {
"finInstnId": {
"bic": "BTRLRO22"
}
},
"cdtr": {
"nm": "BT",
"pstlAdr": {
"ctry": "DE"
}
},
"cdtrAcct": {
"id": {
"iban": "RO75BTRLBSIJS00RPQWYLYWL"
}
},
"_metadata": {
"transactionSn": 1,
"transactionStatus": "RECEIVED",
"paymentId": "67eacbf33f1b4eaea8d1055a2a01adea"
}
},
{
"pmtId": {
"instrId": "108cf3f5fd833aa5bc5efb90c0dee19e",
"endToEndId": "NOTPROVIDED",
"txId": "758e663666ae40be8e9278a9e4e899f9"
},
"pmtTpInf": {
"svcLvl": {
"cd": "SEPA"
}
},
"intrBkSttlmAmt": {
"value": 100,
"ccy": "EUR"
},
"accptncDtTm": "2019-04-11T06:08:45.000Z",
"chrgBr": "SLEV",
"dbtr": {
"nm": "John Doe"
},
"dbtrAcct": {
"id": {
"iban": "RO59INGBW91QIQFZSG6IZBJT"
}
},
"dbtrAgt": {
"finInstnId": {
"bic": "INGBROBU"
}
},
"cdtrAgt": {
"finInstnId": {
"bic": "BTRLRO22"
}
},
"cdtr": {
"nm": "BT",
"pstlAdr": {
"ctry": "DE"
}
},
"cdtrAcct": {
"id": {
"iban": "RO94BTRLVU048EN2KBPTVT7U"
}
},
"_metadata": {
"transactionSn": 2,
"transactionStatus": "RECEIVED",
"paymentId": "fcaae256fed94018958326c9cb752aeb"
}
}
],
"_metadata": {
"bulkSn": 1,
"direction": "I",
"messageId": "pacs.008",
"transactions": 2
}
}
}
]
}
200 :
pacs.004 instruction information
{
"instructions": [
{
"PmtRtr": {
"grpHdr": {
"msgId": "1",
"creDtTm": "2018-11-26T19:47:57.000Z",
"nbOfTxs": "1",
"ttlRtrdIntrBkSttlmAmt": {
"value": 4000.5,
"ccy": "EUR"
},
"intrBkSttlmDt": "2018-11-25T22:00:00.000Z",
"sttlmInf": {
"sttlmMtd": "CLRG",
"clrSys": {
"prtry": "ST2"
}
}
},
"txInf": [
{
"rtrId": "2020181126130827322001",
"orgnlGrpInf": {
"orgnlMsgId": "1231231312",
"orgnlMsgNmId": "pacs.008"
},
"orgnlEndToEndId": "10864caa82034bc8a12e4bf3e117d10d",
"orgnlTxId": "8097758122275259",
"rtrdIntrBkSttlmAmt": {
"value": 4000.5,
"ccy": "EUR"
},
"rtrRsnInf": {
"orgtr": {
"id": {
"orgId": {
"bicorBEI": "DABADKKK"
}
}
},
"rsn": {
"cd": "AC_01"
}
},
"orgnlTxRef": {
"intrBkSttlmDt": "2018-11-25T22:00:00.000Z",
"sttlmInf": {
"sttlmMtd": "CLRG"
},
"pmtTpInf": {
"svcLvl": {
"cd": "SEPA"
}
},
"dbtr": {
"nm": "Hanne Doe"
},
"dbtrAcct": {
"id": {
"iban": "DK0643182702662691"
}
},
"dbtrAgt": {
"finInstnId": {
"bic": "DABADKKK"
}
},
"cdtrAgt": {
"finInstnId": {
"bic": "BTRLRO22"
}
},
"cdtr": {
"nm": "John Doe"
},
"cdtrAcct": {
"id": {
"iban": "RO69BTRL3333444433334444"
}
}
},
"_metadata": {
"transactionSn": 14,
"transactionStatus": "RECEIVED",
"returnReason": "AC01",
"paymentId": "22886adc407e4280b7df22a966d08425"
}
}
],
"_metadata": {
"bulkSn": 10,
"direction": "I",
"messageId": "pacs.004",
"procstatus": "REPLIED",
"transactions": 1
}
}
}
]
}
400 :
invalidDirection
{
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"text": "direction invalid value: example_invalid_direction"
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has beenlogged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | OK - SEPA Messages Details were correctly found | SepaMessages |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload | PaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred | PaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Items-Offset |
integer | Pagination details, the index of the first returned item | |
200 | Items-Limit |
integer | Pagination details, the requested page size | |
200 | Items-Total |
integer | Pagination details, the total available items |
SEPA Direct Debit
SEPA Direct Debit Payments are one time or recurring payments made using the Single European Payment Area scheme for transactions made in Euros between accounts at banks within the SEPA area, which includes all EU countries as well as other territories such as Liechtenstein, Switzerland, the United Kingdom, Andorra and Nordic countries.
Mambu supports both the Core SEPA rulebook for indivuduals and the B2B scheme for companies.
createBlockingRule
POST /v1/accounts/{accountId}/blocking-rules
Request a blocking rule to be added to a specific Mambu account.
Example Request
createCeditorMandateBlockingRule
{
"product": "SEPA_DIRECT_DEBIT",
"creditorMandate": {
"mandateRelatedInformation": {
"mandateIdentification": "578798984"
},
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "ID777444887"
}
}
}
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
accountId | string | ID of the Mambu Deposit account. | path | true |
body | CreateBlockingRule | none | body | false |
Example Responses
400 :
productCannotBeBlocked
{
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"path": "product",
"text": "SEPA_CREDIT_TRANSFER cannot be blocked"
}
]
}
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
415 :
unsupportedContentType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 |
Accepted | Accepted - The Blocking Rule has been prepared for processing. | None |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedPaymentResponse |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
415 |
Unsupported Media Type | Unsupported Media Type - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
deleteBlockingRules
DELETE /v1/accounts/{accountId}/blocking-rules
Request deletion of all blocking rules for the specified Mambu account.
Example Request
deleteAllBlockingRules
undefined
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
accountId | string | ID of the Mambu Deposit account. | path | true |
body | DeleteBlockingRule | none | body | false |
Example Responses
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
415 :
unsupportedContentType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 |
Accepted | Accepted - Blocking rules for the specified account have been submitted for deletion. | None |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
415 |
Unsupported Media Type | Unsupported Media Type - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
paymentDetails
GET /v1/collections/{collectionId}
Retrieve the collection initiation details.
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
collectionId | string | ID of the collection order id, as received in the Payment Initiation response. | path | true |
detailsLevel | string | Details level of the response. STATUS and FULL detail levels are supported. | query | false |
Example Responses
200 :
collectionFullDetailsResponse
{
"transactionStatus": "ACSC",
"lastStatusUpdateTimestamp": "2019-03-15T09:34:00.000Z",
"paymentIdentification": {
"transactionIdentification": "SCTORD156820190401000000000010"
},
"debtorAccount": {
"identification": {
"iban": "DE46606951125202071272"
},
"currency": "EUR"
},
"debtorName": "John Doe",
"serviceLevel": "SEPA",
"instructedAmount": {
"currency": "EUR",
"amount": "500"
},
"creditorAccount": {
"identification": {
"iban": "DE16195554277485442959"
},
"currency": "EUR"
},
"creditorAgent": {
"institutionIdentification": {
"bicfi": "DEUTDEFF"
}
},
"creditorName": "Merchant123",
"product": "SEPA_DIRECT_DEBIT",
"direction": "INCOMING",
"mandateRelatedInformation": {
"mandateIdentification": "mandate-id",
"dateOfSignature": "22-03-2020"
},
"paymentTypeInformation": {
"sequenceType": "OOFF"
},
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "pr2432edax132131"
}
}
}
200 :
collectionStatusDetailsResponse
{
"transactionStatus": "ACSC",
"lastStatusUpdateTimestamp": "2019-03-15T09:34:00.000Z"
}
400 :
missingDetailsForCollectionId
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"path": "collectionId",
"text": "Unable to find collection details for collection 123"
}
]
}
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
406 :
unsupportedAcceptType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | OK - Collection Details were correctly found. | CollectionDetails |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedPaymentResponse |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
406 |
Not Acceptable | Not Acceptable - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
initiateCollection
POST /v1/collections
Creates a collection initiation request.
Example Request
initiateCollectionRequest
{
"debtorAccount": {
"identification": {
"iban": "DE46606951125202071272"
},
"currency": "EUR"
},
"debtorName": "John Doe",
"serviceLevel": "SEPA",
"instructedAmount": {
"currency": "EUR",
"amount": "500"
},
"creditorAccount": {
"identification": {
"iban": "DE16195554277485442959"
},
"currency": "EUR"
},
"creditorName": "Merchant123",
"paymentIdentification": {
"transactionIdentification": "113T9bs6ad48ga1216d772430401s01sd2"
},
"requestedExecutionDate": "2020-09-01",
"mandateRelatedInformation": {
"mandateIdentification": "16ead91c975c4881a60c",
"dateOfSignature": "2020-01-31"
},
"paymentTypeInformation": {
"sequenceType": "FRST"
},
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "I48799148795"
}
}
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
X-Request-ID | string | ID of the request, unique to the call, as determined by the initiating party. | header | true |
Idempotency-Key | string | Prevents retried requests to be executed multiple times. Subsequent requests with the same Idempotency Key will not be processed and will return a cached result. | header | false |
body | Collection | none | body | false |
Example Responses
201 :
initiateCollectionResponse
{
"transactionStatus": "RCVD",
"collectionId": "e38458a4-d955-4a39-8e21-9608e9600b3d"
}
400 :
missingMandatoryField
{
"tppMessages": [
{
"category": "ERROR",
"code": "FORMAT_ERROR",
"path": "debtorAccount.identification",
"text": "debtorAccount.identification may not be null"
}
]
}
405 :
unsupportedHttpMethod
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
415 :
unsupportedContentType
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 |
Created | Created - Collection Initiation request was correctly performed (but not yet accepted) nor executed. | CollectionResponse |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | FailedPaymentResponse |
405 |
Method Not Allowed | Method Not Allowed - This code is only sent when the HTTP method (PUT, POST, DELETE, GET etc.) is not supported on a specific endpoint. It has nothing to do with the consent, payment or account information data model. | FailedPaymentResponse |
415 |
Unsupported Media Type | Unsupported Media Type - A media type which the serves does not support has been supplied. | FailedPaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | FailedPaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
201 | Location |
undefined | Location of the created collection order request resource, for future reference or status polling. |
refund
POST /v1/collections/{collectionOrderId}:refund
Refund the Collection Instruction specified by the collectionOrderId
Example Request
{
"reasonCode": "MD01"
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
body | RefundReason | none | body | false |
Example Responses
202 :
undefined
{
"correlationId": "bd6c0135-71fc-4274-ab29-18e20f73d577"
}
400 :
undefined
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "The specified Refund reason code is invalid: ABC"
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 |
Accepted | Accepted - Request to Refund outgoing Direct Debit has been submitted but not yet executed | RequestAccepted |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | PaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | PaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
202 | Location |
string | Streaming API Event Type name where the response will be published. The structure of the response is described in the RefundStatus component of this contract. |
reverse
POST /v1/collections/{collectionOrderId}:reverse
Reverse the Collection Instruction specified by the collectionOrderId
Example Request
{
"reasonCode": "AM05"
}
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/json | header | true |
body | ReverseReason | none | body | false |
Example Responses
400 :
undefined
{
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"text": "value \"MD02\" not supported"
}
]
}
500 :
internalServerError
{
"tppMessages": [
{
"category": "ERROR",
"code": "SERVICE_INVALID",
"text": "There was an error processing your request. It has been logged (ID a449ea6319107e42)."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 |
OK | OK - Collection Instruction marked to be reversed successfully. | None |
400 |
Bad Request | Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. | PaymentResponse |
500 |
Internal Server Error | Internal Server Error - Internal server error occurred. | PaymentResponse |
503 |
Service Unavailable | Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. | None |
Settings
These endpoints allow you to configure settings for the Payment Gateway such as setting callback URLs which will be notified on certain actions.
publishWebhook
POST /v1/gateway-webhook-url
This contract is for the webhook url configured under payment gateway. This will published outgoing SEPA instructions, like pacs.008, pacs.004, pacs.002 etc. via webhook call
Example Request
Parameters
Name | Type | Description | In | Required |
---|---|---|---|---|
Content-Type | string | application/xml | header | true |
Authorization | string | BASIC authentication credentials Base64 encoded, if credentials filled in webhook configuration | header | false |
Message-Type | string | Message namespace URN. For example urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02 |
header | true |
Message-Id | string | Message ID, representing the GrpHdr>MsgId field of the message |
header | true |
body | string(EPC) | SEPA instruction | body | true |
Responses
Status | Meaning | Description | Schema |
---|
Schemas
Account
{
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
}
Beneficiary’s account.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
currency | string | ISO 4217 Alpha 3 currency code. | false | none |
identification | Identification | Unique and unambiguous identification for the account. | true | none |
AccountIdentificationsFilterCriteriaDTO
{
"field": "SCHEME",
"operator": "EQUALS",
"value": "string"
}
Account identification search criteria
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
field | string | Contains the actual searching fields that can be native (one from the provided list) | true | none |
operator | string | EQUALS - checks that 'field' equals to 'value' (strict equals, does not support parts or masks) | true | none |
value | string | The value to match the searching criteria | false | none |
Enumerated Values
Property | Value |
---|---|
field | SCHEME |
field | IBAN |
field | IDENTIFICATION |
operator | EQUALS |
AccountIdentificationsSearchRequestDTO
{
"filterCriteria": [
{
"field": "SCHEME",
"operator": "EQUALS",
"value": "string"
}
]
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
filterCriteria | [AccountIdentificationsFilterCriteriaDTO] | Account identification search criteria | true | none |
AccountIdentificationsSearchResponseDTO
{
"accountId": "string",
"currency": "string",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
},
"type": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
accountId | string | AccountID (Unique and unambiguous identification for the account.) | true | none |
currency | string | Account currency | false | none |
identification | Identification | Unique and unambiguous identification for the account. | true | none |
type | string | Account type | false | none |
AccountInternalIdentification
{
"currency": "string",
"id": "string",
"type": "DEPOSIT"
}
Mambu Accounts corresponding to the current IBAN / proprietary identification
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
currency | string | none | false | none |
id | string | none | false | none |
type | string | none | false | none |
Enumerated Values
Property | Value |
---|---|
type | DEPOSIT |
type | LOAN |
AccountMappingResponse
{
"internalAccounts": [
{
"currency": "string",
"id": "string",
"type": "DEPOSIT"
}
],
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
]
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
internalAccounts | [AccountInternalIdentification] | Mambu Accounts corresponding to the current IBAN / proprietary identification | false | none |
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | false | none |
Address-PG
{
"buildingNumber": "string",
"city": "string",
"countryCode": "st",
"postalCode": "string",
"street": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
buildingNumber | string | none | false | none |
city | string | none | false | none |
countryCode | string | Two characters as defined by ISO 3166. | true | none |
postalCode | string | none | false | none |
street | string | none | false | none |
Agent
{
"institutionIdentification": {
"bicfi": "stringst"
}
}
Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
institutionIdentification | InstitutionIdentification | Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised identification scheme. | true | none |
AmlPaymentIdentification
{
"transactionIdentification": "string"
}
Payment instruction reference.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
transactionIdentification | string | Unique identification as assigned by the initiating party to be used as transaction identifier. | true | none |
AmlResult
{
"groupHeader": {
"messageIdentification": "string"
},
"transactions": [
{
"debtorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"interbankSettlementDate": "stringstri",
"paymentIdentification": {
"transactionIdentification": "string"
},
"status": "ACCEPTED"
}
]
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
groupHeader | GroupHeader | GroupHeader information from the original instruction. | true | none |
transactions | [AmlTransactionResult] | List of AML result checks, one per Payment Order. | true | none |
AmlTransactionResult
{
"debtorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"interbankSettlementDate": "stringstri",
"paymentIdentification": {
"transactionIdentification": "string"
},
"status": "ACCEPTED"
}
List of AML result checks, one per Payment Order.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
debtorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | true | none |
interbankSettlementDate | string | InterbankSettlementDate from the original instruction. | true | none |
paymentIdentification | AmlPaymentIdentification | Payment instruction reference. | true | none |
status | string | Actual status of the AML investigation. Only ACCEPTED, SUSPENDED or REJECTED are allowed. |
true | none |
Enumerated Values
Property | Value |
---|---|
status | ACCEPTED |
status | SUSPENDED |
status | REJECTED |
Amount
{
"amount": "string",
"currency": "str"
}
Transaction currency and amount.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
amount | string | The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot. | true | none |
currency | string | ISO 4217 Alpha 3 currency code. | true | none |
Collection
{
"creditorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAddress": {
"buildingNumber": "string",
"city": "string",
"countryCode": "st",
"postalCode": "string",
"street": "string"
},
"creditorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"creditorName": "string",
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "ABC123"
}
},
"debtorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAddress": {
"buildingNumber": "string",
"city": "string",
"countryCode": "st",
"postalCode": "string",
"street": "string"
},
"debtorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"debtorName": "string",
"instructedAmount": {
"amount": "string",
"currency": "str"
},
"mandateRelatedInformation": {
"dateOfSignature": "string",
"mandateIdentification": "string"
},
"paymentIdentification": {
"endToEndIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"sequenceType": "string"
},
"purposeCode": "stri",
"remittanceInformationStructured": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
},
"remittanceInformationUnstructured": "string",
"requestedExecutionDate": "stringstri",
"requestedExecutionTime": "stringstringstrin",
"serviceLevel": "string",
"ultimateCreditor": "string",
"ultimateDebtor": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
creditorAccount | Account | Beneficiary’s account. | true | none |
creditorAddress | Address-PG | none | false | none |
creditorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
creditorName | string | The Party whose account is credited with the payment. | true | none |
creditorSchemeIdentification | CreditorSchemeIdentification | Credit party that signs the mandate. | true | none |
debtorAccount | Account | Beneficiary’s account. | true | none |
debtorAddress | Address-PG | none | false | none |
debtorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
debtorName | string | none | true | none |
instructedAmount | Amount | Transaction currency and amount. | true | none |
mandateRelatedInformation | Mandate | Set of elements used to provide further details of the direct debit mandate signed between the creditor and the debtor. | true | none |
paymentIdentification | PaymentIdentification | Payment instruction reference. | false | none |
paymentTypeInformation | PaymentTypeInformation | Set of elements used to further specify the type of transaction. | true | none |
purposeCode | string | The PurposeCode value or a similar explanation is not added to the payer’s Electronic account statement. This value can be shown on both the payers and the beneficiary’s on the Camt.053 account statement. | false | none |
remittanceInformationStructured | Remittance | Payment details. Structured message, one entry (max 140 characters XML tags and data included). Alternatives for structured remittance information, see examples: - Reference number (note: facility to use ISO 11649, International standard of Reference information) |
false | none |
remittanceInformationUnstructured | string | Payment details. Free text, one occurrence (max 140 characters). Payment reason (according to current recurrent payment standard) can be given in this element. |
false | none |
requestedExecutionDate | string | Debit date given by the customer. A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. | false | none |
requestedExecutionTime | string | Debit date given by the customer. A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ) or local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm). These representations are aligned with ISO 8601. | false | none |
serviceLevel | string | Agreement under which or rules under which the transaction should be processed. Only SEPA is allowed. | false | none |
ultimateCreditor | string | Party which is the ultimate beneficiary of the payment. For example, the payment can be credited to an account of a financing company, with the ultimate beneficiary being the customer of the financing company. | false | none |
ultimateDebtor | string | The Party that originally ordered goods or services and to whom the seller has sent the invoice. Ultimate Debtor can be used when the acceptor of the invoice is different than the payer. | false | none |
CollectionDetails
{
"creditorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAddress": {
"addressLine1": "string",
"addressLine2": "string",
"buildingNumber": "string",
"city": "string",
"countryCode": "string",
"postalCode": "string",
"street": "string"
},
"creditorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"creditorName": "string",
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "ABC123"
}
},
"debtorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAddress": {
"addressLine1": "string",
"addressLine2": "string",
"buildingNumber": "string",
"city": "string",
"countryCode": "string",
"postalCode": "string",
"street": "string"
},
"debtorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"debtorName": "string",
"direction": "string",
"instructedAmount": {
"amount": "string",
"currency": "str"
},
"lastStatusUpdateTimestamp": "2019-08-24T14:15:22Z",
"mandateRelatedInformation": {
"dateOfSignature": "string",
"mandateIdentification": "string"
},
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"paymentTypeInformation": {
"sequenceType": "string"
},
"product": "SEPA_CREDIT_TRANSFER",
"purposeCode": "string",
"remittanceInformationStructured": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
},
"remittanceInformationUnstructured": "string",
"requestedExecutionDate": "string",
"requestedExecutionTime": "string",
"serviceLevel": "string",
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
],
"transactionStatus": "string",
"ultimateCreditor": "string",
"ultimateDebtor": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
creditorAccount | Account | Beneficiary’s account. | false | none |
creditorAddress | FullDetailsAddress | none | false | none |
creditorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
creditorName | string | The Party whose account is credited with the payment. | false | none |
creditorSchemeIdentification | CreditorSchemeIdentification | Credit party that signs the mandate. | false | none |
debtorAccount | Account | Beneficiary’s account. | false | none |
debtorAddress | FullDetailsAddress | none | false | none |
debtorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
debtorName | string | none | false | none |
direction | string | Payment direction, as inferred based on current Payment Product, Debtor and Creditor Agents | false | none |
instructedAmount | Amount | Transaction currency and amount. | false | none |
lastStatusUpdateTimestamp | string(date-time) | Timestamp when the transaction status was last updated, expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ). The representation is aligned with ISO 8601. | false | none |
mandateRelatedInformation | Mandate | Set of elements used to provide further details of the direct debit mandate signed between the creditor and the debtor. | false | none |
paymentIdentification | FullPaymentIdentification | Payment instruction reference. | false | none |
paymentTypeInformation | PaymentTypeInformation | Set of elements used to further specify the type of transaction. | false | none |
product | string | Payment Product type | false | none |
purposeCode | string | The PurposeCode value or a similar explanation is not added to the payer’s Electronic account statement. This value can be shown on both the payers and the beneficiary’s on the Camt.053 account statement. | false | none |
remittanceInformationStructured | Remittance | Payment details. Structured message, one entry (max 140 characters XML tags and data included). Alternatives for structured remittance information, see examples: - Reference number (note: facility to use ISO 11649, International standard of Reference information) |
false | none |
remittanceInformationUnstructured | string | Payment details. Free text, one occurrence (max 140 characters). Payment reason (according to current recurrent payment standard) can be given in this element. |
false | none |
requestedExecutionDate | string | Debit date given by the customer. A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. | false | none |
requestedExecutionTime | string | Debit date given by the customer. A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ) or local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm). These representations are aligned with ISO 8601. | false | none |
serviceLevel | string | none | false | none |
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | false | none |
transactionStatus | string | none | true | none |
ultimateCreditor | string | Party which is the ultimate beneficiary of the payment. For example, the payment can be credited to an account of a financing company, with the ultimate beneficiary being the customer of the financing company. | false | none |
ultimateDebtor | string | The Party that originally ordered goods or services and to whom the seller has sent the invoice. Ultimate Debtor can be used when the acceptor of the invoice is different than the payer. | false | none |
Enumerated Values
Property | Value |
---|---|
product | SEPA_CREDIT_TRANSFER |
product | SEPA_DIRECT_DEBIT |
CollectionResponse
{
"collectionId": "string",
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
],
"transactionFeeIndicator": true,
"transactionStatus": "ACSC"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
collectionId | string | Resource identification of the generated payment initiation resource. | true | none |
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | false | none |
transactionFeeIndicator | boolean | If equals "true", the transaction will involve transaction cost. | false | none |
transactionStatus | string | PSD2 transaction status codes:
|
true | none |
Enumerated Values
Property | Value |
---|---|
transactionStatus | ACSC |
transactionStatus | ACSP |
transactionStatus | ACTC |
transactionStatus | RCVD |
transactionStatus | PDNG |
transactionStatus | RJCT |
CreateAccountMapping
{
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
identification | Identification | Unique and unambiguous identification for the account. | true | none |
CreateAccountMappings
{
"accountIds": [
"string"
],
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
accountIds | [string] | IDs of the Mambu Accounts which will be correlated to the IBAN or proprietary identification. The association will be made on account currency. | true | none |
identification | Identification | Unique and unambiguous identification for the account. | true | none |
CreateBlockingRule
{
"creditorMandate": {
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "ABC123"
}
},
"mandateRelatedInformation": {
"mandateIdentification": "string"
}
},
"product": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
creditorMandate | CreditorMandate | Collection mandate identification for blocking rule deletion | false | none |
product | string | Payment Product to which this rule applies. For now, blocking rules can be applied to SEPA_DIRECT_DEBIT only | true | none |
CreditTransferTransactionInformation
{
"_metadata": {
"paymentId": "string",
"returnReason": "string",
"transactionSn": 0,
"transactionStatus": "string"
},
"additionalProperties": null
}
Provides information on the individual transaction(s) included in the message
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
_metadata | SepaInstructionMetadata | Instruction-level metadata of a SEPA instruction | false | none |
additionalProperties | any | cdtTrfTxInf information included in the message, as provided by the originator | false | none |
CreditorMandate
{
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "ABC123"
}
},
"mandateRelatedInformation": {
"mandateIdentification": "string"
}
}
Collection mandate identification for blocking rule deletion
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
creditorSchemeIdentification | CreditorSchemeIdentification | Credit party that signs the mandate. | true | none |
mandateRelatedInformation | MandateRelatedInformation | none | true | none |
CreditorSchemeIdentification
{
"identification": {
"privateIdentification": "ABC123"
}
}
Credit party that signs the mandate.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
identification | object | Object containing the identifier. | true | none |
» privateIdentification | string | Unique and unambiguous identification of a person, eg, passport. | true | none |
DeleteBlockingRule
{
"creditorMandate": {
"creditorSchemeIdentification": {
"identification": {
"privateIdentification": "ABC123"
}
},
"mandateRelatedInformation": {
"mandateIdentification": "string"
}
},
"product": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
creditorMandate | CreditorMandate | Collection mandate identification for blocking rule deletion | false | none |
product | string | Payment Product for blocking rule deletion | true | none |
FIToFICstmrCdtTrf
{
"_metadata": {
"bulkSn": 0,
"direction": "string",
"procstatus": "string",
"transactions": 0
},
"cdtTrfTxInf": [
{
"_metadata": {
"paymentId": "string",
"returnReason": "string",
"transactionSn": 0,
"transactionStatus": "string"
},
"additionalProperties": null
}
],
"grpHdr": {}
}
FI to FI Customer Credit Transfer
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
_metadata | SepaMessageMetadata | Message-level metadata of the current SEPA message | false | none |
cdtTrfTxInf | [CreditTransferTransactionInformation] | [Provides information on the individual transaction(s) included in the message] | false | none |
grpHdr | object | Set of characteristics shared by all individual transactions included in the message, as provided by the originator | false | none |
FailedAccountMappingResponse
{
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
]
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | true | none |
FailedPaymentResponse
{
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
]
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | true | none |
FullDetailsAddress
{
"addressLine1": "string",
"addressLine2": "string",
"buildingNumber": "string",
"city": "string",
"countryCode": "string",
"postalCode": "string",
"street": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
addressLine1 | string | none | false | none |
addressLine2 | string | none | false | none |
buildingNumber | string | none | false | none |
city | string | none | false | none |
countryCode | string | none | false | none |
postalCode | string | none | false | none |
street | string | none | false | none |
FullPaymentIdentification
{
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
}
Payment instruction reference.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
endToEndIdentification | string | Unique identification assigned by the payer to identify the transaction. This identification will be returned to the payer and passed on to the beneficiary. | false | none |
instructionIdentification | string | Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. | false | none |
transactionIdentification | string | Unique identification as assigned by the initiating party to be used as transaction identifier. If left empty, Mambu transaction id will be used. | false | none |
GroupHeader
{
"messageIdentification": "string"
}
GroupHeader information from the original instruction.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
messageIdentification | string | Message Identification from the original instruction. | true | none |
Identification
{
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
Unique and unambiguous identification for the account.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
iban | string | ISO 13616 International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. | false | none |
other | Other | Unique identification of an account, as assigned by the account servicer, using other identification scheme. | false | none |
IncomingPaymentResponse
{
"messageId": "string",
"messageType": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
messageId | string | Resource identification of the incoming message | true | none |
messageType | string | URN namespace of the incoming message | true | none |
InstitutionIdentification
{
"bicfi": "stringst"
}
Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised identification scheme.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
bicfi | string | ISO 9362 Business identifier code (BIC) - code allocated to a financial institution. | true | none |
Mandate
{
"dateOfSignature": "string",
"mandateIdentification": "string"
}
Set of elements used to provide further details of the direct debit mandate signed between the creditor and the debtor.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
dateOfSignature | string | Date on which the direct debit mandate has been signed by the debtor. | true | none |
mandateIdentification | string | Unique identification, as assigned by the creditor, to unambiguously identify the mandate. | true | none |
MandateRelatedInformation
{
"mandateIdentification": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
mandateIdentification | string | Unique identification, as assigned by the creditor, to unambiguously identify the collection mandate. | true | none |
Message
{
"_metadata": {
"bulkSn": 0,
"direction": "string",
"procstatus": "string",
"transactions": 0
},
"cdtTrfTxInf": [
{
"_metadata": {
"paymentId": "string",
"returnReason": "string",
"transactionSn": 0,
"transactionStatus": "string"
},
"additionalProperties": null
}
],
"grpHdr": {}
}
List of SEPA instructions.
Properties
anyOf
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
anonymous | FIToFICstmrCdtTrf | FI to FI Customer Credit Transfer | false | none |
or
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
anonymous | PmtRtr | Payment Return | false | none |
Other
{
"identification": "string",
"scheme": "string"
}
Unique identification of an account, as assigned by the account servicer, using other identification scheme.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
identification | string | Identification assigned by an institution. | true | none |
scheme | string | Name of the identification scheme. | true | none |
Payment
{
"creditorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAddress": null,
"creditorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"creditorName": "string",
"debtorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"debtorName": "string",
"instructedAmount": {
"amount": "string",
"currency": "str"
},
"paymentIdentification": {
"endToEndIdentification": "string",
"transactionIdentification": "string"
},
"purposeCode": "stri",
"remittanceInformationStructured": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
},
"remittanceInformationUnstructured": "string",
"requestedExecutionDate": "stringstri",
"requestedExecutionTime": "stringstringstrin",
"ultimateCreditor": "string",
"ultimateDebtor": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
creditorAccount | Account | Beneficiary’s account. | true | none |
creditorAddress | Address | none | false | none |
creditorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
creditorName | string | The Party whose account is credited with the payment. | true | none |
debtorAccount | Account | Beneficiary’s account. | true | none |
debtorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
debtorName | string | none | true | none |
instructedAmount | Amount | Transaction currency and amount. | true | none |
paymentIdentification | PaymentIdentification | Payment instruction reference. | false | none |
purposeCode | string | The PurposeCode value or a similar explanation is not added to the payer’s Electronic account statement. This value can be shown on both the payers and the beneficiary’s on the Camt.053 account statement. | false | none |
remittanceInformationStructured | Remittance | Payment details. Structured message, one entry (max 140 characters XML tags and data included). Alternatives for structured remittance information, see examples: - Reference number (note: facility to use ISO 11649, International standard of Reference information) |
false | none |
remittanceInformationUnstructured | string | Payment details. Free text, one occurrence (max 140 characters). Payment reason (according to current recurrent payment standard) can be given in this element. |
false | none |
requestedExecutionDate | string | Debit date given by the customer. A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. | false | none |
requestedExecutionTime | string | Debit date given by the customer. A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ) or local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm). These representations are aligned with ISO 8601. | false | none |
ultimateCreditor | string | Party which is the ultimate beneficiary of the payment. For example, the payment can be credited to an account of a financing company, with the ultimate beneficiary being the customer of the financing company. | false | none |
ultimateDebtor | string | The Party that originally ordered goods or services and to whom the seller has sent the invoice. Ultimate Debtor can be used when the acceptor of the invoice is different than the payer. | false | none |
PaymentDetails
{
"creditorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"creditorAddress": null,
"creditorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"creditorName": "string",
"debtorAccount": {
"currency": "str",
"identification": {
"iban": "stringstringstr",
"other": {
"identification": "string",
"scheme": "string"
}
}
},
"debtorAgent": {
"institutionIdentification": {
"bicfi": "stringst"
}
},
"debtorName": "string",
"instructedAmount": {
"amount": "string",
"currency": "str"
},
"lastStatusUpdateTimestamp": "2019-08-24T14:15:22Z",
"paymentIdentification": {
"endToEndIdentification": "string",
"instructionIdentification": "string",
"transactionIdentification": "string"
},
"purposeCode": "string",
"remittanceInformationStructured": {
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
},
"remittanceInformationUnstructured": "string",
"requestedExecutionDate": "string",
"requestedExecutionTime": "string",
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
],
"transactionStatus": "string",
"ultimateCreditor": "string",
"ultimateDebtor": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
creditorAccount | Account | Beneficiary’s account. | false | none |
creditorAddress | Address | none | false | none |
creditorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
creditorName | string | The Party whose account is credited with the payment. | false | none |
debtorAccount | Account | Beneficiary’s account. | false | none |
debtorAgent | Agent | Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. | false | none |
debtorName | string | none | false | none |
instructedAmount | Amount | Transaction currency and amount. | false | none |
lastStatusUpdateTimestamp | string(date-time) | Timestamp when the transaction status was last updated, expressed in UTC time format (YYYY-MM-DDThh:mm:ss.sssZ). The representation is aligned with ISO 8601. | false | none |
paymentIdentification | FullPaymentIdentification | Payment instruction reference. | false | none |
purposeCode | string | The PurposeCode value or a similar explanation is not added to the payer’s Electronic account statement. This value can be shown on both the payers and the beneficiary’s on the Camt.053 account statement. | false | none |
remittanceInformationStructured | Remittance | Payment details. Structured message, one entry (max 140 characters XML tags and data included). Alternatives for structured remittance information, see examples: - Reference number (note: facility to use ISO 11649, International standard of Reference information) |
false | none |
remittanceInformationUnstructured | string | Payment details. Free text, one occurrence (max 140 characters). Payment reason (according to current recurrent payment standard) can be given in this element. |
false | none |
requestedExecutionDate | string | Debit date given by the customer. A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. | false | none |
requestedExecutionTime | string | Debit date given by the customer. A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ) or local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm). These representations are aligned with ISO 8601. | false | none |
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | false | none |
transactionStatus | string | none | true | none |
ultimateCreditor | string | Party which is the ultimate beneficiary of the payment. For example, the payment can be credited to an account of a financing company, with the ultimate beneficiary being the customer of the financing company. | false | none |
ultimateDebtor | string | The Party that originally ordered goods or services and to whom the seller has sent the invoice. Ultimate Debtor can be used when the acceptor of the invoice is different than the payer. | false | none |
PaymentIdentification
{
"endToEndIdentification": "string",
"transactionIdentification": "string"
}
Payment instruction reference.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
endToEndIdentification | string | Unique identification assigned by the payer to identify the transaction. This identification will be returned to the payer and passed on to the beneficiary. | false | none |
transactionIdentification | string | Unique identification as assigned by the initiating party to be used as transaction identifier. If left empty, Mambu transaction id will be used. | false | none |
PaymentResponse
{
"paymentId": "string",
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
],
"transactionFeeIndicator": true,
"transactionStatus": "ACSC"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
paymentId | string | Resource identification of the generated payment initiation resource. | true | none |
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | false | none |
transactionFeeIndicator | boolean | If equals "true", the transaction will involve transaction cost. | false | none |
transactionStatus | string | PSD2 transaction status codes:
|
true | none |
Enumerated Values
Property | Value |
---|---|
transactionStatus | ACSC |
transactionStatus | ACSP |
transactionStatus | ACTC |
transactionStatus | RCVD |
transactionStatus | PDNG |
transactionStatus | RJCT |
PaymentTransactionInformation
{
"_metadata": {
"paymentId": "string",
"returnReason": "string",
"transactionSn": 0,
"transactionStatus": "string"
},
"additionalProperties": null
}
Provides information on the individual transaction(s) included in the message
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
_metadata | SepaInstructionMetadata | Instruction-level metadata of a SEPA instruction | false | none |
additionalProperties | any | txInf information included in the message, as provided by the originator | false | none |
PaymentTypeInformation
{
"sequenceType": "string"
}
Set of elements used to further specify the type of transaction.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
sequenceType | string | Identifies the direct debit sequence, such as first, recurrent, final or one-off (FRST, RCUR, FNAL, OOFF). | true | none |
PmtRtr
{
"_metadata": {
"bulkSn": 0,
"direction": "string",
"procstatus": "string",
"transactions": 0
},
"grpHdr": {},
"txInf": [
{
"_metadata": {
"paymentId": "string",
"returnReason": "string",
"transactionSn": 0,
"transactionStatus": "string"
},
"additionalProperties": null
}
]
}
Payment Return
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
_metadata | SepaMessageMetadata | Message-level metadata of the current SEPA message | false | none |
grpHdr | object | Set of characteristics shared by all individual transactions included in the message, as provided by the originator | false | none |
txInf | [PaymentTransactionInformation] | [Provides information on the individual transaction(s) included in the message] | false | none |
RefundReason
{
"reasonCode": "MD01"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
reasonCode | string | Reason for an interbank Refund, as defined in the SEPA guideline. MD01 - No Mandate, MD06 - Return of funds requested by end customer. |
true | none |
Enumerated Values
Property | Value |
---|---|
reasonCode | MD01 |
reasonCode | MD06 |
RefundStatus
{
"correlationId": "string",
"status": "SUCCESS",
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
]
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
correlationId | string | ID used to correlate between a request and its asynchronous response | true | none |
status | string | Status of the Refund processing. SUCCESS if the refund was properly processed and published towards ACH, FAILURE otherwise | true | none |
tppMessages | [TPPMessage] | Messages to the TPP on operational issues. | false | none |
Enumerated Values
Property | Value |
---|---|
status | SUCCESS |
status | FAILURE |
Remittance
{
"reference": "string",
"referenceIssuer": "string",
"referenceType": "string"
}
Payment details. Structured message, one entry (max 140 characters XML tags and data included). Alternatives for structured remittance information, see examples:
- Reference number (note: facility to use ISO 11649, International standard of Reference information)
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
reference | string | The actual reference. | true | none |
referenceIssuer | string | none | false | none |
referenceType | string | none | false | none |
RequestAccepted
{
"correlationId": "string"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
correlationId | string | ID used to correlate between a request and its asynchronous response | true | none |
ReverseReason
{
"reasonCode": "AM05"
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
reasonCode | string | Reason for an interbank Reverse, as defined in the SEPA guideline | true | none |
Enumerated Values
Property | Value |
---|---|
reasonCode | AM05 |
reasonCode | MS02 |
reasonCode | MS03 |
SepaInstructionMetadata
{
"paymentId": "string",
"returnReason": "string",
"transactionSn": 0,
"transactionStatus": "string"
}
Instruction-level metadata of a SEPA instruction
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
paymentId | string | Resource identification of the generated payment initiation resource for the undelining instruction. Four outgoing messages this will contain the value of paymentId field returned in the Payment Initiation API. For incoming messages, this field will be populated once the message is picked up by the incoming scheduler. For incoming pacs.008 will contain an internal identification for the incoming payment order, for incoming pacs.004 the original payment order which is returned. | false | none |
returnReason | string | Reason code for which this transaction was returned | false | none |
transactionSn | integer | Instruction ID, as assigned by the Payment Gateway | false | none |
transactionStatus | string | Status of the current transaction | false | none |
SepaMessageMetadata
{
"bulkSn": 0,
"direction": "string",
"procstatus": "string",
"transactions": 0
}
Message-level metadata of the current SEPA message
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
bulkSn | integer | Bulk ID of the SEPA message, as assigned by the Payment Gateway | false | none |
direction | string | Direction of the SEPA message. I (incoming) or O (outgoing) | false | none |
procstatus | string | Processing status of the SEPA message | false | none |
transactions | integer | Number of transactions in the SEPA message | false | none |
SepaMessages
{
"instructions": [
{
"_metadata": {
"bulkSn": 0,
"direction": "string",
"procstatus": "string",
"transactions": 0
},
"cdtTrfTxInf": [
{
"_metadata": {
"paymentId": "string",
"returnReason": "string",
"transactionSn": 0,
"transactionStatus": "string"
},
"additionalProperties": null
}
],
"grpHdr": {}
}
],
"tppMessages": [
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
]
}
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
instructions | [Message] | List of SEPA instructions | false | none |
tppMessages | [TPPMessage] | Messages to the TPP on operational issues | false | none |
TPPMessage
{
"category": "ERROR",
"code": "PARAMETER_NOT_SUPPORTED",
"errorCode": "string",
"errorReason": "string",
"path": "string",
"text": "string"
}
Messages to the TPP on operational issues.
Properties
Name | Type | Description | Required | Restrictions |
---|---|---|---|---|
category | string | Category designates the message severity. | true | none |
code | string | Message error codes:
|
true | none |
errorCode | string | Payment error code. Gives a more detailed analysis of any problems which may have occurred during the payment processing. | false | none |
errorReason | string | Payment error reason. Gives a more detailed analysis of any problems which may have occurred during the payment processing. | false | none |
path | string | none | false | none |
text | string | Additional explaining text. | false | none |
Enumerated Values
Property | Value |
---|---|
category | ERROR |
category | WARN |
code | PARAMETER_NOT_SUPPORTED |
code | FORMAT_ERROR |
code | SERVICE_INVALID |
code | PAYMENT_FAILED |