Remittee Export Integration
This integration involves the following parts :
-
Middleware Configuration
-
MTMS Configuration
Middleware Configuration
From the Middleware the steps are as follows:
Middleware Setup
Setup REMITTEE API Base URL
Remittee has two API endpoints. One for authentication and others for export operations.
UAT
https://remitee-identity-preprod.azurewebsites.net/
https://remitee-moneytransfer-preprod.azurewebsites.net/api/
Production:
https://remitee-identity.azurewebsites.net/
https://remitee-moneytransfer.azurewebsites.net/api/
Please make sure to update .env.local file in the hydra system as below for production URL update. This is a ONE time setup only.
//ssh into Hydra production
ssh hydra@rayyanuk.remitone.com
cd public_hydra/current
vi .env.local
###> Application ###
REMITTEE_IDENTIFY_URL=https://remitee-identity-preprod.azurewebsites.net/
REMITTEE_TRANSFER_BASE_API_URL=https://remitee-moneytransfer-preprod.azurewebsites.net/api/
###< Application ###
1.1. Create a client connected to the MTMS system
To create a new client, you have to log into the middleware, go to the Clients menu from the sidebar, click on "Add Client" and fill the fields in. The URL is the URL of the MTMS system to pull the transactions from.
1.2. Create an association between the client and the integration, and set the correct values for the configuration parameters
Go to the Client Integrations menu from the sidebar then click on Add Client Integrations.
On the next screen, select the Client and Integration.
Create a super bank in any of the countries that the client wants for Remittee.
Create a web service user for this super bank and add it to the next step.To do so, connect as admin in ARM, go to Admin menu → Web Service Users and click on Add Web Service User. Give all the permissions. Make sure to make a note of the username and password we need this in the next step.
Afterward, set the right values in the textareas:
(Client Auth Configs will host the information relative to the web service user that will connect to the MTMS system, Integration Configs will have the parameters to export the transactions to Remittee.)
Client Configs
{
"ws_auth": {
"pin": 12345,
"password": "Password1!",
"username": "remittee_ws_user",
"super_bank": true
},
"two_step_cancellation": {
"enabled": true,
"transition_state": "DELETED"
}
}
Integration Configs
{
"client_id": "xxxxxxxxxxxxxxxxxxxxxxx",
"client_secret": "xxxxxxxxxxxxxxxxxxx",
"benef_ac_types": {
"AH": "SVGS",
"CC": "CACC"
},
"benef_id_types": {
"SOS": "SSN",
"ARNU": "ARNU",
"CCPT": "Passport",
"CUST": "CUST",
"DRLC": "DRIVINGLICENSE",
"NIDN": "NATIONALID",
"TXID": "TAXID"
},
"retry_interval": 30,
"max_retry_attempts": 10,
"settlement_currency": "USD"
}
The client_id and client_secret fields will be provided by Remittee.
benef_ac_types are these values :
"AH": "SVGS",
"CC": "CACC"
and benef_id_types :
"SOS": "SSN",
"ARNU": "ARNU",
"CCPT": "Passport",
"CUST": "CUST",
"DRLC": "DRIVINGLICENSE",
"NIDN": "NATIONALID",
"TXID": "TAXID"
If super_bank is TRUE, there's no need to set the processing bank. Leave it empty
Tick the enabled checkbox to activate the association.
To finish, click the Create button on the top right corner.
Two Step Cancellation
The Remittee integration requires a two-step cancellation process, also known as deferred cancellation. In this mode, when a transaction is cancelled through the Middleware API (invoked by the MTMS real-time subscriber), the Middleware sends a cancellation request to Remittee. However, at this stage, Remittee only initiates the cancellation process without immediately cancelling the transfer.
To determine the final status, the system must periodically poll the Remittee service until confirmation is received that the transaction has been successfully cancelled.
In MTMS, the transaction is initially marked as ABORTED upon sending the first cancellation request. Once Remittee confirms that the transaction has been fully cancelled, the transaction status is updated to DELETED in MTMS.
Please ensure that the two-step cancellation mode is enabled in the client configuration as outlined above.
1.3 Create an Middleware API user to connect from MTMS to Middleware
Go to the API Users menu from the sidebase then click on Add API User.
On the screen, select the Client Integration created from Step 1.2 above.
Then provide a desired username and password. Please make sure provide a strong password. And finally click Enabled tick box to enable the API user. Keep these details handy as you will need them.
Please make sure ROLE_API_USER is selected.
To finish, click the Create button on the top right corner.
MTMS Configuration
2.1. Configuring entities
Supported Transfer Types
-
Account transfer
-
Mobile Transfer
-
Cash Collection
To configure the MTMS for the Remittee integration, you need to import entities from Middleware system. The middleware system will import entities from Remittee and send to MTMS system to create necessary delivery entities.
NOTE: Remittee operates on different corridors and before you setup the integration please check with client and get a list of supporter destination countries required for this integration, if you have not done so already.
To run entity import configure the Remittee config under MTMS custom/config/config_3rdparty.json. Sample config as follows
"CONFIG_REMITEE": {
"enabled": true,
"processing_bank_prefix": "REMITEE-",
"entity_import_countries": [
"DO",
"HT",
"PE",
"VE"
],
"hydra_credentials": {
"base_url": "https://hydratest.remitone.com/api/",
"username": "remittee_user",
"password": "Password1!"
}
}
Please update the config as necessary. The entity_import_countries are the supported countries mentioned above. You can set array of countries here.
The hydra credentials are the API user credentials for the middleware. You need to setup the integration and create an API user and use those configs to update here in MTMS.
Hydra Base URl
Test: https://hydratest.remitone.com/api/
Production: https://hydra.remitone.com/api/
To import the entities, please type the following command on terminal :
php bin/integration remitee:import-entities
The entity import command will automatically create Proc banks and necessary delivery entities based on the results of Remittee API results. You can see the logs in logs/remitee_import_entities.log
2.2. Link the new proc banks to the super bank
The new proc banks that were imported will need to be linked to the super bank we created in step 1.2.
For all the countries that we imported entities for we will need to edit the proc bank and add the super bank as their parent bank.
2.3. Update state machine configurations
To update all the Remittee transactions to HQ_OK, add a record to custom/config/config_state_machine.json under modify_state_machine
{
"modify_state_machine": {
"BANKS_TO_HQOK": [
"REMITEE-"
]
}
}
Realtime ABORT Subscriber
Remittee integration required realtime transaction ABORT subscriber to delete the transaction at partner level. Please enable the subscriber under custom/config/config_notifications.json as follows
{
"CONFIG_NOTIFICATION":{
// real-time subscriptions :
"realtime_subscriptions":{
"ABORTED_TRANSACTION": [
"remitone\\integration\\Remitee\\Subscribers\\RemitteeRealtimeCancelTransactionSubscriber"
]
}
}
}
make sure to update the configs after the changes, php config_update.php
2.4. Update System settings
Please make sure following options to be enabled/true.

If the cron jobs are running automatically, transactions pulled from the MTMS will be visible in the Transactions menu.