FPS and CHAPS

The Clearing House Automated Payment System (CHAPS) provides a limited faster-than-Bacs service for high value transactions, while the Faster Payments Service (FPS) is focused on a larger number of smaller payments.

IBAN linkage

Outbound payment

ClearBank Retail Banking: IBAN linkage

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

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

It is important to note the following:

  1. When the hasVirtualAccountExternalID property is set to:
    • true in ClearBank config: An IBAN is automatically generated by ClearBank based on the unique external identifier provided and matches ClearBank X-Request-ID. The IBAN generated is used to create the Virtual Account that is linked to Mambu Deposit Account.
    • false in ClearBank config: An IBAN must have been previously generated and linked to the Mambu Deposit Account.
  2. When hasVirtualAccountExternalID is set to true and an IBAN is also provided at Deposit Account Creation, a Notification is sent due to conflicting IBAN generation.
  3. When the clearBankAccountSetup property has the value singleRA the linkage must be skipped as no IBAN is mapped at Deposit Account level, and Virtual Account feature is not used from ClearBank.

Inbound payment

This template allows you to initiate inbound transactions using an external account for existing Mambu clients that have Mambu deposit accounts using the UK payment schemes FPS and CHAPS. The ClearBank webhooks that can be triggered for Inbound flow are TransactionSettled and InboundHeldTransaction.

ClearBank Retail Banking: Inbound Payment

The Deposit Scheme Router [triggered by MPO webhook receiver] Mambu Process Orchestrator (MPO) process is automatically triggered when a payment is initiated from the ClearBank Portal Simulator and the 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, the Inbound Payment process is triggered where the Deposit Account and Mambu customer are identified based on the value stored in ClearBank config for the clearBankAccountSetup parameter as follows:

  • For VA: The IBAN provided in TransactionSettled webhook sent by ClearBank is used for identification.
  • For singleRA: The payment reference provided in TransactionSettled webhook sent by ClearBank is used for identification.

Based on the payment scheme the following validations are made:

  • FPS: If confirmationOfPayee is set to true in ClearBank config, the following validation is made:
    • only when Mambu Client Name equals to ClearBank Transaction Owner Name the payment is processed.
    • Otherwise, if confirmationOfPayee is set to false this validation is skipped. After this validation, if the Mambu Client Name is different to ClearBank Owner Name, the Virtual Account owner is updated in ClearBank with the Mambu Client Name. The Mambu Deposit [Inbound Payment] MPO process is triggered once these validations are successful. If the Mambu Client Name is different to ClearBank Transaction Owner Name the payment is declined. This logic also applies to Inbound Interbank payments, Chaps International payments and Outbound Intrabank Transfer (Only Credit).
  • Chaps: The following validation is made:
    • If the Mambu Client Name equals to ClearBank Owner Name, the payment is directly processed and Mambu Deposit [Inbound Payment] MPO process is triggered.
    • If they are different, first the Virtual Account owner is updated in ClearBank with the Mambu Client Name and after that the flow continues.

When clearBankAccountSetup has the value singleRA the name validations are skipped (Mambu Client Name vs. ClearBank Transaction Owner Name) for all schemes. The config parameter transactionSingleAccount is required when clearBankAccountSetup is set to singleRA. If clearBankAccountSetup is set to singleRA and transactionSingleAccount is empty or missing, the setup process will fail. The transactionSingleAccount parameter specifies which ClearBank account’s IBAN will be used for all the transactions: OA - Operating Account or CMA - Client Money Account.

In Mambu, a Deposit transaction is posted under a 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 GBP1000000 and the payment scheme used is FPS, the request will be rejected by the MPO router Deposit Scheme Router [triggered by MPO webhook receiver], as the maximum allowed amount for FPS has been exceeded. In this case the payment is reversed in ClearBank by posting a new Outbound payment.

Inbound Held payment

Following an Inbound Held payment the webhook TransactionSettled may be received if the payment passes ClearBank’s sanction screening check:

  • InboundHeldTransaction:
    • False Positive: The payment is released.
    • True Positive: The payment remains under investigation.

The InboundHeldTransaction ClearBank webhook is triggered only when a payment is suspended and 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 analysis the result is False Positive, 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.

