NAV Navigation
HTTP cURL JavaScript PHP Ruby Python Java Go

Welcome

This documentation was last updated on Wed Oct 22 12:30:21 UTC 2025 and covers Version v1.44.2

Welcome to the Mambu Payments API Reference documentation.

Our Payments API allows you to process payments made via the Single Euro Payments Area (SEPA) payments scheme. It is independent from the existing Mambu API and webhook infrastructure.

For more information about the Payments capability and the Mambu Payment Gateway, see Payments Introduction in our User Guide.

About the Mambu Payments API

The Payments API allows you 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, using SEPA-compliant messages for interchange.

The orchestration includes triggering payment execution on the user-specified date, debiting or crediting the account in Mambu, and storing-and-forwarding the credit or debit instruction for settlement in a third party financial institution via the Mambu Payment Gateway. The Mambu Payment Gateway in turn sends it out to Payment Network.

Before using the Mambu 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.

Base URLs

The base URL for requests to the Payments API is found below:

https://TENANT_NAME.mambu.com/api/v1

You may also use the sandbox environment for testing. The sandbox environment is generally one version ahead of the production environment. The base URL for your sandbox environment is:

https://TENANT_NAME.sandbox.mambu.com/api/v1

HTTP verbs

Standard HTTP verbs are used to indicate the API request method.

Verb Function
GET To retrieve a resource or a collection of resources
POST To create a resource
PATCH To modify an existing resource
PUT To replace an existing resource
DELETE To delete a resource

Open API Specification

Use this link to access the latest Open API Specification.

This documentation is automatically generated from an OpenAPI Specification (OAS).

This OAS file can also be used to quickly scaffold client SDKs, in various languages, for interacting with our APIs using a number of tools, including the online Swagger Editor.

You can access the latest version of this specification using the link provided.

Using the API

Authentication

To access the Payments API, you must create an API consumer that has the Manage Payments (MANAGE_PAYMENTS) permission assigned to it and create API keys using this API consumer.

API keys inherit the scope of access settings from the API consumer that creates them. You must authenticate every request to the Payments API using an API key in the request header.

You may create and manage API consumers and keys either through the Mambu UI or using the API Consumers endpoint provided by Mambu API v2. For more information, see API Consumers in our User Guide.

> Example authenticated request using cURL
curl  --request GET 'https://TENANT_NAME.mambu.com/api/v1/collections/d45a34ed341321bca4d89e42452dc074' \
--header 'apikey: i9TCzwUBwyTVQrfPEAhk0oEpOUCt0O2M'

Content types

Depending on the endpoint, the Payments API will accept one of two content types: JSON and XML. The format should be specified in the Content-Type header with either the value application/json or application/xml. Check the parameters table for each request for the required value for the Content-Type header.

For certain requests, including some POST requests, there is no need to supply a request body. For these requests, the Content-Type header can be omitted.

Idempotency

Many POST requests take an optional Idempotency-Key header. The value of this header should be a randomly generated string, unique to the request. We recommend using a UUID generator or library to create idempotency keys in the UUID v4 format. The following example shows a typical UUID: c2f53453-439c-4efa-9e27-58877160638b.

Using an idempotency key helps avoid duplicate requests. When an idempotent request is processed, the status code and body of the response is associated with the idempotency key and stored in a cache. If the request is duplicated for any reason, the duplicate request is not processed, and the response is re-sent to the client.

Incoming and outgoing messages

The Payments API is designed to handle messages coming from external sources such as clearing houses or other financial institutions, as well as to send XML-formatted payment instructions to your own clearing and settlement provider.

Incoming messages

For handling by the Payments API, all incoming messages must be routed to the /payments/incoming endpoint.

This endpoint accepts XML and responds with an HTTP status of 202 accepted, indicating that the message has been received and will be processed. The response includes a messageId, which can be used to later identify the transaction. For example, it can be used with getPaymentDetails or getCollectionDetails API requests to retrieve payment details and the current status of the transaction.

In case of any incoming message errors, the endpoint responds with a 4xx status code and an array of messages giving details on the errors encountered. Errors can range from invalid content type to individual fields within the message not conforming to the payment scheme specification. Errors will be reported using the TPPMessage model, and should be handled by your service.

Outgoing messages

Example outgoing message

Content-Type: application/xml
Authorization: BASIC AuThKey==
Message-Type: urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02
Message-Id: SCTORD156820211213000000012649

<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02">
  <FIToFICstmrCdtTrf>
  ...
  </FIToFICstmrCdtTrf>
</Document>

When you create payments or inquiries, the Mambu Payment Gateway generates the appropriate ISO 20022 XML message and schedules it to be sent to the webhook callout URL configured in the Mambu Payment Gateway UI. See the callout configuration section of the Mambu Payment Gateway system properties article in our User Guide for more information on configuring your callout URL, including authentication options.

Outgoing messages are XML formatted messages conforming to the ISO 20022 specification - specifically, the subset supported by the SEPA payment scheme. The Message-Type header includes the type of message sent, such as pacs.008.001.02 for a SEPA credit transfer or camt.056.001.01 for cancellation of a payment.

Parameters

Name Type Description In Required
Content-Type string The encoding of the content in the body of the request. This will always be application/xml Header true
Authentication string BASIC authentication credentials. Base64 encoded representation of the credentials provided in webhook configuration in the Mambu Payment Gateway settings 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 XML The actual, generated XML message. The content of the message will, depending on the source, include data provided in an API request, data from another payment or collection instruction, or a combination of both. Visit our User Guide for examples of selected messages or refer to the European Payments Council document library for more comprehensive descriptions of the message types supported by the SEPA payment scheme. body true

Default

initiateCreditTransfer

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Request-ID: string' \
  -H 'Idempotency-Key: string'

POST https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
X-Request-ID: string
Idempotency-Key: string

const inputBody = '{
  "categoryPurposeCode": "stri",
  "creditor": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtor": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "instructedAgent": {
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "intermediaryAgent1": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "intermediaryAgent2": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "intermediaryAgent3": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "paymentIdentification": {
    "endToEndIdentification": "string",
    "transactionIdentification": "string",
    "uetr": "stringstringstringstringstringstring"
  },
  "purposeCode": "stri",
  "remittanceInformationStructured": {
    "reference": "string",
    "referenceIssuer": "string",
    "referenceType": "string"
  },
  "remittanceInformationUnstructured": "string",
  "requestedExecutionDate": "stringstri",
  "settlementInformation": {
    "clearingSystem": "string",
    "settlementAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "settlementMethod": "string"
  },
  "ultimateCreditor": "string",
  "ultimateDebtor": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'X-Request-ID':'string',
  'Idempotency-Key':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'X-Request-ID' => 'string',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'X-Request-ID': 'string',
  'Idempotency-Key': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'X-Request-ID' => 'string',
    'Idempotency-Key' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "X-Request-ID": []string{"string"},
        "Idempotency-Key": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/payments/financial-institution-credit-transfers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /payments/financial-institution-credit-transfers

Example Request

{
  "categoryPurposeCode": "stri",
  "creditor": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtor": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "instructedAgent": {
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "intermediaryAgent1": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "intermediaryAgent2": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "intermediaryAgent3": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "paymentIdentification": {
    "endToEndIdentification": "string",
    "transactionIdentification": "string",
    "uetr": "stringstringstringstringstringstring"
  },
  "purposeCode": "stri",
  "remittanceInformationStructured": {
    "reference": "string",
    "referenceIssuer": "string",
    "referenceType": "string"
  },
  "remittanceInformationUnstructured": "string",
  "requestedExecutionDate": "stringstri",
  "settlementInformation": {
    "clearingSystem": "string",
    "settlementAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "settlementMethod": "string"
  },
  "ultimateCreditor": "string",
  "ultimateDebtor": "string"
}

Parameters

Name Type Description In
X-Request-ID (required) string ID of the request, unique to the call, as determined by the initiating party. header
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
body FinancialInstitutionPaymentDTO none body

Example Responses

Responses

Status Meaning Description Schema
default Default default response None

Response Schema

External Account Representation

The External Account Representation (EAR) endpoints are used to associate IBANs with Mambu account IDs so that payments made using the Mambu Payment Gateway are routed to the correct accounts.

An IBAN can be mapped to multiple accounts but can only be associated to one account per currency, so, for example, the same IBAN can be mapped to one underlying Mambu account using EUR, another using GBP and another using CHF, but not to two accounts both in EUR denomination.

getMapping

Code samples

# You can also use wget
curl -X GET https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

GET https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications HTTP/1.1
Host: payments.dev.mambucloud.com
Accept: application/json
Content-Type: string


