MPO Setup

  1. Login in to your MPO environment Workspace. Click Create and select From file.
  2. Upload the JSON file with the pre-integration template. A new Currencycloud vX.X.X (YYYY-MM-DD) folder will be available in your workspace.
  3. Open the [COMMON] processes -> [COMMON] Setup folder and open the Setup process, switch to View mode and select New task. Fill in all the parameters and select Add task.
    Setup Alternatively, the following JSON data can be used as Setup. Modify it accordingly and paste into the Code editor tab. The Setup process contains configuration data for two main areas: Currencycloud and Mambu data.
{
    "ccyConfigData": {
        //CCy Url and login data
        "ccConfiguration": "CCconfiguration", /*keep this value*/
        "ccUrl": "Currencycloud URL",
        "ccLoginId": "Currencycloud Login ID",
        "ccApiKey": "Currencycloud User API key",
        "ccySepaParams": {
            //SEPA connector_CCy parameters
            "ccBIC": "Currencycloud BIC", /*only for SEPA Transfers connector*/
            "ccDebtorCountry": "Currencycloud country code ('DE')", /*only for SEPA Transfers connector*/
            "ccIBANcollector": "Currencycloud IBAN of the collector account", /*only for SEPA Transfers connector*/
            "ccNameCollector": "collector account name" /*only for SEPA Transfers connector*/
        },
        "retryLimit": "maximum number of retries for CC API Calls",
        "retryInterval": "time interval (in seconds) between retries for CC API Calls",
        "houseAccountBaseCurrency": "currency code used as base currency for CC house account",
        "subAccountEnabledInCC": "flag used in order to enable the use of the `on_behalf_of` field"
    },
    "mambuConfigData": {
        //Mambu url and login data
        "mambuConfigReference":  "mambuConfig", /*keep this value*/
        "mambuPassword": "Mambu user password",
        "mambuUrl": "Mambu instance URL",
        "mambuUser": "Mambu user",
        //PREFUND_AML monitoring option_LOCAL payments
        "enableTransactionMonitoring": "true if enabled/ otherwise false ",
        "mambuSepaParams": {
            //SEPA_Mambu Payments Gateway parameters
            "mambuApiKey": "Mambu Gateway API key", /*only for SEPA Transfers connector*/
            "mambuBIC": "Mambu tenant BIC" /*only for SEPA Transfers connector*/
        },
        "mambuCfs": {
            "mambuIbanCf": {
                //PREFUND_IBAN CF and CFset
                "ccIbanCustomField": "custom field for storing the client's IBAN", /*non EAR*/
                "ccIbanCustomFieldSet": "custom field set id - holds the cusom field for IBAN)"
            },
            "mambuTransactionCf": {
                "ccTransactionCustomFieldSetID": "custom field set id - holds the custom fields for CCy paymentId and status)",
                "ccPaymentIdCustomField": "custom field for storing the Currencycloud paymentId",
                "ccPaymentStatusCustomField": "custom field for storing the Currencycloud transaction status",
                "ccPaymentShortRefId": "custom field for storing the Currencycloud payment short reference ID",
                "ccPaymentIdfromAMLCustomField": "custom field for storing the AML payment ID",
	            "ccPaymentStatusfromAMLCustomField": "custom field for storing the AML payment status",
                "ccSenderInformationCustomField": "custom field for storing the CC incoming payment sender information",
                "ccConversionIdCustomField": "custom field for storing CC conversion id"
            },
            "mambuClientCf": {
                "ccClientCustomFieldSet": "custom field set id - holds the custom field for CCy sub-account id (clients)",
                "ccClientSubAccountCustomField": "custom field id - holds the value for CCy sub-account id (client)",
                "ccClientContactCustomField": "custom field set - holds the value for CCy contact id (clients)"
            },
            "mambuGroupCf": {
                "ccGroupCustomFieldSet": "custom field set id - holds the custom field for CCy sub-account id (groups)",
                "ccGroupSubAccountCustomField": "custom field id - holds the value for CCy sub-account id (groups)",
                "ccGroupContactCustomField": "custom field set - holds the value for CCy contact id (groups)"
            }
        },
        "localPaymentsTransactionChannels": {
            //PREFUND_Local payments transaction channels
            "ccLocalPaymentsTransactionChannel": "transaction channel id for withdrawals", /*only for Local payments connector_PREFUND*/
            "ccLocalPaymentsTransactionChannelRefund": "transaction channel id for refunds" /*only for Local payments connector_PREFUND*/
        },
        "fxTransferTransactionChannels": {
            //PREFUND_FX transfers transaction channels
            "ccTransactionChannelDep": "transaction channel id for deposits",/*only for FX transfers connector_PREFUND*/
            "ccTransactionChannelRefund": "transaction channel id for refunds",/*only for FX transfers connector_PREFUND*/
            "ccTransactionChannelWith": "transaction channel id for withdrawals" /*only for FX transfers connector_PREFUND*/
        },
        "incomingPaymentsTransactionChannelPrefix": "prefix used by transaction channels created for incoming payments",
        "sepaGLaccounts": {
            //SEPA_Mambu General Ledger Accounts
            "expenseGl": "expense GL account used to log loss", /*only for SEPA Transfers connector*/
            "incomeGl": "income GL account used to log profit", /*only for SEPA Transfers connector*/
            "assetGl": "asset GL account used to log profit/loss" /*only for SEPA Transfers connector*/
        },
        "localGLaccounts": {
            "transitGlAccountPrefix": "prefix of transaction GL account used for local payments logs",
            "CCSettlementGlAccountPrefix": "prefix of settlement GL account used for local payments logs"
        },
        "incomingPaymentsGLaccounts": {
          "transitGlAccountPrefix": "prefix of transaction GL account used for incoming payments logs",
          "schemeGlAccountPrefix": "prefix of settlement GL account used for incoming payments logs"
        },
        "mambuTimezone": "timezone of Mambu environment",
        "retryLimit": "maximum number of retries for Mambu API Calls",
        "retryInterval": "time interval (in seconds) between retries for Mambu API Calls",
        "postTransactionAfterSettlement": "true/false", /*only for House Transfer, false - the second part of the flow is triggered without waiting for Conversion status response*/
        "amlExtensionUsed": "true/false",/*false - AML for CA-TM conenctor will be used, true - external AML system*/
        "skipFinCrimeAccounting": "false/true", /*Enable or not accounting on Generic Fincrime Transaction Monitoring*/
        "finCrimeAliasNames": {
            "finCrimeEntryPoint": "ccy-fincrime-entry-point", /*FinCrime integration [ENTRY POINT/ To be linked to payment connector] alias short name*/
            "reverseListener": "ccy-fincrime-reverse-listener" /*FinCrime Reverse Listener [to be linked to Payments Listener] alias short name*/
        }
    }
}
  1. Navigate to the Aliases tab and select Create. MPO. Aliases tab
  2. Create eight new Aliases and link the corresponding processes:
    • two aliases for AML extension - Generic FinCrime (prefix [AML Entry Point])
    • six aliases for Currencycloud entry points ([Entry Point]) MPO. Link alias

