FPS & CHAPS

IBAN linkage

Outbound payment - Sequence diagram

ClearBank Retail Banking: IBAN linkage

The process is automatically triggered when a new Deposit Account is created in Mambu, and Deposit Account Created webhook is sent to MPO.

The purpose of IBAN linkage [link to Mambu webhook(s)] main process is to create a Virtual Account, then link the ClearBank IBAN to it and last map the IBAN to Mambu Deposit Account. At deposit account level are also mapped the following ClearBank account details into custom fields: virtualAccountID, sortCode, accountNumber and IBAN.

Notes:

  • IBAN value is mapped to Deposit Account custom field regardless the linkage method (EAR or Custom Field)
  • Only one Virtual account should be linked to a Deposit Account (1:1 relationship)
  • Only one IBAN can be mapped to a Deposit Account (1:1 relationship)
  • ClearBank webhooks triggered: VirtualAccountCreationFailed and VirtualAccountCreated.

Important:

  1. When property hasVirtualAccountExternalID is set to:
    • true in ClearBank config, an IBAN will be automatically generated by ClearBank based on the unique external identifier provided, that is automatically generated and matches ClearBank X-Request-ID. The IBAN generated will be used to create the Virtual Account that will be linked to Mambu Deposit Account.
    • false in ClearBank config, an IBAN must be previously generated and linked to Mambu Deposit Account.
  2. When hasVirtualAccountExternalID is set to true and also an IBAN is provided at Deposit Account Creation, then a Notification is sent due to conflicting IBAN generation.

Inbound payment

This template allows initiating inbound transactions using an external account for existing Mambu clients that have Mambu deposit accounts, using UK payment schemes: Faster Payments (FPS) and The Clearing House Automated Payment System (CHAPS).

ClearBank webhooks that can be triggered for Inbound flow: TransactionSettled and InboundHeldTransaction.

Sequence diagram

ClearBank Retail Banking: Inbound Payment

Deposit Scheme Router [triggered by MPO webhook receiver] MPO process is automatically triggered when a payment is initiated from ClearBank Portal Simulator and TransactionSettled webhook is received in MPO.

The purpose of Deposit Scheme Router [triggered by MPO webhook receiver] main process is to decide if the payment made from ClearBank should be routed to payment scheme FPS or CHAPS.

Once the payment scheme is known, then the Inbound Payment process is triggered where the Deposit Account and Mambu customer are identified using the IBAN provided in TransactionSettled webhook sent by ClearBank. Based on the payment scheme the following validations are made:

  • FasterPayments -> only when Mambu Client Name equals to ClearBank Transaction Owner Name the payment is processed. After this validation, in case Mambu Client Name is different than ClearBank Owner Name, the Virtual Account owner is updated in Clearbank with Mambu Client Name. Mambu Deposit [Inbound Payment] MPO process is triggered once these validations are successfull. When Mambu Client Name is different than ClearBank Transaction Owner Name the payment is declined. This logic applies also for Inbound Interbank payments, Chaps International payments and Outbound Intrabank Transfer (only Credit).
  • Chaps -> when Mambu Client Name equals to ClearBank Owner Name the payment is directly processed and Mambu Deposit [Inbound Payment] MPO process is triggered. In case they are different first the Virtual Account owner is updated in Clearbank with Mambu Client Name and after that the flow continues.

In Mambu, a Deposit transaction is posted under dedicated Transaction Channel based on the payment scheme: CB_Deposit_FPS or CB_Deposit_CHAPS, and transaction details are pushed into custom fields (transactionStatus is updated to Settled).

If the amount requested to be transferred is greater than £250k and the payment scheme used is FPS, the request will be rejected by the MPO router Deposit Scheme Router [triggered by MPO webhook receiver], since the maximum allowed amount for FPS was exceeded. In this case the payment is reversed in ClearBank (by posting a new Outbound payment).

Notes:

  • Deposit Scheme Router [triggered by MPO webhook receiver] MPO process will be triggered only when a TransactionSettled webhook is sent by ClearBank.
  • For the negative cases when the payment was released and TransactionSettled webhook is sent by ClearBank but due to other issues the Deposit transaction was not posted in Mambu a notification is sent based on the Notification Setup configuration. After the notification is analysed and payments details are know there can be 2 options:
    • the payment in ClearBank was reversed (by posting a new Outbound payment) if all the details were provided (identified by a specific empty error message: e.g. Inbound Reversal error: []). The reversed inbound payment can be identified in ClearBank by the payment reference Inbound Reversed.
    • in case the Inbound Reverse fails (identified by a specific error message) after the root cause is identified manual intervention might be needed.
  • If a Deposit transaction needs to be manually posted in Mambu after the payment is released and TransactionSettled webhook is received the following transaction channels CB_Deposit_FPS or CB_Deposit_CHAPS should be used since the payment already exists in ClearBank.
  • When key monitorInboundTransaction is set to true the transaction will be monitored and posted also in FinCrime module.