const headers = {
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.get 'https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.get('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications', headers = headers)

print(r.json())

 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /accounts/{accountId}/identifications

Gets associations of an external account identification (IBAN or proprietary) to a Mambu Account.

Parameters

Name Type Description In
Content-Type (required) string application/json header
accountId (required) string none path
limit integer(int32) Limit the number of identifications retrieved. The default limit is 50, can be specified up to 1000. query
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

Example Responses

200 :
Identification

[
  {
    "iban": "DE46606951125202071272"
  },
  {
    "currency": "USD"
  },
  {
    "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. TppMessagesResponse
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 Restrictions
anonymous [Identification] [Identification] none
» currency string ISO 4217 Alpha 3 currency code. none
» iban string ISO 13616 International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. none
» other Other Unique identification of an account, as assigned by the account servicer, using other identification scheme. none
»» identification (required) string Identification assigned by an institution. none
»» scheme (required) string Name of the identification scheme. 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

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

POST https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string

const inputBody = '{
  "identification": {
    "other": {
      "identification": "ABCDE1234F",
      "scheme": "PAN"
    },
    "iban": "DE46606951125202071272",
    "currency": "USD"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/identifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /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",
    "currency": "USD"
  }
}

Parameters

Name Type Description In
Content-Type (required) string application/json header
accountId (required) string none path
body CreateAccountMapping none body

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. TppMessagesResponse
500 Internal Server Error Internal Server Error - Internal server error occurred. TppMessagesResponse
503 Service Unavailable Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. None

createMappings

Code samples

# You can also use wget
curl -X PUT https://payments.dev.mambucloud.com/api/v1/accounts/identifications \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

PUT https://payments.dev.mambucloud.com/api/v1/accounts/identifications HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string

const inputBody = '{
  "identification": {
    "iban": "DE46606951125202071272"
  },
  "accountIds": [
    "123",
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/accounts/identifications',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.put 'https://payments.dev.mambucloud.com/api/v1/accounts/identifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.put('https://payments.dev.mambucloud.com/api/v1/accounts/identifications', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PUT','https://payments.dev.mambucloud.com/api/v1/accounts/identifications', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/accounts/identifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://payments.dev.mambucloud.com/api/v1/accounts/identifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /accounts/identifications

Create or replace associations of an external account identification (IBAN or proprietary) to one of Mambu Accounts. The currency of the association will be the one of the underlining Mambu account.

Example Request

createMambuAccountMappings

"{\n  \"identification\": {\n    \"iban\": \"DE46606951125202071272\"\n  },\n  \"accountIds\": [\n    \"123\",\n  ]\n}"

Parameters

Name Type Description In
Content-Type (required) string application/json header
body CreateAccountMappings none body

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. TppMessagesResponse
500 Internal Server Error Internal Server Error - Internal server error occurred. TppMessagesResponse
503 Service Unavailable Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. None

searchAccountIdentifications

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

POST https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string

const inputBody = '{
  "filterCriteria": [
    {
      "field": "SCHEME",
      "operator": "EQUALS",
      "value": "string"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/accounts/identifications:search", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /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
Content-Type (required) string application/json header
body AccountIdentificationsSearchRequestDTO none body

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. TppMessagesResponse
500 Internal Server Error Internal Server Error - Internal server error occurred. TppMessagesResponse
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 Restrictions
anonymous [AccountIdentificationsSearchResponseDTO] none none
» accountId (required) string AccountID (Unique and unambiguous identification for the account.) none
» currency string Account currency none
» identification (required) Identification Identification none
»» currency string ISO 4217 Alpha 3 currency code. none
»» iban string ISO 13616 International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. none
»» other Other Unique identification of an account, as assigned by the account servicer, using other identification scheme. none
»»» identification (required) string Identification assigned by an institution. none
»»» scheme (required) string Name of the identification scheme. none
» type string Account type none

logArgument

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/log \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://payments.dev.mambucloud.com/api/v1/log HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "log": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://payments.dev.mambucloud.com/api/v1/log',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/log',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/log', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/log', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/log");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/log", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /log

Example Request

{
  "log": "string"
}

Parameters

Name Type Description In
body (required) LogRequest none body

Example Responses

Responses

Status Meaning Description Schema
default Default default response None

Response Schema

SEPA Credit Transfers

These endpoints are used for making and receiving SEPA credit transfers through the Mambu Payment Gateway.

For more information on supported messages, flows and technical information, including examples of generated XML messages and how the fields map to these API requests, please refer to the SEPA Credit Transfer section of our User Guide.

initiateCreditTransfer_1

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Request-ID: string' \
  -H 'Idempotency-Key: string'

POST https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
X-Request-ID: string
Idempotency-Key: string

const inputBody = '{
  "categoryPurposeCode": "stri",
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "creditorName": "string",
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "debtorName": "string",
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "localInstrument": "string",
  "paymentIdentification": {
    "endToEndIdentification": "string",
    "transactionIdentification": "string",
    "uetr": "stringstringstringstringstringstring"
  },
  "purposeCode": "stri",
  "remittanceInformationStructured": {
    "reference": "string",
    "referenceIssuer": "string",
    "referenceType": "string"
  },
  "remittanceInformationUnstructured": "string",
  "requestedExecutionDate": "stringstri",
  "requestedExecutionTime": "stringstringstrin",
  "scheme": "string",
  "serviceLevel": "string",
  "settlementInformation": {
    "clearingSystem": "string",
    "settlementAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "settlementMethod": "string"
  },
  "ultimateCreditor": "string",
  "ultimateDebtor": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'X-Request-ID':'string',
  'Idempotency-Key':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'X-Request-ID' => 'string',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'X-Request-ID': 'string',
  'Idempotency-Key': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'X-Request-ID' => 'string',
    'Idempotency-Key' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "X-Request-ID": []string{"string"},
        "Idempotency-Key": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/payments/credit-transfers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /payments/credit-transfers

Example Request

{
  "categoryPurposeCode": "stri",
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "creditorName": "string",
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "debtorName": "string",
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "localInstrument": "string",
  "paymentIdentification": {
    "endToEndIdentification": "string",
    "transactionIdentification": "string",
    "uetr": "stringstringstringstringstringstring"
  },
  "purposeCode": "stri",
  "remittanceInformationStructured": {
    "reference": "string",
    "referenceIssuer": "string",
    "referenceType": "string"
  },
  "remittanceInformationUnstructured": "string",
  "requestedExecutionDate": "stringstri",
  "requestedExecutionTime": "stringstringstrin",
  "scheme": "string",
  "serviceLevel": "string",
  "settlementInformation": {
    "clearingSystem": "string",
    "settlementAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "settlementMethod": "string"
  },
  "ultimateCreditor": "string",
  "ultimateDebtor": "string"
}

Parameters

Name Type Description In
X-Request-ID (required) string ID of the request, unique to the call, as determined by the initiating party. header
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
body Iso20022PaymentDTO none body

Example Responses

Responses

Status Meaning Description Schema
default Default default response None

Response Schema

initiatePayment

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/payments \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string' \
  -H 'X-Request-ID: string' \
  -H 'Idempotency-Key: string'

POST https://payments.dev.mambucloud.com/api/v1/payments HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string
X-Request-ID: string
Idempotency-Key: string

const inputBody = '{
  "debtorAccount": {
    "identification": {
      "iban": "DE46606951125202071272"
    },
    "currency": "EUR"
  },
  "debtorName": "John Doe",
  "debtorAddress": {
    "street": "Karl-Liebknecht-Str. 5",
    "buildingNumber": "5234",
    "city": "Berlin",
    "postalCode": "10178",
    "countryCode": "DE"
  },
  "serviceLevel": "SEPA",
  "instructedAmount": {
    "currency": "EUR",
    "amount": "500"
  },
  "creditorAccount": {
    "identification": {
      "iban": "DE16195554277485442959"
    },
    "currency": "EUR"
  },
  "creditorAgent": {
    "institutionIdentification": {
      "bicfi": "DEUTDEFF"
    }
  },
  "creditorName": "Merchant123",
  "creditorAddress": {
    "street": "Am Olympiapark 1",
    "buildingNumber": "1",
    "city": "Munchen",
    "postalCode": "80809",
    "countryCode": "DE"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string',
  'X-Request-ID':'string',
  'Idempotency-Key':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string',
  'X-Request-ID' => 'string',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/payments',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string',
  'X-Request-ID': 'string',
  'Idempotency-Key': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/payments', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
    'X-Request-ID' => 'string',
    'Idempotency-Key' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/payments', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
        "X-Request-ID": []string{"string"},
        "Idempotency-Key": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/payments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /payments

Creates a payment initiation request. Payments using the SEPA Credit Transfer scheme can only be created for the current date. A pacs.008 message will be generated from the data provided in this request. For more information on how these fields map to SEPA XML messages, refer to the SEPA Credit Transfer Techincal Information article in our user guide.

Example Request

initiatePaymentRequest

{
  "debtorAccount": {
    "identification": {
      "iban": "DE46606951125202071272"
    },
    "currency": "EUR"
  },
  "debtorName": "John Doe",
  "debtorAddress": {
    "street": "Karl-Liebknecht-Str. 5",
    "buildingNumber": "5234",
    "city": "Berlin",
    "postalCode": "10178",
    "countryCode": "DE"
  },
  "serviceLevel": "SEPA",
  "instructedAmount": {
    "currency": "EUR",
    "amount": "500"
  },
  "creditorAccount": {
    "identification": {
      "iban": "DE16195554277485442959"
    },
    "currency": "EUR"
  },
  "creditorAgent": {
    "institutionIdentification": {
      "bicfi": "DEUTDEFF"
    }
  },
  "creditorName": "Merchant123",
  "creditorAddress": {
    "street": "Am Olympiapark 1",
    "buildingNumber": "1",
    "city": "Munchen",
    "postalCode": "80809",
    "countryCode": "DE"
  }
}

Parameters

Name Type Description In
Content-Type (required) string application/json header
X-Request-ID (required) string ID of the request, unique to the call, as determined by the initiating party. header
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
body InitiationPaymentDTO none body

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 by 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.

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 individuals and the B2B scheme for companies. For more information on supported messages, flows and technical information, please refer to the SEPA Direct Debit section of our user guide.

createBlockingRule

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

POST https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string

const inputBody = '{
  "product": "SEPA_DIRECT_DEBIT"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /accounts/{accountId}/blocking-rules

Request a blocking rule to be added to a specific Mambu account. When a blocking rule has been added for a specific mandate ID, collection requests for that mandate will be rejected and a pacs.002 message sent as response with reason code MS02. If no specific mandate ID is provided, all direct debit collection requests for the given account will be rejected. For more information on blocking SEPA Direct Debits, consult the Blocking SEPA Direct Debits article in our user guide.

Example Request

createProductBlockingRule

{
  "product": "SEPA_DIRECT_DEBIT"
}

Parameters

Name Type Description In
Content-Type (required) string application/json header
accountId (required) string ID of the Mambu Deposit account. path
body CreateBlockingRule none body

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 by a specific endpoint. It has nothing to do with the content, 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

Code samples

# You can also use wget
curl -X DELETE https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

DELETE https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string

const inputBody = 'undefined';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules',
{
  method: 'DELETE',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.delete 'https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.delete('https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://payments.dev.mambucloud.com/api/v1/accounts/{accountId}/blocking-rules", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /accounts/{accountId}/blocking-rules

Request deletion of blocking rules for the specified Mambu account. If no request body is provided, all rules for the account will be removed, if you provide a JSON body with a specific mandate ID, only the rule for that mandate will be removed. For more information on blocking SEPA Direct Debits, consult the Blocking SEPA Direct Debits article in our user guide.

Example Request

deleteAllBlockingRules

undefined

Parameters

Name Type Description In
Content-Type (required) string application/json header
accountId (required) string ID of the Mambu Deposit account. path
body DeleteBlockingRule none body

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 by 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

initiateCollection

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/collections \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string' \
  -H 'X-Request-ID: string' \
  -H 'Idempotency-Key: string'

POST https://payments.dev.mambucloud.com/api/v1/collections HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string
X-Request-ID: string
Idempotency-Key: string

const inputBody = '{
  "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"
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string',
  'X-Request-ID':'string',
  'Idempotency-Key':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/collections',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string',
  'X-Request-ID' => 'string',
  'Idempotency-Key' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/collections',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string',
  'X-Request-ID': 'string',
  'Idempotency-Key': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/collections', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
    'X-Request-ID' => 'string',
    'Idempotency-Key' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/collections', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/collections");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
        "X-Request-ID": []string{"string"},
        "Idempotency-Key": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/collections", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /collections

Creates a collection initiation request. This covers the flows as described in the SEPA Direct Debit section of our user guide.

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
Content-Type (required) string application/json header
X-Request-ID (required) string ID of the request, unique to the call, as determined by the initiating party. header
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
body CollectionDTO none body

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 content, 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.

Standing Order

getExecutionsByStandingOrderId

Code samples

# You can also use wget
curl -X GET https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions \
  -H 'Accept: application/json' \
  -H 'Content-Type: string' \
  -H 'ApiKey: string'

GET https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions HTTP/1.1
Host: payments.dev.mambucloud.com
Accept: application/json
Content-Type: string
ApiKey: string


const headers = {
  'Accept':'application/json',
  'Content-Type':'string',
  'ApiKey':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Content-Type' => 'string',
  'ApiKey' => 'string'
}

result = RestClient.get 'https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Content-Type': 'string',
  'ApiKey': 'string'
}

r = requests.get('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions', headers = headers)

print(r.json())

 'application/json',
    'Content-Type' => 'string',
    'ApiKey' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
        "ApiKey": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}/executions", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /payments/standing-orders/{id}/executions

Get executions of standing order

Parameters

Name Type Description In
Content-Type (required) string application/json header
ApiKey (required) string ApiKey header that is used for authentication header
id (required) string none path

Example Responses

200 :
StandingOrderExecutionResponse

[
  {
    "standingOrderId": "standing-order-id-qwerty",
    "paymentOrderId": "paymentorderid54",
    "requestedExecuteOn": "2023-01-26T15:51:27",
    "status": "FAILED",
    "creationDate": "2023-01-26T15:52:27.865848Z",
    "type": "RETRY",
    "failReason": "INSUFFICIENT_FUNDS"
  }
]

Responses

Status Meaning Description Schema
200 OK OK - Standing orders executions retrieval was successful. StandingOrderExecutionResponse

getStandingOrderDetails

Code samples

# You can also use wget
curl -X GET https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id} \
  -H 'Accept: application/json'

GET https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id} HTTP/1.1
Host: payments.dev.mambucloud.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}', headers = headers)

print(r.json())

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /payments/standing-orders/{id}

Gets Standing order information

Parameters

Name Type Description In
id (required) string none path

Example Responses

200 :
standingOrderGetResponse

{
  "id": "9726992c-bda4-4867-9264-f9168337d0ec",
  "payment": {
    "scheme": "SEPA",
    "instructedAmount": {
      "currency": "EUR",
      "amount": "500"
    },
    "debtorAccount": {
      "identification": {
        "iban": "DE87200500001234567890"
      },
      "currency": "EUR"
    },
    "creditorAccount": {
      "identification": {
        "other": {
          "identification": "1234",
          "scheme": "PAN"
        }
      },
      "currency": "EUR"
    },
    "creditorName": "CreditorName",
    "debtorName": "DebtorName",
    "remittanceInformationUnstructured": "Remittance Info"
  },
  "startDate": "2022-11-10",
  "frequency": "DAILY",
  "endDate": "2023-11-10",
  "creationDateTime": "2022-11-09T21:41:29+02:00",
  "status": "ACTIVE",
  "lastExecution": "2022-11-17",
  "nextExecution": "2022-11-18",
  "paymentsCount": 2,
  "ownerId": "some-owner-id",
  "retryCount": 3,
  "suspendDateFrom": null,
  "suspendDateTo": null
}

404 :
standingOrderNotFound

{
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "RESOURCE_UNKNOWN",
      "text": "Unable to find Standing order with id: 9726992c-bda4-4867-9264-f9168337d0ec."
    }
  ]
}

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 - Returns Standing order item. StandingOrderGetResponse
404 Not Found Not found - cannot find the requested resource. TppMessagesResponse
500 Internal Server Error Internal Server Error - Internal server error occurred. TppMessagesResponse
503 Service Unavailable Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. None