Notifications

Notifications are triggered by MPO processes whenever negative flows or errors occur in the integration. If a client or group has an credit officer assigned to their Mambu account, notifications are sent to that user. If there is no assigned credit officer, notifications are sent to the Mambu user you specify in the mambuTaskAssignedUser field in the process configuration.

The connector sends two types of notifications:

  • Informative → no action required. informative
  • Requiring action → triggered when vital processes could not be performed. Requires manual intervention. actionable

Notification logic

Notifications for failed transactions are sent based on the notificationSubscription setting registered as part of the initial setup:

  • For the Local payments (intra and interbank) and FX Transfers failures - paymentFailedNotification option should be set to true for the notifications to be sent;
  • For the House Transfers failures - accountsExchangeNotification option should be set to true for the notifications to be sent;

The same logic applies to all notifications regardless of the notification system used in the connector.

Notifications setup

  1. Open the [COMMON] processes - [COMMON] Notifications logic folder and access the Notifications setup process.
  2. Switch to View mode, and select New task.
  3. Update the key-value pairs with your data and select Add task.

Common part of notifications regardless of the method

    {
    "accountsExchangeNotification": "true/false",
    "paymentFailedNotification": "true/false",
    "notificationConfigReference": "notificationConfigReference",/*keep this value*/
}

Based on the selected notification method: task, URL, or zenDesk the following JSON data should be filled in the above Setup:

Notification via Mambu Task

{
    "channel": "task",
    "mambuTaskAssignedUser": "8a0146096e3bce3a016e3bce3a2e0002 (Mambu User Encoded Key)",
}

Notification via ZenDesk Ticket

{    
    "channel": "ZenDesk",
    "ZenDesk.apiKey": "IUbepAEuiyypiuLQOzhAQWumi8Pyww2ODVrn6Yux (ZenDesk API key)",
    "ZenDesk.group_id": "450002405759 (ZenDesk User Group ID)",
    "ZenDesk.login": "ZenDesk Username/Email",
    "ZenDesk.subdomain": "clearBankMpo (ZenDesk subdomain)"
}

Notifications setup