Inbound Held Payment

Following an Inbound Held payment one webhook can be received - TransactionSettled if the payment passed ClearBank sanction screening check.

  • InboundHeldTransaction:
    • False Positive -> payment released
    • True Positive -> payment remains under investigation

InboundHeldTransaction ClearBank webhook is triggered only when a payment is suspended and an analysis is required by ClearBank. The payment payload is stored in Inbound Payment Webhook MPO state diagram. An Info notification is sent based on the Notification Setup configuration with a specific message regarding the held payment in ClearBank.

If after the analysis the result is False Positive then the payment is released by ClearBank, a TransactionSettled webhook is sent, and Deposit Scheme Router [triggered by MPO webhook receiver] MPO process is triggered. InboundHeldTransaction and TransactionSettled webhooks are matched by the EndtoEndTransactionID in ClearBank.

In case the result is True Positive then the payment will be re-routed to the held suspense account until more instructions are received, and no TransactionRejected webhook is by ClearBank. An Inbound Held transaction is not available in ClearBank UI/API.

Inbound Reversal (FPS)

Following a FasterPayments reversal three TransactionSettled webhooks can be received (matched by the EndtoEndTransactionID in ClearBank). One for each of the following stages:

  • First Credit -> isReturn:false
  • Debit (reversal) -> isReturn:true
  • Second Credit (retry) -> isReturn:false

After an inbound payment is sent and TransactionSettled (First Credit -> isReturn:false) webhook is acknowledged and the Inbound flow was successfully executed - a Deposit transaction is created in Mambu, if the FasterPayments scheme does not respond in less than 30 sec the transaction will be automatically reversed by the scheme. This action is reflected by receiving in MPO the second TransactionSettled (Debit -> isReturn:true) webhook. This second wehbook is stored in MPO process Inbound Payment Webhook for 30 min.

If the reversal scheme process is:

  • successful then FPS scheme retry will be triggered which implies that the third TransactionSettled (Second Credit - isReturn:false) webhook is sent by ClearBank. This third webhook will be acknowledged and stored in Inbound Payment Webhook since no action is required..
  • unsuccessful then after 30 min since the third webhook was not sent, the reversal process will automatically be triggered, by adjusting the Deposit transaction in Mambu, since the Inbound payment in ClearBank is already reversed.

Notes:

  • Inbound Reversal applies only for FasterPayments scheme.
  • If the FPS scheme sends the third TransactionSettled (Second Credit - isReturn:false) webhook after 30 min, this webhook is stored in Inbound Payment Webhook MPO state diagram and then a notification is sent, since manual reconciliation is needed - manually posting a Deposit transaction in Mambu using the payment details from ClearBank and as transaction channel MBU_Deposit_FPS since the payment already exists in ClearBank.
  • The third TransactionSettled webhook (Second Credit - isReturn:false) it might be a Single Immediate Payment (suffix: 10) and in this case it will be sent almost immediately, or a Forward Dated Payment (suffix: 40) and in this case it can be sent in hours or days.

International Inbound Payment (CHAPS)

Inbound CHAPS payments which have originated overseas can be received. These payments will be received in GBP from the originating bank’s correspondent in the UK. In Inbound Payment Webhook MPO process is decided if the inbound payment is a domestic or international one.

International CHAPS payments cannot be automatically reversed, therefore a notification is sent and ClearBank needs to be contacted for more details, since the Customer Care team will need to return the funds manually on client behalf.

Outbound payment

This template allows initiating outbound transactions using an external account for existing Mambu clients that have Mambu deposit accounts, using UK payment schemes: Faster Payments (FPS) and The Clearing House Automated Payment System (CHAPS).

ClearBank webhooks that can be triggered for Outbound flow: TransactionSettled, OutboundHeldTransaction, PaymentMessageAssesmentFailed, PaymentMessageValidationFailed and TransactionRejected.

Sequence diagram

ClearBank Retail Banking: Outbound Payment

Withdrawal Scheme Router [link to Mambu webhook] process is automatically triggered when a Withdrawal transaction is initiated from Mambu using dedicated a Transaction Channel based on the payment scheme: MBU_Withdrawal_FPS or MBU_Withdrawal_CHAPS, and Withdrawal webhook is sent to MPO.

The purpose of Withdrawal Scheme Router [link to Mambu webhook] main process is to decide if the payment meets the following conditions: IBAN must be mapped to deposit account, payment scheme is FPS/CHAPS, deposit account currency is GBP. If the conditions are not met then the Withdrawal is Adjusted in Mambu and a notification is sent based on the Notification Setup configuration.