If the result is True Positive, 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 or API.

Inbound Reversal - FPS

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

  • First Credit, when isReturn:false
  • Debit (reversal), when isReturn:true
  • Second Credit (retry), when isReturn:false

After an inbound payment is sent and TransactionSettled (First Credit, when isReturn:false) webhook is acknowledged and the Inbound flow is 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 the second TransactionSettled (Debit -> isReturn:true) webhook in MPO . This second webhook is stored in the MPO process Inbound Payment Webhook for 30 minutes.

If the reversal scheme process is:

  • Successful: The FPS scheme retry is triggered, which implies that the third TransactionSettled (Second Credit - isReturn:false) webhook is sent by ClearBank. This webhook is acknowledged and stored in Inbound Payment Webhook, since no action is required.
  • Unsuccessful: If the third webhook is not sent after 30 minutes, the reversal process is automatically triggered by readjusting the Deposit transaction in Mambu, since the Inbound payment in ClearBank is already reversed.

International Inbound Payment - CHAPS

International Inbound CHAPS payments, which have originated overseas, are received in GBP from the originating bank’s correspondent in the UK. The Inbound Payment Webhook MPO process decides if the inbound payment is domestic or international.

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

Outbound payment

This template allows you to initiate outbound transactions using an external account for existing Mambu clients that have Mambu deposit accounts, using the UK payment schemes FPS and CHAPS.

The ClearBank webhooks that may be triggered for outbound flow are: TransactionSettled, OutboundHeldTransaction, PaymentMessageAssesmentFailed, PaymentMessageValidationFailed, and TransactionRejected.

ClearBank Retail Banking: Outbound Payment

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

The purpose of the Withdrawal Scheme Router [link to Mambu webhook] main process is to decide if the payment meets the following conditions based on the value stored in ClearBank config for the parameter clearBankAccountSetup:

  • For VA: An IBAN must be mapped to the deposit account, payment scheme is FPS/CHAPS, and deposit account currency is GBP. If the conditions are not met then the Withdrawal is adjusted in Mambu a notification is sent based on the Notification Setup configuration.
  • For singleRA: The payment reference must contain the debtor deposit account ID from Mambu. The payment reference field is automatically populated with Mambu Deposit Account value sent from the Withdrawal webhook details if it is sent empty.

