Integration Setup

Installation and configuration

  1. Log in to your Mambu Process Orchestrator (MPO) environment. Press the Create button and select the From file option. Select the WISE connector v_2.x.x. zip file and press open. image

  2. Once the upload is complete, open the Setup folder. Open the Connector setups process, switch to View mode, and press New task. image

  3. Update the following JSON with proper data, copy-paste into the Code editor tab and click Add task. Or click on New Task button and fill in all the necessary parameters, then click the Add task button.

{
//Mambu parameters
    "mambuPassword": "<Mambu password>",
    "mambuUser": "<Mambu user>",
    "mambuTenantUrl": "<Mambu tenant URL>",
    "ApiKey": "<Mambu payments system API key>", // used only for the SEPA integration
    "isExternalDataRequiredForAml" : "<`true` if other systems need to be called for additional data. `false` otherwise`>", // used in the AML monitoring logic
    "amlCheck" : "<`true` if the AML check is enabled. `false` otherwise`>", // used in the AML monitoring logic
    "amlExtensionUsed" : "<`true`/`false` -> if the client will use an external AML system or not - as description>", // used in Prefund logic
    "amlListenerProcess" : "<id of the `AML Listener process`>", // used in the AML monitoring logic
    "earLinkedIban": "<true or false>",//depending on the tenant's option to link IBANs to the deposit accounts

//Mambu Transaction Channels
    "twLocalPaymentsTransactionChannel" : "<Transaction channel Id for Withdrawals>",
    "twLocalPaymentsTransactionChannelSettlement" : "<Transaction channel Id for settlement deposit>",//Used in the prefund logic only.
    "twLocalPaymentsTransactionChannelRefund" : "<Transaction channel Id for withdrawal refund as deposit transaction >",

//Mambu mandatory transaction Custom Fields details
    "transactionFields_fieldSetId": "<transaction custom field set Id from Mambu", //Custom field set id for all the transaction fields related to Wise.
    "transactionFields_transferIdField": "<transaction ID custom field Id from Mambu>", //Transaction field to store the Id of the linked Wise transfer.
    "transactionFields_transferStatusField": "<transaction status custom field Id from Mambu>", //Transaction field to store the status of the linked Wise transfer.
    "transactionFields_transferSettlementReference": "<transaction settlement reference custom field Id from Mambu>", //Transaction field to store the settlement reference of the linked Wise transfer.
    "transactionFields_recipientName": "<transaction recipient name custom field Id from Mambu", //Transaction field to store the recipient name of the linked Wise transfer.
    "transactionFields_paymentRate": "<transaction payment rate custom field Id from Mambu>", //Transaction field to store the payment rate (exchange) of the linked Wise transfer.
    "transactionFields_targetAmount": "<transaction target amount custom field Id from Mambu>", //Transaction field to store the target amount of the linked Wise transfer.
    "transactionFields_targetCurrency": "<transaction target currency custom field Id from Mambu>", //Transaction field to store the target currency of the linked Wise transfer.    
    "transactionFields_recipientCountry": "<transaction recipient country custom field Id from Mambu>", //Transaction field to store the recipient country of the linked Wise transfer.
    "transactionFields_recipientAccountSwiftOrBic": "<transaction recipient account swift/Bic field Id from Mambu>", //Transaction field to store the recipient Account Swift or Bic of the linked Wise transfer.
    "transactionFields_recipientIBANorAccNumber": "<transaction recipient account IBAN/AccNumber custom field Id from Mambu>", //Transaction field to store recipient IBAN or Account Number of the linked Wise transfer.
    "transactionFields_recipientAchRoutingNumber": "<transaction recipient account Routing number custom field Id from Mambu>", //Transaction field to store the recipient Routing Number of the linked Wise transfer.
    "transactionFields_paymentReference": "<transaction payment reference custom field Id from Mambu>", //Transaction field to store the payment reference of the linked Wise transfer.    
    "transactionFields_paymentTotalFee": "<transaction payment total fee custom field Id from Mambu>", //Transaction field to store the payment Total Fee of the linked Wise transfer.    

//Mambu optional Custom field details - used in plug-in with other connectors logic
    "AMLstatus": "<transaction custom field Id", //Created as part of the CA-TM integration. Stores the AML status of a transaction.
    "amlEndToEndId": "<transaction custom field Id", //Created as part of the CA-TM integration. Stores the AML endToEnd transaction id.
    "debtorIBAN": "<deposit account custom field Id", //Created as part of the ClearBank integration. Stores the debtor account IBAN at the deposit account level.

//Mambu settlement accounts by currency - used only in the Prefund logic
    "settlementCurrency1": "<settlement currency for which the bank has assigned settlement agreement with Wise and set as currency in Mambu>", //Settlement prefund bulk only.
    "settlementAccount1": "<settlement account id in Mambu where the transactions in a certain currency will be logged>", //Settlement prefund bulk only.
    "settlementCurrency2": "<settlement  currency for which the bank has assigned settlement agreement with Wise and set as currency in Mambu>", //Settlement prefund bulk only.
    "settlementAccount2": "<settlement account id in Mambu where the transactions in a certain currency will be logged>", //Settlement prefund bulk only.

//Mambu settlement currencies - used in the Payments Gateway logic (if the bank has accounts in multi-currency)
    "settlementCurrency1": "currency code1",
    "settlementCurrency2": "currency code2",

//Mambu payment rails - used for transfer routing based on source currency
    "paymentRailCurrency1": "<paymentRailCurrency1>",//Stores the the 3 letters code currency of the Mambu tenant.
    "processForCurrency1": "<processForCurrency1>",//Stores the process id that handles the "paymentRailCurrency1".
    "paymentRailCurrency2": "<paymentRailCurrency2>",//Stores the the 3 letters code currency of the Mambu tenant.
    "processForCurrency2": "<processForCurrency2>",//Stores the process id that handles the "paymentRailCurrency2".

 //Wise parameters
    "TWurl": "<Wise URL>",
    "clientSecret": "<Mambu client secret key generated by Wise>",
    "clientId": "<Mambu client Id generated by Wise>",
    "applicationClientId": "<Application Id generated by Wise for this integration>",//There can be multiple applications for the same clientId but usually the applicationClientId and the clientId are the same.
    "creditorIBANcollector": "<Mambu collector IBAN opened in Wise>",
    "creditorNameCollector": "<Collector account holder name>",
    "configuredPayIn": "TRUSTED_PRE_FUND_BULK, BANK_TRANSFER", //this string must contain 1 of the following values TRUSTED_PRE_FUND_BULK, BANK_TRANSFER  or both of them. If the string contains only one value then only that transfer option will be returned by the process.
    "configuredTemporaryQuote" : "TRUSTED_PRE_FUND_BULK, BANK_TRANSFER"//this string must contain 1 of the following values TRUSTED_PRE_FUND_BULK, BANK_TRANSFER  or both of them. If the string contains only one value then only that transfer option will be returned by the process.
    "redirect_uri" : "<redirect uri used to refresh tokens for existing users>",
    "webhookName": "MAMBU_TW_TransferStateChange", //A name to identify the webhook to ensure it is registered only once (can use the default MAMBU_TW_TransferStateChange).
    "webhookReceiverUrl": "<url of the 'Transfer Status Event Receiver' process>" //After uploading the connector, open the Transfer Status Event Receiver process and copy its "Direct url for tasks upload".
}

