Consumer and corporate programs only:This page applies to Consumer and Corporate Programs. This is not relevant to Authorized User Program.
1
Submit an application [Required]
When a customer signs up for your issuing program, you must submit an application for them. You will also need to submit specific compliance documentation with the application. There are minor differences between consumer and corporate programs.The endpoints for submitting an application are different, depending on the program:You must pass the IP address of the user in the request. If you have this handy - great! If not, you can always fetch it when the user signs up or applies for the card program.Rain responds to the request with a user object. To view the status of the application, check the
- Consumer programs: Create a consumer application for a user
- Corporate programs: Create a corporate application for a company
Creating a corporate application also creates a user:Rain requires every company on the Rain platform to have at least one user. This user must have a wallet, and this wallet will be an admin on their Rain smart contract. For your convenience, you can pass in both the user and company data to the same endpoint.
user.applicationStatus field. For more detail, see the different application statuses.More information about UBOs:For more information about UBOs, read the Ultimate Beneficial Owner guide.
2
Upload supporting documents [Required]
To upload supporting documents, use the user document upload endpoint for consumer programs or the company document upload endpoint for corporate programs. You’ll need to call the endpoint once for each document you want to upload. Rain accepts files of up to 20 megabytes, and you can find a list of acceptable KYC documents in the documentation.
3
Get application updates [Optional]
If an application is pending, there are a few ways to stay up-to-date with their status. You can get the status of their application via API using the user endpoint or the company endpoint.Rain can also send you a webhook when their application status changes. The payload will be the
userId or companyId and their new status, and if they need to perform additional verification, the URL to redirect them to.4
Resubmit an application [Optional]
If Rain requests more information, you can update the application with the required changes. You can use these endpoints, depending on the program:
- Consumer program: Update user application
- Corporate program: Update company application and Update UBO application
5
Test different application statuses [Sandbox only]
As part of your integration work, you may want to test different application statuses. In the sandbox environment, Rain has added fixtures to enable this. Ensure the last name of the user contains (case-insensitive) the application status you’d like the user to have.For example, to ensure a user or company is approved, ensure their last name contains the string
approved. Strings such as TestApproved, PersonApproved, or approved will all work. Similarly, to test the needsVerification status, names such as TestNeedsVerification or needsverification will work. However, Needs Verification will not work due to the extra whitespace.6
Perform additional verification [Optional]
In rare cases, a user may need to perform additional verification. If their
applicationStatus is needsVerification, Rain provides an additional field in the response under applicationExternalVerificationLink. This field is an object with a url key and a params object.Redirect the user to the given url, and pass in all params as query parameters. Additionally, include a redirect param that redirects the user back to your website.