MPO Setup
MPO
- Login in to your MPO environment Workspace. Click on the
Create
button and selectFrom file
. - Upload the JSON file with the pre-integration template. A new
WISE connector v_2.x.x.zip
file will be available in your workspace. - Open the
Setup
process, switch toView
mode and pressNew task
. Fill in all the parameters and clickAdd 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: Wise and Mambu data.
{
//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
"depositAccountFields_fieldSetId": "<deposit account custom field set Id from Mambu", //Custom field set id for the deposit account fields. // in connection with debtorIBAN
"debtorIBAN": "<deposit account custom field Id", //Created as part of the ClearBank integration. Stores the debtor account IBAN at the deposit account level.
"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.
//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
andconfiguredTemporaryQuote
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.
Wise Webhook Subscription
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 at the transaction level. 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.