Overview
Before an organization can receive or make payments via Tesouro, this organization must be onboarded. If the partner previously stored the organization onboarding requirements (the information required to use the Tesouro payment rails) in the Tesouro system, then you can onboard the organization via API. By onboarding via API, you can streamline the organization onboarding process and reduce the time and effort required to onboard new organizations. These are the required steps to onboard an organization for payment acceptance via API:- Create an organization.
- Assign payment methods.
- Check for missing requirements.
- Provide the missing requirements
- Track the payments onboarding status changes.
Roles and permissions
Unless mentioned otherwise, the endpoints used in this guide can be called with both the partner access token and organization user tokens. In the latter case, the organization user needs a role with the following permissions:onboarding:create,updateperson:create,update,delete
1. Create an organization
An organization is a party (person or business) that can receive payments via Tesouro partner’s payment rails. To learn how to create and manage organizations that represent your customers, see Organizations.Required information for onboarding
Providing as much information as possible during the organization’s registration process will make the onboarding process smoother. Here is the list of the information necessary for onboarding that should be provided in advance, and the related endpoints:| Object | Example | Endpoint |
|---|---|---|
bank_account | bank_account | POST /bank-accounts |
entities.x | entities.phone | PATCH /entities/{entity_id} |
persons.x | persons.representative.phone | POST /persons |
persons.documents | persons.documents.additional_documentpersons.documents.verification_documentSee Manage documents for more information about these document types. | POST /persons/{person_id}/onboarding-documents |
entities.onboarding_data.x | entities.onboarding_data.business_profile.mcc | PATCH /entities/{entity_id}/onboarding-data |
entities.documents | entities.documents.additional_documententities.documents.verification_document entities.documents.proof_of_registrationSee Manage documents for more information about these document types. | POST /onboarding-documents |
Important
- Organization name must be no longer than 100 characters.
- An organization must have at least one bank account in order to receive payments. The bank account currency should match the payment currency. If an organization has several bank accounts (whether for the same currency or different currencies), it must set the default bank account for each currency.
-
To use the
sepa_creditpayment method, the organization’s default bank account must be in a country in the SEPA zone. -
Organizations of the type
organizationmust register the information of the legally responsible individuals associated with their organization. See Persons for further information. - To complete the onboarding, the organizations and persons must also provide the onboarding data and onboarding documents.
2. Assign payment methods
To specify the payment methods that an organization expects to be using, callPUT /entities/{entity_id}/payment-methods. In the request body, the payment_methods_receive list specifies the methods by which the organization can receive payments from its counterparts, and the payment_methods_send list specifies the methods that the organization can use to make payments to others.
- Some payment methods are limited to certain countries or currencies. For example,
us_achcan only be used by US-based organizations. - Some payment methods can be used both to send and receive payments, while others can be used only to send or only to receive payments.
- Currently,
us_achcan only be used inpayment_methods_receiveand cannot be used inpayment_methods_send.
The steps below are optional if the chosen payment methods do not require onboarding for
payments.
3. Check for missing requirements
An organization may need to provide additional information or documents before it can use certain payment methods. To check if any additional information is required to complete the onboarding process, callGET /onboarding-requirements:
requirements- the list of required information that the organization needs to provide to finish the onboarding.currently_due- the list of minimum fields required to keep the organization’s account enabled. This data must be provided by thecurrent_deadlinedate.current_deadline- date by which the fields incurrently_duemust be collected to keep the organization’s account enabled.eventually_due- the list of fields that are not needed immediately, but will be needed at some point later.business_profile.mcc- merchant category code (MCC) of the organization.organizations.onboarding_data.ownership_declaration.*- a declaration, from the person submitting the organization information, that the business is appropriately registered and that the information provided is correct.persons.representative.phone- means that the phone number of the organization’s representative must be provided.persons.123e4567-e89b-12d3-a456-426614174000.first_name- when a UUID is found in a field name, it means that a resource with that ID is missing some information. thefirst_namemust be provided for the person with ID123e4567-e89b-12d3-a456-426614174000.
GET /onboarding-requirements again at any time to check the updated list.
4. Provide the missing requirements
Once you know which requirements are missing to finish the onboarding for payments, you can provide them via the API. The endpoint used to update the missing requirements and complete the onboarding process depends on the missing information’s object. See the complete list of the required information for onboarding and its related endpoints.Depending on the payment provider and the inconsistencies found in the information sent, you may need to provide the
ownership_declaration at this stage.To provide the information about the ownership_declaration, call PATCH /entities/{entity_id}/onboarding-data passing ownership_declaration.ip and ownership_declaration.date in the body.5. Track the payments onboarding status
You can be notified of every change in the organization onboarding requirements by subscribing to these webhooks:organization.onboarding_requirements.updated- triggered every time an organization makes a change to the list ofrequirements.organization.onboarding_requirements.status_updated- triggered every time theverification_statusof an organization’s onboarding process changes.
POST /webhook-subscriptions with the following request body, replacing the url with the URL of your webhook listener endpoint:
entity_id, which you can use to identify the affected organization:
- onboarding_requirements.updated
- onboarding_requirements.status_updated
GET /onboarding-requirements. Once all the requirements are provided, the response will look like this: