Global Overview

Guide Contents:

  1. Overview
  2. How to Send a Credit Transfer Transaction
  3. How to Receive a Credit Transfer Transaction
  4. How to Return a Credit Transfer Transaction
  5. How to Send a Payment Recall
  6. How to Receive a Payment Recall

Open Bank Project SEPA Adapter Overview

International transfers can take more than three days. SEPA transfers take approximately 1-2 business days and are generally much cheaper, sometimes even free. EU regulation demands that transfers between two SEPA countries be as cheap as a local transfer.

SEPA countries include the 27 EU Member states and Norway, Iceland, Liechtenstein, Switzerland, Monaco and San Marino.

By the end of this guide you will know:

  • What SEPA is
  • Why your fintech app should be SEPA-enabled
  • How the Open Bank Project SEPA Adapter works
  • How to send, receive and return a Credit Transfer Transaction
  • How to send and receive a Payment Recall

Scroll down for the transcript.



Hello! My name is Guillaume, I’m a software engineering intern at TESOBE. And, in today’s video, I’m going to present a project I’m working on for the Open Bank Project, which is called SEPA Adapter. The purpose of this video is to give a global overview of what the SEPA Adapter is and how it can be used by current OBP API users. 


First of all, I need to explain how SEPA works. SEPA allows people to exchange money and it is, in fact, a payment system. This payment system allows an originator to send money to a beneficiary. Both parties need to have a bank to send this kind of transaction. If the originator wants to send money to the beneficiary, he’s going to send the transaction to his originator bank. Then, the originator bank is going to forward the transaction to the beneficiary bank through what we call a Clearing & Settlement Mechanism


So there are two mechanisms in this CSM. There is a clearing mechanism, which is, in fact, an exchange of data where you’re going to exchange XML files containing the transactions. Then, there is a settlement mechanism, which is an exchange of money between the different banks.


Ok, so we are now going to see how we can integrate this in OBP. I’m going to minimise myself. As we said, here we have the Clearing and Settlement Mechanism that links the different banks that want to exchange transactions. On the OBP side, we have an application. This application, for example, needs a kind of core banking system with a SEPA payment solution, and this application can use the OBP API to make requests to the SEPA Adapter. The SEPA Adapter is then going to forward transactions to the Clearing & Settlement Mechanism, which is then going to forward them to the beneficiary bank.


Let’s see the communication channels. The application will communicate with the OBP APIs through API REST Calls. The API and the SEPA Adapter are going to communicate through Akka messages and API REST Calls. The SEPA Adapter is going to write XML files, which are defined in the SEPA Documentation, to forward them to the Clearing and Settlement Mechanism.


So, we can have a look at what form it takes. Here is, for example, a transaction request made on the OBP API. We want to send €10 to this IBAN. The SEPA Adapter acts as a translator because it’s going to translate the OBP API request to XML files, which are these on the right. It is this kind of file which is exchanged between banks through the CSM. 


Of course, as this is a communication protocol, there are different messages to implement the complete scheme. So there is first the Credit Transfer message, which is the mainly used message to send money. There is then the Return and the Reject messages, which I use when problems happen during a transaction. For example, the beneficiary bank receives a transaction but can’t find the account where to credit the funds, so the beneficiary bank returns the transaction to the originator. 


We also have Recall messages, used when the bank or the originator wants to recover the funds. There are also Claim non-receipt messages, that are used when a bank wants to say to another bank: “Hey, my customer didn’t receive this transaction, could you look at your side to see where this transaction is?”.


There is another kind of message to claim a value date correction to correct the settlement date. There is, of course, a message to give a response to the two previous messages. And then there’s a Status Update message, used mainly where recall takes too long to respond, you can send a status update to request a response.


To finish, on this slide, we have examples of how these kinds of messages are implemented in the SEPA scheme. Those two diagrams can be found on the European Payment Council’s website in the SEPA Credit Transfer Documentation Rulebook, with more details of course. But if we have a look on the left side for a credit transfer process, an originator sends a message to the originator bank, then it goes to the CSM and then the beneficiary bank receives the transaction and sends it to the beneficiary’s account. 


But, during this process, a lot of errors can happen and we need, of course, as we have previously seen, the Return and Reject messages.

Ok, thank you for listening, I hope you liked this video.

For more information about OBP technology, check out our Glossary and browse over 300 APIs in the OBP API Explorer or visit us on Github.


  1. Overview
  2. How to Send a Credit Transfer Transaction
  3. How to Receive a Credit Transfer Transaction
  4. How to Return a Credit Transfer Transaction
  5. How to Send a Payment Recall
  6. How to Receive a Payment Recall