cancelStandingOrder

Code samples

# You can also use wget
curl -X DELETE https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id} \
  -H 'Accept: application/json'

DELETE https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id} HTTP/1.1
Host: payments.dev.mambucloud.com
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.delete 'https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.delete('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}', headers = headers)

print(r.json())

 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://payments.dev.mambucloud.com/api/v1/payments/standing-orders/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /payments/standing-orders/{id}

Cancel Standing order

Parameters

Name Type Description In
id (required) string none path

Example Responses

404 :
standingOrderNotFound

{
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "RESOURCE_UNKNOWN",
      "text": "Unable to find Standing order with id: 9726992c-bda4-4867-9264-f9168337d0ec."
    }
  ]
}

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
204 No Content Standing order canceled. None
404 Not Found Not found - cannot find the requested resource. TppMessagesResponse
500 Internal Server Error Internal Server Error - Internal server error occurred. TppMessagesResponse
503 Service Unavailable Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. None

createStandingOrder

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/payments/standing-orders \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

POST https://payments.dev.mambucloud.com/api/v1/payments/standing-orders HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string

const inputBody = '{
  "payment": {
    "scheme": "SEPA",
    "instructedAmount": {
      "currency": "EUR",
      "amount": "500"
    },
    "debtorAccount": {
      "identification": {
        "iban": "DE87200500001234567890"
      },
      "currency": "EUR"
    },
    "creditorAccount": {
      "identification": {
        "other": {
          "identification": "1234",
          "scheme": "PAN"
        }
      },
      "currency": "EUR"
    },
    "creditorName": "CreditorName",
    "debtorName": "DebtorName",
    "remittanceInformationUnstructured": "Remittance Info"
  },
  "startDate": [
    2022,
    11,
    8
  ],
  "frequency": "DAILY",
  "endDate": [
    2022,
    11,
    8
  ],
  "ownerId": "some-owner-id", 
  "retryPolicy": {
“ +    "retryCount": "3"
  }
}
';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/payments/standing-orders',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/payments/standing-orders', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/standing-orders");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/payments/standing-orders", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /payments/standing-orders

API creates standing orders. Standing order creation will trigger periodic payments for provided frequency from start date until the end date.

Example Request

createStandingOrder

"{\n  \"payment\": {\n    \"scheme\": \"SEPA\",\n    \"instructedAmount\": {\n      \"currency\": \"EUR\",\n      \"amount\": \"500\"\n    },\n    \"debtorAccount\": {\n      \"identification\": {\n        \"iban\": \"DE87200500001234567890\"\n      },\n      \"currency\": \"EUR\"\n    },\n    \"creditorAccount\": {\n      \"identification\": {\n        \"other\": {\n          \"identification\": \"1234\",\n          \"scheme\": \"PAN\"\n        }\n      },\n      \"currency\": \"EUR\"\n    },\n    \"creditorName\": \"CreditorName\",\n    \"debtorName\": \"DebtorName\",\n    \"remittanceInformationUnstructured\": \"Remittance Info\"\n  },\n  \"startDate\": [\n    2022,\n    11,\n    8\n  ],\n  \"frequency\": \"DAILY\",\n  \"endDate\": [\n    2022,\n    11,\n    8\n  ],\n  \"ownerId\": \"some-owner-id\", \n  \"retryPolicy\": {\n“ +    \"retryCount\": \"3\"\n  }\n}\n"

Parameters

Name Type Description In
Content-Type (required) string application/json header
body StandingOrderDTO none body

Example Responses

201 :
standingOrderCreateResponse

{
  "id": "9726992c-bda4-4867-9264-f9168337d0ec"
}

400 :
invalidStandingOrderRequest

{
  "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 - Standing order successfully created. StandingOrderCreateResponse
400 Bad Request Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. TppMessagesResponse
500 Internal Server Error Internal Server Error - Internal server error occurred. TppMessagesResponse
503 Service Unavailable Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. None

searchStandingOrders

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string' \
  -H 'ApiKey: string'

POST https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string
ApiKey: string

const inputBody = '{
   "filterCriteria": [
       {
       "field": "OWNER_ID",
       "operator": "EQUALS",
       "value": "string"
       }
       {
       "field": "STATUS",
       "operator": "EQUALS",
       "value": "string"
       }
   ],
  "limit": 500,
  "offset": 0
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string',
  'ApiKey':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string',
  'ApiKey' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string',
  'ApiKey': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
    'ApiKey' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
        "ApiKey": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:search", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /payments/standing-orders:search

Search for standing orders by search filters such as ownerId

Example Request

standingOrderSearchRequest

"{\n   \"filterCriteria\": [\n       {\n       \"field\": \"OWNER_ID\",\n       \"operator\": \"EQUALS\",\n       \"value\": \"string\"\n       }\n       {\n       \"field\": \"STATUS\",\n       \"operator\": \"EQUALS\",\n       \"value\": \"string\"\n       }\n   ],\n  \"limit\": 500,\n  \"offset\": 0\n}"

Parameters

Name Type Description In
Content-Type (required) string application/json header
ApiKey (required) string ApiKey header that is used for authentication header
body StandingOrderSearchRequest none body

Example Responses

200 :
StandingOrderSearchResponse

[
  {
    "ownerId": "some_kind_of_id_from_client",
    "id": "9726992c-bda4-4867-9264-f9168337d0ec",
    "payment": {
      "scheme": "SEPA",
      "instructedAmount": {
        "currency": "EUR",
        "amount": "500"
      },
      "debtorAccount": {
        "identification": {
          "iban": "DE87200500001234567890"
        },
        "currency": "EUR"
      },
      "creditorAccount": {
        "identification": {
          "other": {
            "identification": "1234",
            "scheme": "PAN"
          }
        },
        "currency": "EUR"
      },
      "creditorName": "CreditorName",
      "debtorName": "DebtorName",
      "remittanceInformationUnstructured": "Remittance Info"
    },
    "startDate": "2022-11-10",
    "frequency": "DAILY",
    "endDate": "2023-11-10",
    "creationDateTime": "2022-11-09T21:41:29+02:00",
    "status": "ACTIVE"
  },
  {
    "ownerId": "some_kind_of_id_from_client",
    "id": "9726992c-bda4-4867-9264-13245679fe",
    "payment": {
      "scheme": "SEPA",
      "instructedAmount": {
        "currency": "EUR",
        "amount": "100"
      },
      "debtorAccount": {
        "identification": {
          "iban": "DE87200500001234567890"
        },
        "currency": "EUR"
      },
      "creditorAccount": {
        "identification": {
          "other": {
            "identification": "1234",
            "scheme": "PAN"
          }
        },
        "currency": "EUR"
      },
      "creditorName": "CreditorName",
      "debtorName": "DebtorName",
      "remittanceInformationUnstructured": "Remittance Info"
    },
    "startDate": "2022-11-10",
    "frequency": "DAILY",
    "endDate": "2023-11-10",
    "creationDateTime": "2022-11-09T21:41:29+02:00",
    "status": "ACTIVE",
    "suspendDateFrom": null,
    "suspendDateTo": null
  }
]

Responses

Status Meaning Description Schema
200 OK OK - Standing orders search was successful. StandingOrderSearchResponse

suspendStandingOrder

Code samples

# You can also use wget
curl -X POST https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Content-Type: string'

POST https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend HTTP/1.1
Host: payments.dev.mambucloud.com
Content-Type: application/json
Accept: application/json
Content-Type: string

const inputBody = '{
  "id": "9726992c-bda4-4867-9264-f9168337d0ec",
  "startDate": [
    2022,
    11,
    8
  ],
  "endDate": [
    2022,
    11,
    9
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Content-Type':'string'
};

fetch('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Content-Type' => 'string'
}

result = RestClient.post 'https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Content-Type': 'string'
}

r = requests.post('https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'Content-Type' => 'string',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Content-Type": []string{"string"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://payments.dev.mambucloud.com/api/v1/payments/standing-orders:suspend", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /payments/standing-orders:suspend

API suspends standing order for a particular period of time.

Example Request

suspendStandingOrder

{
  "id": "9726992c-bda4-4867-9264-f9168337d0ec",
  "startDate": [
    2022,
    11,
    8
  ],
  "endDate": [
    2022,
    11,
    9
  ]
}

Parameters

Name Type Description In
Content-Type (required) string application/json header
body StandingOrderSuspendDTO none body

Example Responses

400 :
invalidStandingOrderSuspendRequest

{
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "FORMAT_ERROR",
      "path": "id",
      "text": "id must not be null"
    },
    {
      "category": "ERROR",
      "code": "FORMAT_ERROR",
      "path": "endDate",
      "text": "endDate must not be null"
    }
  ]
}

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 - Standing order successfully suspended. None
400 Bad Request Bad Request - Validation error occurred. This code will cover malformed syntax in request or incorrect data in payload. TppMessagesResponse
500 Internal Server Error Internal Server Error - Internal server error occurred. TppMessagesResponse
503 Service Unavailable Service Unavailable - The server is currently unavailable. Generally, this is a temporary state. None

Schemas

AccountDTO

{
  "currency": "str",
  "identification": {
    "iban": "stringstringstr",
    "other": {
      "identification": "string",
      "scheme": "string"
    }
  }
}

Settlement account used when settlement method is INDA/INGA.

Properties

Name Type Description Restrictions
currency string ISO 4217 Alpha 3 currency code. none
identification (required) IdentificationDTO Unique and unambiguous identification for the account. none

AccountIdentificationsFilterCriteriaDTO

{
  "field": "SCHEME",
  "operator": "EQUALS",
  "value": "string"
}

Account identification search criteria

Properties

Name Type Description Restrictions
field (required) string Contains the actual searching fields that can be native (one from the provided list) none
operator (required) string EQUALS - checks that 'field' equals to 'value' (strict equals, does not support parts or masks) none
value string The value to match the searching criteria none

Enumerated Values

Property Value
field SCHEME
field IBAN
field IDENTIFICATION
operator EQUALS
operator IN
operator BETWEEN
operator GREATER_THAN
operator LESS_THAN

AccountIdentificationsSearchRequestDTO

{
  "filterCriteria": [
    {
      "field": "SCHEME",
      "operator": "EQUALS",
      "value": "string"
    }
  ]
}

Properties

