Webhook Receivers

These two webhook receivers do not represent flows themselves, but are used by different flows to receive notifications from Currencycloud which will either start a process or move a running process along to the next step.

Conversions webhooks receiver

The process [COMMON] CurrencyCloud WEBHOOK receiver for CONVERSIONS [Linked to CCy webhook] is used in the integration only for the transactions that imply a conversion from one currency to another, as is the case for FX Transfers and House Transfers.

Conversions webhook receiver statuses

The scope of this process, is to update a conversion with one of the two statuses: trade_settled or closed. All intermediary statuses are ignored.

[PREFUND] FX transfers - conversion statuses and actions

Conversion typeConversion scopeStatusActions
INTERINITIALtrade_settledContinue FX payments flow.
INTERMIRRORtrade_settledNo action (refund flow was successfully executed).
INTRAINITIALtrade_settledContinue the house transfer flow.
INTRAMIRRORtrade_settledNo action (refund flow was successfully executed).
INTERINITIALclosedNotify user.
INTERMIRRORclosedNotify user.
INTRAINITIALclosedNotify user.
INTRAMIRRORclosedNotify user.

Legend:

  1. Conversion type INTER - “interbank transaction” - stands for FX Transfers
  2. Conversion type INTRA - “intrabank transaction” - stands for House Transfers
  3. Conversion scope INITIAL - “performed as part of the happy flow (FX and House Transfers)”
  4. Conversion scope MIRROR - “performed as part of the refund flow (FX and House Transfers)”

Please Note
Conversion webhook details and payload examples can be found in the Currencycloud notifications documentation.

Extended information related to pre-fund FX transfer and house transfer logic can be found in the dedicated articles.

Payments webhooks receiver

The process [COMMON] Currencycloud WEBHOOK receiver for PAYMENTS [Linked to CCy webhook] is used by the FX transfer and Local payments processes. The scope of this process is to update Mambu transactions with the Currencycloud payment status.

Sequence diagram

Payments webhook

Webhook receiver functionality

  1. The webhook receiver captures the payment information from the Currencycloud webhook.
  2. The Mambu transactionId and depositAccountId are retrieved, based on the Currencycloud paymentId.
  3. The payment status is updated at the withdrawal level in Mambu.
    • If the status is failed or completed, the transaction is searched for in the Payments State Diagrams and the status is updated at the payment level in the MPO State Diagram.
    • If the payment is not found in the state diagrams, a backup mechanism updates the transaction in Mambu with the new payment status and sends a notification to the assigned user asking for manual adjustment of the transaction steps, if the payment is failed.

Please Note
Transfer webhooks are also sent from Currencycloud to this webhook receiver, but they are ignored since the status for these transfers is currently not used by any flow.