Read for API integration recommendations for remittance use case.
Remittance transactions include processing and delivery of person-to-person transactions. Based on your requirements and agreement with Machnet, you may deliver the transactions yourself. Regardless, these are external transactions to external receivers who may be residing in a country different from the sender.
This section will guide you through the API endpoints for the remittance use case. Please note that these are recommendations for standard flow and can be customized as per your needs.
The first step in creating the user flow is to register the user in our system. Individual users need to be registered with the business field as false. Users can only be registered from the country which has been enabled for you as per your agreement with Machnet. Fields outlined as mandatory in the user object are required during registration.
You will have to provide user information so that necessary KYC checks can be conducted on the sender. In order to run KYC on the sender, you will have to:
User's KYC verification is conducted using the following information:
- Date of birth
- Phone number
Once you have submitted the information, you check what KYC information has been provided by a user and its verification status. Each information required for KYC and tier verification is referred to as a CIP tag and each CIP tag has their own verification status. Only when all CIP tags required for KYC verification (listed above) are verified will the KYC status of the user be verified.
Additional information may be required based on the transactions the user wants to create over a period of time. This information is outlined in your spec sheet and can also be obtained using this API. You can submit the additional information and update existing information collected from the user using the Update KYC information API. Each time new information is submitted, make sure to initiate KYC on the user to ensure verification of all submitted information.
A user with the type "RECEIVE" will need to be added as the receiver of the transaction. Since remittance transactions only support C2C transaction type, all receive users in remittance transactions need to be individuals.
Based on the payout method and corridor of the transaction, different details of the receive user need to be collected.
For Bank Deposit and Wallet transactions, the receive user's account also has to be added. The available banks and their details can be obtained using the Banks API. All banks which support remittance will have txn_supported_types as C2C. Funds will be directly deposited into this account. The available wallets and their details can be obtained using the Payers API.
For Cash Pickup and Home Delivery, the user will have to select a payer location. The available payer details can be obtained using the Payers API. The associated payer_id for the selected location will have to be used during transaction creation.
Once the required transaction information has been collected, the user will then have to link a funding source for the transaction. We support bank accounts and debit cards. These are added using a widget to ensure security. For Client approved for wallet product, user's wallet can also be used as a funding source. In order to add wallets for users, please review the wallet use case guide.
The sender can add a funding account and proceed to create a transaction as long as their KYC status is not UNVERIFIED and IN PROGRESS.
You are now ready to create the transaction. Please note that users with SEND capabilities can only create transactions within the limits set in the CIP documents. The transaction limits available to a user are based on the submitted KYC information and their verification status.
All transactions above the user's permitted limits and below the maximum transaction limit is placed on HOLD with the reason T004 Transaction Limit Exceeded. In such cases, the user will need to provide additional information to increase their transaction limits. The verification status of those additional required fields (CIP tags) will be in REQUESTED status. Once this information is submitted, you will need to initiate KYC again for the user. If the submitted information is VERIFIED, the transaction will be forwarded for processing.
If the transaction amount exceeds the maximum transaction limit set for a user of a Client, the transaction will be CANCELED.
Even though a transaction has been created, a transaction will not be forwarded for payout to the beneficiary unless you send a delivery request. You can choose to send a delivery request once the funds have been debited from the sender (transaction status: PROCESSED) to contain risks or beforehand to ensure faster payments.
If you are delivering the transaction using your own payout network and NOT using our network, you will need to update the delivery status on our system as well.