Name Type Description Restrictions
filterCriteria (required) [AccountIdentificationsFilterCriteriaDTO] Account identification search criteria none

AccountIdentificationsSearchResponseDTO

{
  "accountId": "string",
  "currency": "string",
  "identification": {
    "currency": "str",
    "iban": "stringstringstr",
    "other": {
      "identification": "string",
      "scheme": "string"
    }
  },
  "type": "string"
}

Properties

Name Type Description Restrictions
accountId (required) string AccountID (Unique and unambiguous identification for the account.) none
currency string Account currency none
identification (required) Identification Identification none
type string Account type none

AccountInternalIdentification

{
  "currency": "string",
  "id": "string",
  "type": "DEPOSIT"
}

Mambu Accounts corresponding to the current IBAN / proprietary identification

Properties

Name Type Description Restrictions
currency string none none
id string none none
type string none none

Enumerated Values

Property Value
type DEPOSIT
type LOAN

AccountMappingResponse

{
  "internalAccounts": [
    {
      "currency": "string",
      "id": "string",
      "type": "DEPOSIT"
    }
  ],
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION",
      "path": "string",
      "text": "string"
    }
  ]
}

Properties

Name Type Description Restrictions
internalAccounts [AccountInternalIdentification] Mambu Accounts corresponding to the current IBAN / proprietary identification none
tppMessages [TPPMessage] Messages to the TPP on operational issues. none

AddressDTO

{
  "buildingNumber": "string",
  "city": "string",
  "countryCode": "st",
  "postalCode": "string",
  "street": "string"
}

Properties

Name Type Description Restrictions
buildingNumber string The building or street number of the address. Must not exceed 16 characters. none
city string The city of the address. Must not exceed 35 characters. none
countryCode (required) string Two characters as defined by ISO 3166. For example DE for Germany, TZ for Tanzania. none
postalCode string The postal code of the address. Must not exceed 16 characters. none
street string The street name of the adress. Must not exceed 70 characters. none

AgentDTO

{
  "institutionIdentification": {
    "bicfi": "stringst"
  }
}

Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s).

Properties

Name Type Description Restrictions
institutionIdentification (required) InstitutionIdentificationDTO Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised identification scheme. none

AgentWithAccountDTO

{
  "account": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "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 Restrictions
account AccountDTO Settlement account used when settlement method is INDA/INGA. none
institutionIdentification (required) InstitutionIdentificationDTO Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised identification scheme. none

AmendmentInformationDetailsDTO

{
  "originalCreditorSchemeIdentification": {
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    },
    "name": "string"
  },
  "originalDebtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "originalDebtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "originalMandateIdentification": "string"
}

List of mandate elements that have been modified.

Properties

Name Type Description Restrictions
originalCreditorSchemeIdentification OriginalCreditorSchemeIdentificationDTO Original creditor scheme identification that has been modified. none
originalDebtorAccount AccountDTO Settlement account used when settlement method is INDA/INGA. none
originalDebtorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
originalMandateIdentification string Unique identification, as assigned by the creditor, to unambiguously identify the original mandate. Must not exceed 35 characters. none

AmountDTO

{
  "amount": "string",
  "currency": "str"
}

Properties

Name Type Description Restrictions
amount (required) string The amount given with fractional digits, where fractions must be compliant to the currency definition. Negative amounts are signed by minus. The decimal separator is a dot. none
currency (required) string ISO 4217 Alpha 3 currency code. none

CollectionDTO

