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 includes the user or company ID, their new application status, and, if they need to complete additional verification, the link to redirect them to. See the
user.updated and company.updated webhook references for the full payloads.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. The match also accepts the status with spaces, so Needs Verification works too. For companies, the match runs on the company name.
In sandbox, an applicationโs status is set by a keyword in the applicantโs last name, and it canโt be updated after that. For example, a pending application never moves to approved. See Verification troubleshooting for the keywords.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 applicationCompletionLink. 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, including userId and signature, as query parameters. Additionally, include a redirect param that redirects the user back to your website.