MPO Setup
- Login in to your MPO environment Workspace. Click Create and select From file.
- 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. - Open the
[COMMON] processes -> [COMMON] Setup
folder and open theSetup
process, switch toView
mode and select New task. Fill in all the parameters and select Add task.Alternatively, the following JSON data can be used as
Setup
. Modify it accordingly and paste into theCode editor
tab. TheSetup
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*/
}
}
}
- Navigate to the Aliases tab and select Create.
- 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])
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.
- Requiring action → triggered when vital processes could not be performed. Requires manual intervention.
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)
andFX Transfers
failures -paymentFailedNotification
option should be set totrue
for the notifications to be sent; - For the
House Transfers
failures -accountsExchangeNotification
option should be set totrue
for the notifications to be sent;
The same logic applies to all notifications regardless of the notification system used in the connector.
Notifications setup
- Open the
[COMMON] processes
-[COMMON] Notifications logic
folder and access the Notifications setup process. - Switch to View mode, and select New task.
- 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)"
}