Once the payment scheme is known and IBAN linkage is verified, then Withdrawal [Outbound Payment] process is triggered. Only when Deposit Account, Mambu client details and ClearBank Virtual Account are validated using the IBAN provided in the Withdrawal webhook details ClearBank [Outbound Payment] process is triggered. Based on the payment status ClearBank can send one of the following webhooks as response:

  • accepted in ClearBank TransactionSettled
  • rejected in ClearBank TransactionRejected
  • held in ClearBank OutboundHeldTransaction
  • payment details validation fails in ClearBank PaymentMessageAssesmentFailed or PaymentValidationAssesmentFailed

The initial transactionStatus value after the Withdrawal webhook was sent is Pending. Once the payment is processed in ClearBank, based on the ClearBank webhook type the transactionStatus can transition to one of the following statuses:

  • TransactionSettled webhook = transactionStatus = Settled
  • TransactionRejected webhook = transactionStatus = Rejected
  • OutboundHeldTransaction webhook = transactionStatus = Held
  • PaymentMessageAssesmentFailed or PaymentValidationAssesmentFailed webhook = transactionStatus = Failed
  • payment is rejected at API level (didn’t reached ClearBank) = transactionStatus = API_Rejected

If the amount requested to be withdrawn is greater than £250k and the payment scheme used is FPS, the request will be rejected by the MPO router Withdrawal Scheme Router [link to Mambu webhook] since the maximum allowed amount for FPS was exceeded. In this case the Withdrawal transaction will be Adjusted in Mambu.

Notes:

  • Minimum fields that need to be send when Withdrawal transaction is initiated in order to have a successful Outbound payment: creditorIBAN & creditorName. paymentReference is optional in ClearBank. debtorIBAN and debtorName are optional since they will be automatically populated with Mambu client details once the Withdrawal webhooks is received in MPO.
  • If the Withdrawal transaction is not posted using the correct transaction channel the MPO process will not be triggered.
  • If the Adjusted Withdrawal fails a notification is sent based on the Notification Setup configuration. After the root cause of the failure is known and the payment is identified in ClearBank the Adjust needs to be manually performed in Mambu.
  • Chaps payments which use numbers into the Reference field will be automatically Held in ClearBank in order to be analysed and released by ClearBank once the analysis is finished (see Outbound Held Payment flow).
  • Accepted values for creditorIBAN field: UK IBAN default format (GB68HBUK40478470872490), country specific IBAN (GBR40478470872491) or sort code and account number (40478470872490).
  • When key monitorOutboundTransaction is set to true the transaction will be monitored and posted also in FinCrime module.

Outbound Held Payment

Following an Outbound Held payment two webhooks can be sent by ClearBank: TransactionSettled or TransactionRejected based on the ClearBank sanction screening check result.

  • OutboundHeldTransaction:
    • False Positive -> payment released
    • True Positive -> payment remains under investigation

Webhook OutboundHeldTransaction is triggered only when a payment is suspended in ClearBank and an analysis is required. The payment payload is stored in Outbound Payment Webhook MPO state diagram. transactionStatus custom field value is updated from Pending to Held for Mambu Withdrawal transaction, and an Info notification is sent based on the Notification Setup configuration with a specific message regarding the held payment in ClearBank.

If after the analysis the result is False Positive then the payment is released by ClearBank and a TransactionSettled webhook is sent, which is processed in Outbound Payment Webhook MPO process. transactionStatus custom field value is updated from Held to Settled for Mambu Withdrawal transaction.

If ClearBank rejects a held transaction, then a TransactionRejected webhook is sent, the Withdrawal transaction is adjusted and transactionStatus custom field value is updated from Held to Rejected.

In case the result is True Positive then the payment will be re-routed to the held suspense account until instructions are received.

Outbound Reversal (FPS)

Following a FasterPayments reversal three TransactionSettled webhooks can be received. One for each of the following stages:

  • First Debit -> isReturn:false
  • Credit (reversal) -> isReturn:true
  • Second Debit (retry) -> isReturn:false

After an outbound payment is sent and webhook TransactionSettled (First Debit -> isReturn:false) is acknowledged and the Outbound flow was successfully executed - transaction exists in ClearBank, if the FasterPayments scheme does not respond in less than 30 sec the transaction will be automatically reversed by the scheme. This action is reflected by receiving in MPO the second TransactionSettled (Credit -> isReturn:true) webhook. This second webhook is stored in MPO process Outbound Payment Webhook for 30 min.

If the reversal scheme process is:

  • successful then FPS scheme retry will be triggered which implies that a third TransactionSettled (Second Debit - isReturn:false) webhook is sent by ClearBank. This third webhook is acknowledged and stored in Outbound Payment Webhook since no action is required.
  • unsuccessful then after 30 min since the third webhook was not sent, the reversal process will automatically be triggered, by adjusting the Withdrawal transaction in Mambu, since the Outbound payment in ClearBank is already reversed.

