Skip to main content
Onboarding is available in the sandbox, so you can integrate and test it now. In production, its routes answer 403 until Rinne turns it on; Rinne announces the date to its customers beforehand.
Onboarding is how a merchant gets an affiliation approved by a payment provider. The merchant can be a legal person (CNPJ) or a natural person (CPF). Rinne tells you what the provider needs from that merchant, collects what is missing, submits everything the moment it is complete, and reports every step by webhook. You choose how the merchant supplies what is missing: through your own screens on the API, through the Rinne onboarding link that comes with every affiliation, or both at once.

The onboarding link

A mobile-first page that asks the merchant’s contact only for what is still pending. Send it, or embed it in your app.

Build with the API

The same building blocks the link runs on: requirements, documents and biometric verifications, in any order.

Why it is different

Asks only for what is missing

Each requirement says what is pending, for which person or merchant, and which documents satisfy it. Nothing already valid is asked again.

Collected once, reused everywhere

An identity document or an approved biometric verification serves every merchant of your organization where that person appears, and every later attempt.

Any order, any time

Upload a document today and create the affiliation next month. Start the biometric verification before the affiliation exists. The pieces do not wait for each other.

Submits on its own

When the last requirement is satisfied, through the API or the link, Rinne submits the affiliation to the provider without another call from you.

Rejections you can act on

A provider’s refusal becomes structured rejection_reasons, each with an action. The next attempt asks only for what the provider refused or added.

Every step is an event

Documents, biometric verifications, requirements and the affiliation each report their changes by webhook, so your system never polls.

How it works

1

Create the affiliation

Call POST /v1/affiliations (or POST /v1/merchants/{merchantId}/affiliations for one of your merchants), exactly as you already do. When the provider needs something the merchant has not supplied yet, the affiliation comes back WAITING_DOCUMENTS with its onboarding link in onboarding_url. When everything is already satisfied, it is submitted at once.
2

Collect what is pending

Send the onboarding link to the merchant’s contact, or supply the items yourself through the API, or mix the two. GET /v1/onboarding-requirements always says what is still missing.
3

Rinne submits

The moment the last requirement is satisfied, Rinne submits the affiliation: WAITING_DOCUMENTS → PENDING → PENDING_APPROVAL, then PROCESSING_DOCUMENTS while the provider analyzes the documents. At a provider without a document stage, such as CAPPTA, it moves to PROCESSING instead.
4

The provider decides

The affiliation becomes ACTIVE, or REJECTED with reasons you can act on. affiliation.status-changed reports each move.
An ACTIVE affiliation processes transactions. The documents it sent become VALIDATED and keep serving the merchant’s other affiliations.
Rinne never approves a merchant. The provider decides. Rinne collects, checks the format of what it collects, submits, and reports the provider’s answer.

See what a merchant needs

Pick the merchant’s shape and the provider. The explorer shows the requirements Rinne creates for it, what happens when you create the affiliation, and how reuse changes the answer. The full rules, including what a provider can ask for later, are in Requirements.

Two ways to collect, one model

What each provider asks for

The same rules apply to every merchant. Details and examples: Requirements.

Already integrated with affiliations?

Your integration keeps working. POST /v1/affiliations takes the same request, an affiliation still waits in WAITING_DOCUMENTS with its link in onboarding_url for up to 30 days before its first submission, and affiliation.status-changed reports every move. Four details are worth handling:
An affiliation that waits 30 days in WAITING_DOCUMENTS before its first submission, or that you cancel, becomes CANCELLED with a cancellation_reason. It is terminal: create a new affiliation when the merchant is ready. See Statuses and events.
Forward or embed the URL you receive without depending on its domain. Most affiliations carry the Rinne onboarding link, but an attempt that is already on the provider’s own page keeps that page until it finishes.

Start here

The onboarding link

What the contact sees, how to send or embed the link, and how to reissue it.

Build with the API

Read requirements, upload documents, run a biometric verification and create the affiliation.

When the provider asks for more

Rejection reasons, new requirements and the next attempt.

Test in the sandbox

Drive approvals and rejections of affiliations and biometric verifications.