PII direct integration

Integrate with Rainforest's PII endpoints to send merchant onboarding data via API

❗️

This feature requires Rainforest approval

Platforms that are approved by Rainforest can send sensitive merchant onboarding data, including bank accounts and Social Security Numbers, to Rainforest via a direct to API integration.

Follow the steps below to onboard merchants via API:

  1. Create a deposit method for your merchant's deposit
  2. Create a merchant and merchant application
  3. Update the merchant application with onboarding data, including the deposit method
  4. Submit the merchant application for approval

Create a deposit method


Follow these steps to create a deposit method to later assign to the merchant application. This deposit method is where the merchant's funds for their payment activity will be deposited to.

Create a deposit method config

Create deposit method config to set up a deposit method with information such as billing contact details before collecting the sensitive deposit method details (i.e the bank account number).

Billing contact name

The billing contact name should be set to the merchant's legal business name. All other billing contact are fields are optional.

Create a deposit method

Create a deposit via the create deposit method endpoint with a valid request payload. Required fields are defined below. The Plaid ACH method type is not available in the direct to API integration.

Request payload

FieldDescriptionTypeRequired
deposit_method_config_idThe unique deposit method config identifier.

Prefix is "cfg" in production and "sbx_cfg" in sandbox.
String
method_typeThe type of deposit method. Should be set to ACH.String
achACH payment method details. Required for method_type ACH.ACH object
plaid_achData to retrieve ACH account details from Plaid. Plaid is not available in the direct to API integration.Plaid ACH object
billing_contactBilling contact details. Field name required.Billing contact object

ACH

FieldDescriptionTypeRequired
account_numberThe bank account number.String
routing_numberThe 9 digit routing number.String
account_typeThe account type. Defaulted to CHECKING if omitted.String
account_holder_typeThe account holder type. Should be set to BUSINESS.String

Save the deposit method ID

Save the deposit_method_id to associate to the merchant's application in a following step.

Create a merchant


Create the merchant and populate all necessary information. This will create the merchant and the initial merchant application.

Requirements by merchant type

Required fields for onboarding are dependent on the merchant type. See the following table for all fields that must be set in order to submit the merchant for approval.

  • ✅: required field
  • ❌: field cannot be set
  • ✚: optional field
FieldIndividualLLCLLPPartnershipPrivate CorporationPublic CorporationNon-Profit OrganizationGovernment
name
dba_name
legal_name
merchant_type
mcc
email
website
phone_number
average_ticket
high_ticket
average_monthly_volume
address
tax_id
owner_1
owner_2
owner_3
owner_4
deposit_routes

Address fields

FieldIndividualLLCLLPPartnershipPrivate CorporationPublic CorporationNon-Profit OrganizationGovernment
address_line_1
address_line_2
city
state
postal_code
country

Owner fields

FieldIndividualLLCLLPPartnershipPrivate CorporationPublic CorporationNon-Profit OrganizationGovernment
first_name
last_name
dob
ssn
email
phone_number
address_line_1
address_line_2
city
state
postal_code
country
ownership

Deposit routes

The deposit route defines where the funds for the merchant's payments will be deposited to. Set the deposit_routes field to assign a deposit method to the merchant. For merchants on daily net billing, only the PAYMENTS deposit route needs to be set.

"deposit_routes": {
    "PAYMENTS": {
        "deposit_method_id": "{{deposit_method_id}}"
    }
}

If your merchants are on monthly gross billing, then you'll need to assign two deposit methods, one for PAYMENTS and one for BILLING:

"deposit_routes": {
    "PAYMENTS": {
        "deposit_method_id": "{{deposit_method_id}}"
    },
    "BILLING": {
        "deposit_method_id": "{{deposit_method_id}}"
    }
}

Validate and update the merchant application


Validation errors

If the merchant application is missing required information, the get merchant application will return the field validation_errors that will provide details on why the application cannot be submitted.

Update the application

After the merchant creation, update the merchant application with any changes before submitting for approval.

Submit the merchant application


Once the application has been completed and all requirements have been met, submit the merchant application and provide validation that your merchant agreed to your Terms and Conditions.

If there are validation errors on submission, the submission will not be allowed and the response will return the field validation_errors, similar to get merchant application.