Notes:

  • configuredPayIn and configuredTemporaryQuote fields should contain the option(s) for the supported transfer types. The string can contain both options or only one of them in accordance with the bank’s needs;
  • configuredTemporaryQuote allows filtering the temporary quote options;
  • configuredPayIn allows filtering the authenticated user quotes;
{
    "config": {
        "configuredTemporaryQuote": "BANK_TRANSFER",
        "configuredPayIn": "TRUSTED_PRE_FUND_BULK, BANK_TRANSFER",
        ...
    }
}    

Notifications Module

The Notifications Module is a separate customizable plug-in that requires its own setup. For the Wise connector, the default notification mechanism is via Mambu task.

Notifications are sent either to the user assigned to the deposit account or, if no user is assigned, to a generic Mambu user.

In order to set up the Notifications Module you need to access the Notifications Module folder, open the 1. Notifications setup process and input the following parameters:

{
    "channel": "<task>",
    "mambuTaskAssignedUser": "<encoded key of the generic Mambu user>",
    "notificationConfigReference": "notificationConfigReference", //keep this value
    "paymentFailedNotification" : <true or false>, //default is set to true. Recommended
    "transferStatusChangeNotification" : <true or false>,//default is set to true
    "webhookUrl": "-",//parameter used for the integration with other notification systems
    "ZenDesk.apiKey": "-",//parameter used for the integration with other notification systems
    "ZenDesk.group_id": "-",//parameter used for the integration with other notification systems
    "ZenDesk.login": "-",//parameter used for the integration with other notification systems
    "ZenDesk.subdomain": "-"//parameter used for the integration with other notification systems
}

Note:
In order to integrate with other notification systems, additional development is required.

Subscribe to transfer status updates at the transaction level

The subscription for Wise transfer updates is done as part of the connector setup process.

The scope of the subscription is to receive Wise transfer status updates in MPO. The process responsible with capturing the transfer status webhooks is: 1. Update Transfer Status Event Receiver found in the Wise Webhooks folder.

The status of the Wise transfer is patched in the transferStatusField custom field at the withdrawal transaction level. The associated withdrawal is searched by Wise transferId saved in the corresponding custom field, as part of the transfer process.

More details about transfer statuses in Wise can be found in the Wise documentation.