{
  "categoryPurposeCode": "stri",
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "creditorName": "string",
  "creditorSchemeIdentification": {
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "debtorName": "string",
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "localInstrument": "string",
  "mandateRelatedInformation": {
    "amendmentInformationDetails": {
      "originalCreditorSchemeIdentification": {
        "identification": {
          "iban": "stringstringstr",
          "other": {
            "identification": "string",
            "scheme": "string"
          }
        },
        "name": "string"
      },
      "originalDebtorAccount": {
        "currency": "str",
        "identification": {
          "iban": "stringstringstr",
          "other": {
            "identification": "string",
            "scheme": "string"
          }
        }
      },
      "originalDebtorAgent": {
        "account": {
          "currency": "str",
          "identification": {
            "iban": "stringstringstr",
            "other": {
              "identification": "string",
              "scheme": "string"
            }
          }
        },
        "institutionIdentification": {
          "bicfi": "stringst"
        }
      },
      "originalMandateIdentification": "string"
    },
    "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 Restrictions
categoryPurposeCode string Specifies the high level purpose of the payment based on a set of pre-defined categories. none
creditorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
creditorAddress AddressDTO none none
creditorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
creditorIdentification PartyIdentificationDTO Beneficiary’s identification. none
creditorName (required) string The Party whose account is credited with the payment. Must not exceed 70 characters. none
creditorSchemeIdentification (required) CreditorSchemeIdentificationDTO Credit party that signs the mandate. none
debtorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
debtorAddress AddressDTO none none
debtorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
debtorIdentification PartyIdentificationDTO Beneficiary’s identification. none
debtorName (required) string The full name of the debtor. Must not exceed 70 characters. none
instructedAmount (required) AmountDTO none none
localInstrument string User community specific instrument. Used to specify a local instrument, local clearing option and/or further qualify the service or service level. For example, whether a Direct Debit uses the business to customer CORE, business to business B2B ruleset or whether a Credit Transfer is of type Instant INST. none
mandateRelatedInformation (required) MandateDTO Set of elements used to provide further details of the direct debit mandate signed between the creditor and the debtor. none
paymentIdentification PaymentIdentificationDTO Payment instruction reference. none
paymentTypeInformation (required) PaymentTypeInformationDTO Set of elements used to further specify the type of transaction. 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. Purpose codes can be taken from an external list, for example the ISO 20022 External Code Set. none
remittanceInformationStructured RemittanceDTO Payment details. Structured message. Generally, these fields are used to provide invoice or creditor reference information. References should conform to ISO 11649, international standard of reference information. 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.
none
requestedExecutionDate string Optional field for recording the date of the transfer. For SEPA Credit Transfers only the current date can be provided. Payments can not be backdated or scheduled for the future. none
requestedExecutionTime string Optional field for recording the date and time of the payment initiation. For SEPACredit Transfers, only the current date and time can be provided. Payments can not be backdated or scheduled for the future. none
serviceLevel string Agreement under which or rules under which the transaction should be processed. Must be SEPA for SEPA Credit Transfers and Direct Debits. 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. Must not exceed 70 characters. 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. Must not exceed 70 characters. none

CollectionResponse

{
  "collectionId": "string",
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION",
      "path": "string",
      "text": "string"
    }
  ],
  "transactionFeeIndicator": true,
  "transactionStatus": "ACSC"
}

Properties

Name Type Description Restrictions
collectionId (required) string Resource identification of the generated payment initiation resource. none
tppMessages [TPPMessage] Messages to the TPP on operational issues. none
transactionFeeIndicator boolean If set to true, the transaction will involve additional costs or fees. none
transactionStatus (required) string PSD2 transaction status codes:
  • ACSC: Settlement on the debtor’s account has been completed.
    Usage: this can be used by the first agent to report to the debtor that the transaction has been completed.
    Warning: this status is provided for reporting techincal transaction status, not for financial information. It can only be used after bilateral agreement.
  • ACSP: All preceding checks such as technical validation and customer profile were successful. The payment initiation has been accepted for execution.
  • ACTC: Authentication, syntactical and semantical validation are successful.
  • CPVP: The previous technical validation was successful. The customer profile validation has started. Only used for Anti Money Laundering flows.
  • RCVD: Payment initiation has been received by the receiving agent.
  • PDNG: Payment initiation, or an individual transaction included in the payment initiation is pending. Further checks and status updates will be performed.
  • RJCT: Payment initiation, or an individual transaction included in the payment initiation has been rejected.
none

Enumerated Values

Property Value
transactionStatus ACSC
transactionStatus ACSP
transactionStatus ACTC
transactionStatus CPVP
transactionStatus RCVD
transactionStatus PDNG
transactionStatus RJCT

CreateAccountMapping

{
  "identification": {
    "currency": "str",
    "iban": "stringstringstr",
    "other": {
      "identification": "string",
      "scheme": "string"
    }
  }
}

Properties

Name Type Description Restrictions
identification (required) Identification Identification none

CreateAccountMappings

{
  "accountIds": [
    "string"
  ],
  "identification": {
    "currency": "str",
    "iban": "stringstringstr",
    "other": {
      "identification": "string",
      "scheme": "string"
    }
  }
}

Properties

Name Type Description Restrictions
accountIds (required) [string] IDs of the Mambu Accounts which will be correlated to the IBAN or proprietary identification. The association will be made on account currency. none
identification (required) Identification Identification none

CreateBlockingRule

{
  "creditorMandate": {
    "creditorSchemeIdentification": {
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "mandateRelatedInformation": {
      "mandateIdentification": "string"
    }
  },
  "product": "string"
}

Properties

Name Type Description Restrictions
creditorMandate CreditorMandateDTO Collection mandate identification for deleting a rule applying to a specific mandate. none
product (required) string Payment Product to which this rule applies. For now, blocking rules can be applied to SEPA_DIRECT_DEBIT only none

CreditorMandateDTO

{
  "creditorSchemeIdentification": {
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "mandateRelatedInformation": {
    "mandateIdentification": "string"
  }
}

Collection mandate identification for deleting a rule applying to a specific mandate.

Properties

Name Type Description Restrictions
creditorSchemeIdentification (required) CreditorSchemeIdentificationDTO Credit party that signs the mandate. none
mandateRelatedInformation (required) MandateRelatedInformationDTO none none

CreditorSchemeIdentificationDTO

{
  "identification": {
    "iban": "stringstringstr",
    "other": {
      "identification": "string",
      "scheme": "string"
    }
  }
}

Credit party that signs the mandate.

Properties

Name Type Description Restrictions
identification (required) IdentificationDTO Unique and unambiguous identification for the account. none

DeleteBlockingRule

{
  "creditorMandate": {
    "creditorSchemeIdentification": {
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "mandateRelatedInformation": {
      "mandateIdentification": "string"
    }
  },
  "product": "string"
}

Properties

Name Type Description Restrictions
creditorMandate CreditorMandateDTO Collection mandate identification for deleting a rule applying to a specific mandate. none
product (required) string Payment product to remove blocking rules from. Must be SEPA_DIRECT_DEBIT. none

FailedPaymentResponse

{
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION",
      "path": "string",
      "text": "string"
    }
  ]
}

Properties

Name Type Description Restrictions
tppMessages (required) [TPPMessage] Messages to the TPP on operational issues. none

FilterCriteria

{
  "field": "string",
  "operator": "string",
  "value": "string"
}

Properties

Name Type Description Restrictions
field (required) string none none
operator (required) string none none
value (required) string none none

FinancialInstitutionPaymentDTO

{
  "categoryPurposeCode": "stri",
  "creditor": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtor": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "instructedAgent": {
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "intermediaryAgent1": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "intermediaryAgent2": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "intermediaryAgent3": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "paymentIdentification": {
    "endToEndIdentification": "string",
    "transactionIdentification": "string",
    "uetr": "stringstringstringstringstringstring"
  },
  "purposeCode": "stri",
  "remittanceInformationStructured": {
    "reference": "string",
    "referenceIssuer": "string",
    "referenceType": "string"
  },
  "remittanceInformationUnstructured": "string",
  "requestedExecutionDate": "stringstri",
  "settlementInformation": {
    "clearingSystem": "string",
    "settlementAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "settlementMethod": "string"
  },
  "ultimateCreditor": "string",
  "ultimateDebtor": "string"
}

Properties

Name Type Description Restrictions
categoryPurposeCode string Specifies the high level purpose of the payment based on a set of pre-defined categories. none
creditor (required) AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
creditorAccount AccountDTO Settlement account used when settlement method is INDA/INGA. none
creditorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
debtor (required) AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
debtorAccount AccountDTO Settlement account used when settlement method is INDA/INGA. none
debtorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
instructedAgent (required) AgentDTO Agent that is instructed by the previous party in the chain to carry out the (set of) instruction(s). none
instructedAmount (required) AmountDTO none none
intermediaryAgent1 AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
intermediaryAgent2 AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
intermediaryAgent3 AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
paymentIdentification Iso20022PaymentIdentificationDTO none 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. Purpose codes can be taken from an external list, for example the ISO 20022 External Code Set. none
remittanceInformationStructured RemittanceDTO Payment details. Structured message. Generally, these fields are used to provide invoice or creditor reference information. References should conform to ISO 11649, international standard of reference information. 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.
none
requestedExecutionDate string Optional field for recording the date of the transfer. Payments can not be backdated or scheduled for the future. none
settlementInformation (required) SettlementInformationDTO Specifies the details on how the settlement of the transaction(s) between the instructing agent and the instructed agent is completed. 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. Must not exceed 70 characters. 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. Must not exceed 70 characters. none

Identification

{
  "currency": "str",
  "iban": "stringstringstr",
  "other": {
    "identification": "string",
    "scheme": "string"
  }
}

Identification

Properties

Name Type Description Restrictions
currency string ISO 4217 Alpha 3 currency code. none
iban string ISO 13616 International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. none
other Other Unique identification of an account, as assigned by the account servicer, using other identification scheme. none

IdentificationDTO

{
  "iban": "stringstringstr",
  "other": {
    "identification": "string",
    "scheme": "string"
  }
}

Unique and unambiguous identification for the account.

Properties

Name Type Description Restrictions
iban string International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Must be between 15 and 34 characters. none
other OtherDTO Unique identification of an account, as assigned by the account servicer, using any other identification scheme. none

InitiationPaymentDTO

{
  "categoryPurposeCode": "stri",
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "creditorName": "string",
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "debtorName": "string",
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "localInstrument": "string",
  "paymentIdentification": {
    "endToEndIdentification": "string",
    "transactionIdentification": "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 Restrictions
categoryPurposeCode string Specifies the high level purpose of the payment based on a set of pre-defined categories. none
creditorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
creditorAddress AddressDTO none none
creditorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
creditorIdentification PartyIdentificationDTO Beneficiary’s identification. none
creditorName (required) string The Party whose account is credited with the payment. Must not exceed 70 characters. none
debtorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
debtorAddress AddressDTO none none
debtorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
debtorIdentification PartyIdentificationDTO Beneficiary’s identification. none
debtorName (required) string The full name of the debtor. Must not exceed 70 characters. none
instructedAmount (required) AmountDTO none none
localInstrument string User community specific instrument. Used to specify a local instrument, local clearing option and/or further qualify the service or service level. For example, whether a Direct Debit uses the business to customer CORE, business to business B2B ruleset or whether a Credit Transfer is of type Instant INST. none
paymentIdentification PaymentIdentificationDTO Payment instruction reference. 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. Purpose codes can be taken from an external list, for example the ISO 20022 External Code Set. none
remittanceInformationStructured RemittanceDTO Payment details. Structured message. Generally, these fields are used to provide invoice or creditor reference information. References should conform to ISO 11649, international standard of reference information. 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.
none
requestedExecutionDate string Optional field for recording the date of the transfer. For SEPA Credit Transfers only the current date can be provided. Payments can not be backdated or scheduled for the future. none
requestedExecutionTime string Optional field for recording the date and time of the payment initiation. For SEPACredit Transfers, only the current date and time can be provided. Payments can not be backdated or scheduled for the future. none
serviceLevel string Agreement under which or rules under which the transaction should be processed. Must be SEPA for SEPA Credit Transfers and Direct Debits. 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. Must not exceed 70 characters. 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. Must not exceed 70 characters. none

InstitutionIdentificationDTO

{
  "bicfi": "stringst"
}

Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised identification scheme.

Properties

Name Type Description Restrictions
bicfi (required) string ISO 9362 Business identifier code (BIC) - code allocated to a financial institution. Must be between 8 and 11 characters. none

Iso20022PaymentDTO

{
  "categoryPurposeCode": "stri",
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "creditorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "creditorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "creditorName": "string",
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorAddress": {
    "buildingNumber": "string",
    "city": "string",
    "countryCode": "st",
    "postalCode": "string",
    "street": "string"
  },
  "debtorAgent": {
    "account": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "institutionIdentification": {
      "bicfi": "stringst"
    }
  },
  "debtorIdentification": {
    "code": "stri",
    "issuer": "string",
    "privateIdentification": "string",
    "proprietary": "string"
  },
  "debtorName": "string",
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "localInstrument": "string",
  "paymentIdentification": {
    "endToEndIdentification": "string",
    "transactionIdentification": "string",
    "uetr": "stringstringstringstringstringstring"
  },
  "purposeCode": "stri",
  "remittanceInformationStructured": {
    "reference": "string",
    "referenceIssuer": "string",
    "referenceType": "string"
  },
  "remittanceInformationUnstructured": "string",
  "requestedExecutionDate": "stringstri",
  "requestedExecutionTime": "stringstringstrin",
  "scheme": "string",
  "serviceLevel": "string",
  "settlementInformation": {
    "clearingSystem": "string",
    "settlementAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "settlementMethod": "string"
  },
  "ultimateCreditor": "string",
  "ultimateDebtor": "string"
}

Properties

Name Type Description Restrictions
categoryPurposeCode string Specifies the high level purpose of the payment based on a set of pre-defined categories. none
creditorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
creditorAddress AddressDTO none none
creditorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
creditorIdentification PartyIdentificationDTO Beneficiary’s identification. none
creditorName (required) string The Party whose account is credited with the payment. Must not exceed 70 characters. none
debtorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
debtorAddress AddressDTO none none
debtorAgent AgentWithAccountDTO Financial institution servicing an account for the creditor. This field is mandatory when proprietary ('other') creditor account identification is used. none
debtorIdentification PartyIdentificationDTO Beneficiary’s identification. none
debtorName (required) string The full name of the debtor. Must not exceed 70 characters. none
instructedAmount (required) AmountDTO none none
localInstrument string User community specific instrument. Used to specify a local instrument, local clearing option and/or further qualify the service or service level. For example, whether a Direct Debit uses the business to customer CORE, business to business B2B ruleset or whether a Credit Transfer is of type Instant INST. none
paymentIdentification Iso20022PaymentIdentificationDTO none 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. Purpose codes can be taken from an external list, for example the ISO 20022 External Code Set. none
remittanceInformationStructured RemittanceDTO Payment details. Structured message. Generally, these fields are used to provide invoice or creditor reference information. References should conform to ISO 11649, international standard of reference information. 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.
none
requestedExecutionDate string Optional field for recording the date of the transfer. For SEPA Credit Transfers only the current date can be provided. Payments can not be backdated or scheduled for the future. none
requestedExecutionTime string Optional field for recording the date and time of the payment initiation. For SEPACredit Transfers, only the current date and time can be provided. Payments can not be backdated or scheduled for the future. none
scheme (required) string Specifies payment scheme for processing. none
serviceLevel string Agreement under which or rules under which the transaction should be processed. Must be SEPA for SEPA Credit Transfers and Direct Debits. none
settlementInformation (required) SettlementInformationDTO Specifies the details on how the settlement of the transaction(s) between the instructing agent and the instructed agent is completed. 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. Must not exceed 70 characters. 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. Must not exceed 70 characters. none

Iso20022PaymentIdentificationDTO

{
  "endToEndIdentification": "string",
  "transactionIdentification": "string",
  "uetr": "stringstringstringstringstringstring"
}

Properties

Name Type Description 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. Must not exceed 35 characters. 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. Must not exceed 35 characters. none
uetr string Universally unique identifier to provide an end-to-end reference of a payment transaction. none

LogRequest

{
  "log": "string"
}

Properties

Name Type Description Restrictions
log (required) string none none

MandateDTO

{
  "amendmentInformationDetails": {
    "originalCreditorSchemeIdentification": {
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      },
      "name": "string"
    },
    "originalDebtorAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "originalDebtorAgent": {
      "account": {
        "currency": "str",
        "identification": {
          "iban": "stringstringstr",
          "other": {
            "identification": "string",
            "scheme": "string"
          }
        }
      },
      "institutionIdentification": {
        "bicfi": "stringst"
      }
    },
    "originalMandateIdentification": "string"
  },
  "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 Restrictions
amendmentInformationDetails AmendmentInformationDetailsDTO List of mandate elements that have been modified. none
dateOfSignature (required) string Date on which the direct debit mandate has been signed by the debtor in the format YYYY-MM-DD. none
mandateIdentification (required) string Unique identification, as assigned by the creditor, to unambiguously identify the mandate. none

MandateRelatedInformationDTO

{
  "mandateIdentification": "string"
}

Properties

Name Type Description Restrictions
mandateIdentification (required) string Unique identification, as assigned by the creditor, to unambiguously identify the collection mandate. none

OriginalCreditorSchemeIdentificationDTO

{
  "identification": {
    "iban": "stringstringstr",
    "other": {
      "identification": "string",
      "scheme": "string"
    }
  },
  "name": "string"
}

Original creditor scheme identification that has been modified.

Properties

Name Type Description Restrictions
identification IdentificationDTO Unique and unambiguous identification for the account. none
name string Name of the creditor. Must not exceed 70 characters. 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 Restrictions
identification (required) string Identification assigned by an institution. none
scheme (required) string Name of the identification scheme. none

OtherDTO

{
  "identification": "string",
  "scheme": "string"
}

Unique identification of an account, as assigned by the account servicer, using any other identification scheme.

Properties

Name Type Description Restrictions
identification (required) string Identification assigned by an institution. Must not exceed 34 characters. none
scheme (required) string Name or code of the identification scheme. Must not exceed 35 characters. none

PartyIdentificationDTO

{
  "code": "stri",
  "issuer": "string",
  "privateIdentification": "string",
  "proprietary": "string"
}

Beneficiary’s identification.

Properties

Name Type Description Restrictions
code string A four-letter code specifying the type of identification being used. For valid codes an external catalogue should be consulted such as the one provided in the ISO 20022 External Code Sets. none
issuer string The official body who provided the identification. Must not exceed 35 characters. none
privateIdentification (required) string Unique and unambiguous identification of a person, eg, passport. Must not exceed 35 characters. none
proprietary string A proprietary type of identification for the party to the transaction. Must not exceed 35 characters. none

PaymentDTO

{
  "creditorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "creditorName": "string",
  "debtorAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "debtorName": "string",
  "instructedAmount": {
    "amount": "string",
    "currency": "str"
  },
  "remittanceInformationUnstructured": "string",
  "scheme": "string",
  "settlementInformation": {
    "clearingSystem": "string",
    "settlementAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "settlementMethod": "string"
  }
}

Payment details for standing order

Properties

Name Type Description Restrictions
creditorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
creditorName (required) string The Party whose account is credited with the payment. Must not exceed 70 characters. none
debtorAccount (required) AccountDTO Settlement account used when settlement method is INDA/INGA. none
debtorName (required) string The full name of the debtor. Must not exceed 70 characters. none
instructedAmount (required) AmountDTO none 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.
none
scheme string Specifies payment scheme for processing. none
settlementInformation SettlementInformationDTO Specifies the details on how the settlement of the transaction(s) between the instructing agent and the instructed agent is completed. none

PaymentIdentificationDTO

{
  "endToEndIdentification": "string",
  "transactionIdentification": "string"
}

Payment instruction reference.

Properties

Name Type Description 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. Must not exceed 35 characters. 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. Must not exceed 35 characters. none

PaymentResponse

{
  "paymentId": "string",
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION",
      "path": "string",
      "text": "string"
    }
  ],
  "transactionFeeIndicator": true,
  "transactionStatus": "RCVD"
}

