Read for API integration recommendations for business payment use case.
We consider all B2B and B2C transactions as business payments. Our business payments API include both transaction processing and delivery flow of business payments. Based on your requirements and agreement with Machnet, you may deliver the transactions yourself. Regardless, these are external transactions to external receivers (individuals or businesses) who may be residing in a country different from the sender.
This section will guide you through the API endpoints for the business payment use case. Please note that these are recommendations for standard flow and can be customized as per your needs.
The first step is to register the business user in our system. Make sure to indicate business: true when you register a user. 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.
Upon registration, the user will have to provide basic information on the business and details of the business representative so that necessary KYB checks can be conducted. In order to run KYB on the sender, you will have to:
User KYB is conducted using the following basic information.
- Name of company
- Type of company
- Date of formation of the company
- Registered address
- Mailing address
- Phone number
- Company website
- Email address
- Nature of business
- No. of employees
- EIN Number
- EIN Document
- Certificate of Incorporation
- Business Representative Information
- Personal KYC details of beneficial owners (25% or more ownership)Full nameCountry of residenceDOB
- Personal KYC details of the account operatorFull nameAddressDOBSSN if US individualCopy of US government issued ID if US individualPassport no. if non-US individualCopy of foreign passport if non-US individual
Once you have submitted the information, you also can check what KYB information has been provided by a user and its verification status. Each piece of information required for KYB and tier verification is referred to as a CIP tag and each CIP tag has its own verification status. Only when all CIP tags required for KYB verification (listed above) are verified will the KYB status of the user be verified.
Additional information may be required based on the transaction 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. Based on the information, you can submit the additional information collected from the user using the Update user API or the Update business representative API. Each time new information is submitted, make sure to initiate verification on the user to ensure verification of all submitted information.
All transactions must have an associated receiver. For business payments, the receiver could be an individual or a business. To add a receiver, create a user with type "RECEIVE" and based on whether the receiver is an individual or business, you can set business as true or false.
Based on whether the receiver is an individual or a business and the corridor of the transaction, different details of the receive user need to be collected. These details are provided to you by the Machnet Team. You will have to collect all mandatory information and conditional information (if applicable) for the specific transaction, otherwise, the transaction may not be delivered to the receive user.
We only support payout to bank accounts for business payments. Hence, along with the receive user details, 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 business payments will have txn_supported_types as B2B and/or B2C. Funds will be directly deposited into the indicated receive user's account.
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.
The sender can add a funding account and proceed to create a transaction as long as their KYB status is not UNVERIFIED and IN PROGRESS.
You may need to collect additional information for each transaction such as an invoice for business payment or the purpose of the transaction. The additional information required may be based on the transaction amount or transaction corridor. Machnet will provide you with the requirements if additional transactional information needs to be collected. These need to be submitted during transaction creation.
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 KYB 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.