Productfy’s disbursement service provides an end-to-end workflow for companies or organizations to send money to recipients on a virtual or physical debit card. This service is available as a “no-code” white-label solution where Productfy provides all the user interfaces, or an API solution where you build your own UI, or a mix of both.
Here is the high-level sequence of events for a disbursement to be initiated all the way through the receiver getting the funds:
- Create disbursement request - Organizations must create a request to send a money to a customer, along with a security code
- Notify customer - Customers must be notified, via email by default, that they have money sent to them, with instructions on how to access it
- Authenticate customer - Customers authenticate via a token and a security code and provide identity information
- Fund Account - Funds can be transferred in real-time from a pre-funded funding account
- Provide account/card access - Customers can receive a virtual or physical debit card to spend funds and access a website that shows their remaining balance and transaction history
Prerequisites for API solutions
To set up your pre-funded disbursement account (the account the money for the disbursements will come out of), your organization must set up an Organization ID on the Productfy system with a Virtual Account that is funded from a Linked Account. You will only be able to disburse funds up the balance in this pre-funded account.
- For information on how to set up an Organization ID, please see here.
- You will need to setup a Person ID for the controller of the company. See instructions here.
- Contact Productfy to ensure the Organization ID has passed our KYB requirements.
- A virtual account will need to be created for the organization following instructions here.
- A third party bank account can be linked following instructions here.
- Finally an ACH transfer can be initiated to fund the account following instructions here.
Step 1 - Create Recipient
Before a disbursement can be created, you first need to create a Person ID for the recipient of the disbursement. The minimum required fields are first name, last name and email, but you can choose to store additional data with the Person ID if you want. Emails must be unique across recipients so it’s best to verify if the email has already been used by your customers or not using the API below.
Coming soon: Verify Email Is Unique API
If the email has not been used yet you can proceed with creating a new Person ID for the customer using the API below. If the email has already been used, you can create a second disbursement for the existing Person ID by skipping to step 2.
Step 2 - Create Disbursement Request
Create the disbursement request for the PersonID from above by calling the API below. The disbursement will start out with a status of Created. This API requires the following fields:
- Person ID - The customer who will be receiving the disbursement
- Security Code - Alphanumeric code used to authenticate the customer to get access. The security is specific to your use case and should be something that the only the customer knows. For instance, if you are refunding a flight, then the security code can be the ticket id. If you are paying out an insurance claim then the security code can be the claim id. If you are refunding an expense, then the code can be the invoice id.
- Amount - The amount of money you want to send
- Funding Account ID - The account ID where the money will come from
Step 3 - Send Disbursement Notification
Our Consumer Disbursement webhook will inform you to send out an email notification to a customer letting them know they have received a disbursement. To trigger the webhook, you must call the API below with the Disbursement ID you got in Step 2 above.
The Consumer Disbursement webhook will contain the information you need to construct your customer notification. The webhook payload is here.
Step 4 - Administer Disbursements
To help your administration and troubleshooting of disbursements, you will most likely want to query disbursement requests to view details. You can do that by calling the API below:
If you have a need to cancel an existing disbursement you can use the Cancel Disbursement API:
Step 5 - Validate Security Code
When the customer chooses to claim their disbursement, they need to enter the security code that you entered when the disbursement was first created. You can use the Validate Security Code API for this:
Note that the security code is half of the authentication mechanism; the other half is the token in the email.
Step 6 - Customer KYC
After customers have validated their security code they need to pass the necessary level of KYC before they can get access to their funds. For non-reloadable disbursement cards, this is a watchlist check only, for reloadable cards this is full KYC. See our KYC guide for more information on our KYC service.
Step 7 - Account opening, funding, and card issuance
Once the customer has passed KYC you are able to give them their money. The Issue Consumer Disbursement API will do 3 things automatically:
- Create a virtual account under the Person ID
- Create a real-time transfer from your designated funding account to their virtual account ID
- Issue a debit card (virtual or physical) on top of the virtual account