Properties

Name Type Description Restrictions
paymentId (required) string Resource identification of the generated payment initiation resource. none
tppMessages [TPPMessage] Messages to the TPP on operational issues. none
transactionFeeIndicator boolean If value is true, the transaction will involve additional transaction costs or fees. none
transactionStatus (required) string RCVD: Payment initiation has been received by the receiving agent. none

Enumerated Values

Property Value
transactionStatus RCVD

PaymentTypeInformationDTO

{
  "sequenceType": "string"
}

Set of elements used to further specify the type of transaction.

Properties

Name Type Description Restrictions
sequenceType (required) string Identifies the direct debit sequence, such as first, recurrent, final or one-off (FRST, RCUR, FNAL, OOFF). none

PrivateIdentificationDTO

{
  "privateIdentification": "string"
}

Unique and unambiguous identification of a party.

Properties

Name Type Description Restrictions
privateIdentification (required) string Unique and unambiguous identification of a person, eg, passport. Must not exceed 35 characters. none

RemittanceDTO

{
  "reference": "string",
  "referenceIssuer": "string",
  "referenceType": "string"
}

Payment details. Structured message. Generally, these fields are used to provide invoice or creditor reference information. References should conform to ISO 11649, international standard of reference information.

Properties

Name Type Description Restrictions
reference (required) string The actual reference. Must not exceed 35 characters. If providing a reference number, the referenceType should also be provided. none
referenceIssuer string The entity which created or generated the reference. Must not exceed 35 characters. none
referenceType string The type of reference provided. Must not exceed 35 characters. none

RetryPolicyDTO

{
  "retryCount": 0
}

Failing standing orders retry policy

Properties

Name Type Description Restrictions
retryCount integer(int32) Specifies how many times the failing standing order will be retried none

SettlementInformationDTO

{
  "clearingSystem": "string",
  "settlementAccount": {
    "currency": "str",
    "identification": {
      "iban": "stringstringstr",
      "other": {
        "identification": "string",
        "scheme": "string"
      }
    }
  },
  "settlementMethod": "string"
}

Specifies the details on how the settlement of the transaction(s) between the instructing agent and the instructed agent is completed.

Properties

Name Type Description Restrictions
clearingSystem string Clearing system when settlement method is CLRG. none
settlementAccount AccountDTO Settlement account used when settlement method is INDA/INGA. none
settlementMethod (required) string Method used to settle the payment: INDA (instructed agent), INGA (instructing agent), CLRG (clearing system) none

StandingOrderCreateResponse

{
  "id": "string"
}

Properties

Name Type Description Restrictions
id string Standing order id none

StandingOrderDTO