Once the payment scheme is known and IBAN linkage is verified, then the Withdrawal [Outbound Payment] process is triggered. The ClearBank [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. 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.

ClearBank Virtual Account validation using the IBAN provided in the Withdrawal webhook details is skipped when singleRA is used for all the transactions, since the Virtual Account feature is not used.

The initial transactionStatus value after the Withdrawal webhook is 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 or did not reached ClearBank = transactionStatus = API_Rejected

If the amount requested to be withdrawn is greater than GBP1000000 and the payment scheme used is FPS, the request will be rejected by the MPO router Withdrawal Scheme Router [link to Mambu webhook] as the maximum allowed amount for FPS has been exceeded. In this case the Withdrawal transaction will be adjusted in Mambu.

Outbound Held payment

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

  • OutboundHeldTransaction:
    • False Positive: The payment is released.
    • True Positive: The payment remains under investigation.

The webhook OutboundHeldTransaction is triggered only when a payment is suspended in ClearBank and analysis is required. The payment payload is stored in Outbound Payment Webhook MPO state diagram. The transactionStatus custom field value is updated from Pending to Held for Mambu Withdrawal transactions, 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, the payment is released by ClearBank and a TransactionSettled webhook is sent, which is processed in Outbound Payment Webhook MPO process. The transactionStatus custom field value is updated from Held to Settled for Mambu Withdrawal transactions.

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.

If 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 may be received. One for each of the following stages:

  • First Debit, when isReturn:false.
  • Credit (reversal), when isReturn:true.
  • Second Debit (retry), when isReturn:false.

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

If the reversal scheme process is:

  • Successful: The 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: If the third webhook is not sent in 30 minutes, the reversal process will automatically be triggered, by readjusting the Withdrawal transaction in Mambu, since the Outbound payment in ClearBank is already reversed.

Transfer payment

This template applies for Transfer payments inter-bank (different ClearBank sort codes, but the same institution) initiated as outbound and inbound transaction and intra-bank (same ClearBank sort codes) initiated as outbound transaction using UK payment schemes FPS and CHAPS.

Intrabank payment

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.

The purpose of Withdrawal Scheme Router [link to Mambu webhook] main process is to decide if the payment meets the following conditions based on the value stored in ClearBank config for the parameter clearBankAccountSetup:

  • For VA: An IBAN must be mapped to deposit account.
  • For singleRA: The payment reference must contain the debtor deposit account ID and the creditor deposit account ID (both from Mambu) separated by hyphen: {debtorDepositAccountId}-{creditorDepositAccountId}. Since there is no linkage with any ClearBank IBAN, all the transactions will be made using the same debtor IBAN based on the value stored in field transactionSingleAccount- OA (Operating Account) or CMA (Client Money Account).

After payment details are validated, ClearBank will send two TransactionSettled webhooks, which match the EndtoEndTransactionID value in ClearBank: one debit and one credit webhook. If only a debit webhook or a credit webhook arrives and there is a delay before receiving the second webhook, the process waits for a specific amount of time to receive the second webhook. After this time elapses, and if the second webhook does not arrive, the withdrawal transaction is reversed. The time period to wait between webhooks can be configured using the intrabankTransferWaitingTime value.

The TransactionSettled (Debit) webhook will be stored in [Outbound Payment Webhook] and the withdrawal transactionStatus custom field value is updated from Pending to Settled. The TransactionSettled (Credit) webhook will be processed further for the transfer flow by first validating the creditor details and, secondly, posting a deposit transaction in Mambu using the CB_Transfer(transactionStatus= Settled) transaction channel.

Both withdrawal and deposit Mambu transactions will have the same transactionStatus and transactionEndToEndId values. If the beneficiary account is Closed or Disabled, ClearBank will send one PaymentMessageValidationFailed webhook, the Withdrawal in Mambu will be adjusted, and the transactionStatus will be updated from Pending to Failed.

Outbound Interbank payment

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

Based on the value of parameter clearBankAccountSetup from ClearBank config the following logic applies:

  • For VA: An IBAN must be mapped to deposit account.
  • For singleRA: The payment reference must contain the debtor deposit account ID from Mambu. If the payment scheme is MBU_Transfer, the payment reference must also contain the creditor deposit account ID from Mambu.

After payment details are validated, ClearBank will send 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.

If the beneficiary account is Closed or Disabled, ClearBank will send 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 send one TransactionSettled webhook for Credit, which will be stored in Inbound Payment Webhook MPO process. The transactionStatus will be updated from Pending to Settled. A Deposit transaction is posted in Mambu using the Transaction Channel: CB_Transfer.

If the beneficiary account is Closed or Disabled, ClearBank will send one TransactionRejected webhook and the Deposit transaction in Mambu will not be posted.

When Supplementary Data is enabled on ClearBank environment and the config property isSupplementaryDataUsed is set to true and if the debtor IBAN is not sent in TransactionSettled webhook (CounterpartAccount), the concatenated values of BIC and Account Number will be mapped into Mambu custom field debtorIBAN - instead of the default text NOT PROVIDED. These values are read from TransactionSettled webhook Supplementary Data object (with or without the AML extension). If Account Number cannot be extracted from CHAPS supplementary data field, because it was not sent, only BIC will be mapped into the debtorIBAN field.

Monthly ClearBank charges

In ClearBank there are two types of charges applicable to the financial institution:

  • Transaction charges
  • Monthly charges

Monthly Charges are handled in the connector as follows. When ClearBank sends a TransactionSettled webhook with field Scheme = Transfer and field Reference = ClearBank Charges, the webhook is acknowledged and processed in the connector in Outbound Payment Webhook process. When the property skipAccountingForCharges is set on:

  • false: In Mambu config, one manual journal entry is logged in Mambu: Debit - ClearBank Charges GL and Credit - Scheme GL.
  • true: In Mambu config, the accounting is managed by the client and from the connector a notification as [INFO] is sent accordingly - based on the Notification setup.