Notes:

  • Outbound Reversal applies only for FasterPayments scheme.
  • If the FPS scheme sends the third TransactionSettled (Second Debit - isReturn:false) webhook after 30 min, this webhook is stored in Outbound Payment Webhook MPO state diagram and then a notification is sent, since manual reconciliation is needed - Withdrawal transaction needs to be manually posted in Mambu using the payment details from ClearBank and as transaction channel CB_Deposit_FPS since the payment already exists in ClearBank.
  • The third TransactionSettled (Second Debit - isReturn:false) webhook it might be a Single Immediate Payment (suffix: 10) and in this case it will be sent almost immediately, or a Forward Dated Payment (suffix: 40) and in this case it can be sent in hours or days.

Transfer payment

This template applies for Transfer payments inter-bank (different ClearBank sort codes but same institution) initiated as outbound and inbound transaction and intra-bank (same ClearBank sort codes) initiated as outbound transaction, using UK payment schemes: Faster Payments (FPS) and The Clearing House Automated Payment System (CHAPS).

Intrabank payment

Sequence diagram

ClearBank Retail Banking: Intrabank Transfer

When a Withdrawal transaction is initiated from Mambu using the Transaction Channel MBU_Transfer and the creditor IBAN has the same sort code, same bank branch (ClearBank) and belongs to another Mambu client that also has an IBAN linked to ClearBank, a Transfer is posted in ClearBank.

After payment details are validated, ClearBank will sent two TransactionSettled webhooks which are matched by the EndtoEndTransactionID in ClearBank: one Debit and one Credit. TransactionSettled (Debit) will be stored in [Outbound Payment Webhook] and Withdrawal transactionStatus custom field value is updated from Pending to Settled.TransactionSettled (Credit) webhook, will be processed further for the Transfer flow by searching first that the creditor details are valid and ending in posting a Deposit transaction in Mambu using as Transaction Channel CB_Transfer(transactionStatus= Settled).

Both Mambu transactions Withdrawal and Deposit will have the same transactionStatus and transactionEndToEndId values. In case the beneficary account is Closed/Disabled, ClearBank will send one PaymentMessageValidationFailed webhook, the Withdrawal in Mambu will be Adjusted and the transactionStatus will be updated from Pending to Failed.

Notes:

  1. An Intrabank transfer can be held in ClearBank (see Outbound Held Payment flow).
  2. If an Intrabank transfer was held and released as rejected, then only one TransactionRejected webhook will be sent.
  3. If the Deposit transaction fails, then the Withdrawal transaction will be Adjusted in Mambu and in ClearBank the Adjust needs to be manually done for Transfer payment.
  4. When the monitorIntraBankTransferTransaction key is set to true the transaction will be monitored and also posted to the FinCrime module (this also applies to Interbank Transfer).

Outbound Interbank payment

When a Withdrawal transaction is initiated from Mambu using a as Transaction Channel: MBU_Transfer and the creditor IBAN has a different sort code but same bank branch (ClearBank), a Transfer is posted in ClearBank.

After payment details are validated, ClearBank will sent one TransactionSettled webhook for Debit which will be stored in Outbound Payment Webhook MPO process, and the transactionStatus will be updated from Pending to Settled.

In case the beneficiary account is Closed/Disabled ClearBank will sent one TransactionRejected webhook and the Withdrawal in Mambu will be Adjusted.

Inbound Interbank payment

When an Inbound payment is initiated from a different ClearBank institution and the debtor IBAN has a different sort code but same bank branch (ClearBank), a Transfer is posted in ClearBank.

After payment details are validated, ClearBank will sent one TransactionSettled webhook for Credit which will be stored in Inbound Payment Webhook MPO process, and the transactionStatus will be updated from Pending to Settled. A Deposit transaction is posted in Mambu using as Transaction Channel: CB_Transfer.

In case the beneficiary account is Closed/Disabled ClearBank will sent one TransactionRejected webhook and the Deposit transaction in Mambu will not be posted.

Notes:

  1. Sequence diagram from Outbound flow is applicable for Interbank transfer.
  2. When the monitorOutboundTransaction key is set to true, the outbound interbank transaction will be monitored and posted to the FinCrime module.
  3. If the Adjusted Withdrawal fails a notification is sent based on the Notification Setup configuration. After the root cause of the failure is known and the payment is identified in ClearBank the Adjust needs to be manually done in Mambu.
  4. An Interbank transfer can be Held in ClearBank (see Outbound/Inbound Held Payment flow).
  5. Sequence diagram from Inbound flow is applicable for Interbank transfer.
  6. When the monitorInboundTransaction key is set to true, the inbound interbank transaction will be monitored and posted to the FinCrime module.