{
  "endDate": "2019-08-24",
  "frequency": "DAILY, WEEKLY, MONTHLY",
  "ownerId": "string",
  "payment": {
    "creditorAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "creditorName": "string",
    "debtorAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "debtorName": "string",
    "instructedAmount": {
      "amount": "string",
      "currency": "str"
    },
    "remittanceInformationUnstructured": "string",
    "scheme": "string",
    "settlementInformation": {
      "clearingSystem": "string",
      "settlementAccount": {
        "currency": "str",
        "identification": {
          "iban": "stringstringstr",
          "other": {
            "identification": "string",
            "scheme": "string"
          }
        }
      },
      "settlementMethod": "string"
    }
  },
  "retryPolicy": {
    "retryCount": 0
  },
  "startDate": "2019-08-24"
}

Properties

Name Type Description Restrictions
endDate string(date) Standing order end date none
frequency (required) string Standing order frequency none
ownerId (required) string Standing order owner id none
payment (required) PaymentDTO Payment details for standing order none
retryPolicy (required) RetryPolicyDTO Failing standing orders retry policy none
startDate (required) string(date) Standing order start date none

Enumerated Values

Property Value
frequency DAILY, WEEKLY, MONTHLY

StandingOrderExecutionResponse

{
  "creationDate": "2019-08-24T14:15:22Z",
  "failReason": "INSUFFICIENT_FUNDS(null)",
  "paymentOrderId": "string",
  "requestedExecuteOn": "2019-08-24T14:15:22Z",
  "standingOrderId": "string",
  "status": "RUNNING",
  "type": "REGULAR"
}

Properties

Name Type Description Restrictions
creationDate string(date-time) Entry creation date and time none
failReason string Holds short failure description none
paymentOrderId string Payment order id none
requestedExecuteOn string(date-time) Date and time at which payment is initiated none
standingOrderId string Standing order id none
status string Status of payment execution none
type string Execution type none

Enumerated Values

Property Value
failReason INSUFFICIENT_FUNDS(null)
failReason ACCOUNT_INACTIVE(null)
failReason OTHER(null)
status RUNNING
status COMPLETED
status FAILED
type REGULAR
type RETRY

StandingOrderGetResponse

{
  "creationDateTime": "2019-08-24T14:15:22Z",
  "endDate": "2019-08-24",
  "frequency": "DAILY, WEEKLY, MONTHLY",
  "id": "string",
  "lastExecution": "2019-08-24",
  "nextExecution": "2019-08-24",
  "ownerId": "string",
  "payment": {
    "creditorAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "creditorName": "string",
    "debtorAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "debtorName": "string",
    "instructedAmount": {
      "amount": "string",
      "currency": "str"
    },
    "remittanceInformationUnstructured": "string",
    "scheme": "string",
    "settlementInformation": {
      "clearingSystem": "string",
      "settlementAccount": {
        "currency": "str",
        "identification": {
          "iban": "stringstringstr",
          "other": {
            "identification": "string",
            "scheme": "string"
          }
        }
      },
      "settlementMethod": "string"
    }
  },
  "paymentsCount": 0,
  "retryCount": 0,
  "startDate": "2019-08-24",
  "status": "ACTIVE",
  "suspendDateFrom": "2019-08-24",
  "suspendDateTo": "2019-08-24"
}

Properties

Name Type Description Restrictions
creationDateTime string(date-time) Standing order creation date and time none
endDate string(date) Standing order end date none
frequency string Standing order frequency none
id string Standing order id none
lastExecution string(date) Standing order's last payment execution date none
nextExecution string(date) Standing order's next payment execution date none
ownerId string Standing order owner id none
payment PaymentDTO Payment details for standing order none
paymentsCount integer(int32) Standing order's count of payments executed so far none
retryCount integer(int32) Standing order's retry count setting none
startDate string(date) Standing order start date none
status string Standing order status none
suspendDateFrom string(date) Standing order suspend start date none
suspendDateTo string(date) Standing order suspend end date (inclusive) none

Enumerated Values

Property Value
frequency DAILY, WEEKLY, MONTHLY
status ACTIVE
status SUSPENDED
status CANCELED
status WITHDRAWN

StandingOrderSearchRequest

{
  "filterCriteria": [
    {
      "field": "string",
      "operator": "string",
      "value": "string"
    }
  ],
  "limit": 1,
  "offset": 2147483647
}

Properties

Name Type Description Restrictions
filterCriteria (required) [FilterCriteria] none none
limit integer(int32) none none
offset integer(int32) none none

StandingOrderSearchResponse

{
  "creationDateTime": "2019-08-24T14:15:22Z",
  "endDate": "2019-08-24",
  "frequency": "DAILY, WEEKLY, MONTHLY",
  "id": "string",
  "ownerId": "string",
  "payment": {
    "creditorAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "creditorName": "string",
    "debtorAccount": {
      "currency": "str",
      "identification": {
        "iban": "stringstringstr",
        "other": {
          "identification": "string",
          "scheme": "string"
        }
      }
    },
    "debtorName": "string",
    "instructedAmount": {
      "amount": "string",
      "currency": "str"
    },
    "remittanceInformationUnstructured": "string",
    "scheme": "string",
    "settlementInformation": {
      "clearingSystem": "string",
      "settlementAccount": {
        "currency": "str",
        "identification": {
          "iban": "stringstringstr",
          "other": {
            "identification": "string",
            "scheme": "string"
          }
        }
      },
      "settlementMethod": "string"
    }
  },
  "retryCount": 0,
  "startDate": "2019-08-24",
  "status": "ACTIVE",
  "suspendDateFrom": "2019-08-24",
  "suspendDateTo": "2019-08-24"
}

Properties

Name Type Description Restrictions
creationDateTime string(date-time) Standing order creation date and time none
endDate string(date) Standing order end date none
frequency string Standing order frequency none
id string Standing order id none
ownerId string Standing order owner id none
payment PaymentDTO Payment details for standing order none
retryCount integer(int32) Standing order's retry count setting none
startDate string(date) Standing order start date none
status string Standing order status none
suspendDateFrom string(date) Standing order suspend start date none
suspendDateTo string(date) Standing order suspend end date (inclusive) none

Enumerated Values

Property Value
frequency DAILY, WEEKLY, MONTHLY
status ACTIVE
status SUSPENDED
status CANCELED
status WITHDRAWN

StandingOrderSuspendDTO

{
  "endDate": "2019-08-24",
  "id": "string",
  "startDate": "2019-08-24"
}

Properties

Name Type Description Restrictions
endDate (required) string(date) Suspend standing order till date (inclusive) none
id (required) string Standing order id none
startDate string(date) Suspend standing order from date none

TPPMessage

{
  "category": "ERROR",
  "code": "ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION",
  "path": "string",
  "text": "string"
}

Messages to the TPP on operational issues.

Properties

Name Type Description Restrictions
category (required) string Category designates the message severity. none
code (required) string Message error codes:
  • ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION: This identification is already mapped to the specified Mambu Account.
  • FEATURE_NOT_ENABLED: The request failed due to disabled feature.
  • FORMAT_ERROR: Format of certain request fields are not matching the API requirements. An explicit path to the corresponding field might be added in the return message.
  • INVALID_MESSAGE_TYPE: The request failed due to invalid message type.
  • INVALID_REQUEST_BODY: The request failed due to invalid request body.
  • INVALID_TRANSACTION_STATE: The request failed due to invalid transaction state.
  • INVALID_TRANSACTION_STATUS: The request failed due to invalid transaction status.
  • ORIGINAL_MESSAGE_ALREADY_REPLIED: The associated message already has a response.
  • ORIGINAL_MESSAGE_PENDING_REPLY: The associated message has no response.
  • PARAMETER_NOT_SUPPORTED: The parameter is not supported by the API.
  • PAYMENT_FAILED: The payment initiation POST request failed during the initial process.
  • NOT_FOUND: The request failed due to not found message.
  • SERVICE_INVALID: The addressed service is not valid for the addressed resources or the submitted data.
none
path string none none
text string Additional explaining text. none

Enumerated Values

Property Value
category ERROR
category WARN
code ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION
code FEATURE_NOT_ENABLED
code FORMAT_ERROR
code INVALID_MESSAGE_TYPE
code INVALID_REQUEST_BODY
code INVALID_TRANSACTION_STATE
code INVALID_TRANSACTION_STATUS
code ORIGINAL_MESSAGE_ALREADY_REPLIED
code ORIGINAL_MESSAGE_PENDING_REPLY
code PARAMETER_NOT_SUPPORTED
code PAYMENT_FAILED
code SERVICE_INVALID
code NOT_FOUND
code RESOURCE_UNKNOWN

TppMessagesResponse

{
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "ACCOUNT_ALREADY_MAPPED_TO_THE_SPECIFIED_IDENTIFICATION",
      "path": "string",
      "text": "string"
    }
  ]
}

Properties

Name Type Description Restrictions
tppMessages (required) [TPPMessage] Messages to the TPP on operational issues. none