This flow is rolled out per merchant through a feature flag — off by default. It only applies when the company is created with a segment (see Create Company and List Segments).Merchants without the flag enabled continue on the legacy onboarding flow.For the full integration walkthrough, see Onboarding Documents Integration.
Status Flow
When a company is created with a segment, it is moved topending_documents and the onboarding webhook delivers the list of documents the client must send. Once all required documents are sent, the solicitation advances to documents_under_review.
After compliance approves every document, the flow branches by modality (derived from the company address country):
- National (address in Brazil): the solicitation moves to
waiting_signaturewhile the legal representatives sign the contract; once signed, the account is created and becomesactive. - Cross-border (address outside Brazil): the solicitation moves to
waiting_bank_channel, then tobank_channel_createdonce the bank channel is opened, and finally toactive. There is no signature step for cross-border.
pending_documents, and a closed review moves it to canceled. This flow does not go through due_diligence_review (that step only exists in the legacy flow).
Statuses
pending
First status of the process. The account opening request has been received and is awaiting processing.
pending_documents
The documents required for the company’s segment and modality (national/crossborder) were resolved and attached to the onboarding request. The webhook for this status includes the list of documents the client must send (see Webhook Payload). The solicitation stays here until all required documents are sent; optional documents do not block the transition.
documents_under_review
All required documents were sent and compliance is reviewing them. The webhook payload still includes the documents list, now carrying each document’s review state. A rejection sends the solicitation back to pending_documents (preserving already-approved documents); once everything is approved the flow branches by modality (waiting_signature for national, waiting_bank_channel for cross-border).
waiting_signature
National only. All documents were approved and the contract is awaiting signature by the legal representatives. Fetch the signing links with the Get Signature Link endpoint and route each representative to their sign_url. Once every signer has signed, the account is created and the solicitation moves to active. The webhook payload for this status does not include the documents array.
waiting_bank_channel
Cross-border only. All documents were approved and the bank channel is being opened by WEpayments. The webhook payload for this status does not include the documents array.
bank_channel_created
Cross-border only. The bank channel was created; the account is being finalized and will move to active. The webhook payload for this status does not include the documents array.
active
Account is active/approved. At this status, the webhook sends the account_id (MID - Merchant ID) that identifies the merchant’s account.
canceled
Onboarding did not proceed (e.g. compliance closed the review). The webhook payload includes the documents list.
inactive
Account is inactive after being previously activated.
closed
Account has been closed.
Webhook Payload
The payload always carries the solicitationid, its status and updated_at. The documents array is included while the solicitation is in pending_documents, documents_under_review or canceled:
UUID of the solicitation.
Current status of the solicitation.
Timestamp of the last status change (ISO 8601).
The merchant account identifier (MID).
null until the account is created — populated when status is active.List of documents required for the company, resolved from its segment and modality. Present when
status is pending_documents, documents_under_review or canceled.When is it fired? A webhook is dispatched on every status change, on every document upload, and on every compliance decision — so expect multiple deliveries per solicitation. Reconcile by
id + status and the per-document state, and keep your handler idempotent.Delivery & retries: your webhook endpoint must return a
200 OK status code to acknowledge receipt. If it fails or returns an error, delivery is retried up to 3 times, every 15 minutes.To receive onboarding status updates via webhook, register them using the Webhook Setup endpoint.

