Account approval

Approval of accounts and subaccounts in the Sandbox

Approve accounts and subaccounts in the Sandbox

The Sandbox has specific behaviors for approval, onboarding, and access to accounts and subaccounts.

Depending on the account type and the configuration used, approval may occur automatically, through a specific endpoint, or through the BaaS onboarding flow.

📘

Important:

By the end of this guide, you will know how to approve accounts and subaccounts, access each type of account, and identify issues that may affect validation.

Before you start

To avoid failures during approval:

  • fill in all required business data;
  • use values compatible with each field;
  • avoid numbers and special characters in the account name;
  • use only Sandbox credentials and URLs;
  • do not provide third parties' personal data.

Example of a name that may prevent validation:

Test Account_01

Prefer:

Test Account One
⚠️

Attention:

Names with numbers or special characters, such as _, #, !, and -, may prevent automatic approval and affect the availability of features such as Pix.

Approve an account created directly in the Sandbox

Accounts created directly in the Sandbox are automatically approved when the required business data is filled in correctly.

You don't need to send real documents to complete this validation.

After filling in the data:

  1. wait for the automatic validation;
  2. check the account status;
  3. confirm that the necessary features are enabled;
  4. review the data if the approval is not completed.

The data provided does not need to belong to a real person, but it must follow the expected format for each field.

👍

Tip:

To generate fictitious data during testing, you can use tools such as Gerador BR.

Use the data only in the Sandbox and do not register real third-party information.

If the account is not approved automatically or Pix remains disabled, review the registered name, remove numbers and special characters, and update the business data.

Approve a subaccount

In the Sandbox, subaccounts can be approved in three ways:

Approval methodWhen to use it
Auto-approvalTo automatically approve new subaccounts
Approval endpointTo control through the API when the account will be approved
BaaS onboardingTo validate how the end user fills in registration data and submits information

Regardless of the flow chosen:

  • fill in all required business data;
  • use values compatible with the fields;
  • avoid numbers and special characters in the subaccount name;
  • store the ID returned at creation.

Option 1: enable auto-approval

Auto-approval lets new subaccounts be approved automatically after creation, as long as the required data is valid.

The setting can be turned on in the Sandbox interface.

See how to set up your account in the Sandbox.

Enable auto-approval
        ↓
Create subaccount
        ↓
Validate the data
        ↓
Subaccount approved

After creating the subaccount, check its status to confirm that the approval was completed.

Option 2: approve through the API

To control when approval happens, use the endpoint:

POST /v3/accounts/{id}/approve

See the Approve account endpoint in the Sandbox.

This flow can be used when:

  • auto-approval is not enabled;
  • the integration needs to control the approval step;
  • the test depends on an explicit change in the account status;
  • you need to simulate a flow closer to the one used by the application.
Create subaccount
        ↓
Store the ID
        ↓
Send approval through the API
        ↓
Check the status

After sending the request, query the subaccount again and confirm that the approval was processed.

Option 3: use BaaS onboarding

In BaaS operations, the end user can complete onboarding through the address returned in the onboardingUrl field.

This flow lets you validate steps such as:

  • accessing onboarding;
  • filling in registration data;
  • submitting the requested information;
  • tracking the account status;
  • continuing the journey after filling in the data.
⚠️

Notice:

Onboarding in the Sandbox is simplified and intended for validation testing.

The validations applied in Production may vary according to:

  • account type;
  • regulatory validations;
  • registration status;
  • compliance rules;
  • contractual settings;
  • the integration's operational structure.

Approval in the Sandbox does not represent the account's registration or regulatory approval in Production.

Access a standard subaccount

When you create a standard subaccount in the Sandbox, the password reset email is sent to the address of the parent account that created it.

To access the subaccount:

  1. find the email received by the parent account;
  2. open the password reset link;
  3. set a password for the subaccount;
  4. log in using the subaccount's credentials.
📘

Note:

Sending the link to the parent account is a Sandbox-specific behavior and may differ from the flow applied in Production.

Understand automatically filled data

While business data is being updated or validated, the Sandbox may insert fictitious information so that testing can continue.

For example, the name may be filled in with a generic value:

João da Silva

In the My user area, simulated data may also appear, such as:

  • CPF;
  • address;
  • date of birth;
  • other registration information.

This data is used exclusively for the Sandbox's internal operation and does not represent real information.

If the account is not approved

Check that:

  • all required fields have been filled in;
  • the name does not contain numbers or special characters;
  • the values provided are compatible with the fields;
  • the account or subaccount belongs to the Sandbox;
  • auto-approval is enabled, when applicable;
  • the approval endpoint was called for the correct ID;
  • the URL and the API key belong to the same environment.

If Pix remains disabled:

  1. review the business data;
  2. update the account name;
  3. remove numbers and special characters;
  4. wait for a new validation;
  5. check the account status again.

If the problem persists, contact the Integration Success team.


Check the URL and the API key

Use the URL that matches the environment:

EnvironmentURL
Sandboxhttps://api-sandbox.asaas.com/
Productionhttps://api.asaas.com/
⚠️

Before continuing:

Use a Sandbox key only with the Sandbox URL.

Mixing credentials and environments can cause authentication errors and unexpected behavior.

Add balance when necessary

Account approval does not add a balance automatically.

Some flows require available funds, such as:

  • transfers;
  • bill payments;
  • anticipations;
  • other financial transactions.

To generate a balance in the Sandbox:

  1. create a test customer;
  2. create a charge via Pix or bank slip (boleto);
  3. confirm the payment;
  4. use the available balance in the other tests.

See Add balance to your Sandbox account.

Test notifications safely

Email and SMS notifications may be sent normally in the Sandbox.

To avoid unwanted messages:

  • use only your own emails and phone numbers;
  • do not register third-party data;
  • avoid random or invalid contacts;
  • review the notification settings before testing.

Consider the Sandbox's limitations

Although the Sandbox reproduces most of the platform's journey, some flows have specific behaviors, such as:

  • automatic approvals;
  • manual confirmations;
  • simulated registration data;
  • simplified onboarding;
  • controls available only for validation testing;
  • external integrations that are not fully executed.

Before considering a flow validated, confirm that:

  • the feature is available in the Sandbox;
  • there are restrictions or prerequisites;
  • there is any additional configuration;
  • the behavior depends on services available only in Production;
  • success and error scenarios have been tested.

See What can be tested in the Sandbox.

Differences from Production

SandboxProduction
May approve accounts automaticallyDepends on the applicable registration validations
Allows approval through a specific endpointFollows the account's production process
Uses simulated dataRequires valid registration data
Has simplified onboardingMay include regulatory and operational validations
May send subaccount access to the parent accountThe access flow may be different
Lets you simulate financial operationsMoves real money
Has test-specific controlsDepends on the platform's real processes
⚠️

Attention:

An account approved in the Sandbox does not represent approval in Production.

A flow working in the test environment also does not guarantee that all production requirements are met.

Before going to Production

Confirm that:

  • the URL has been changed to the Production environment;
  • the API key used belongs to the Production account;
  • the necessary features are enabled;
  • the API key's permissions are correct;
  • critical flows have been validated;
  • your application handles error responses;
  • Webhooks are processed idempotently;
  • fictitious data has been removed;
  • the differences between Sandbox and Production have been taken into account;
  • registration, regulatory, and operational requirements have been validated.
📘

Learn more...

Final validation must take into account the account's permissions, the contracted features, regulatory requirements, and the real behavior of operations in Production.

Recommended validation flow

After preparing and approving your Sandbox account:

  1. generate a Sandbox API key;
  2. configure the Sandbox URL in the application;
  3. create a fictitious customer;
  4. issue a test charge;
  5. confirm the payment to add balance;
  6. test your integration's specific flows;
  7. validate that Webhooks are received;
  8. check each feature's limitations;
  9. migrate to Production only after completing validation.
Create and approve the account
        ↓
Generate the API key
        ↓
Create test resources
        ↓
Add balance
        ↓
Run the operations
        ↓
Validate responses and Webhooks
        ↓
Review differences from Production

Related content

For technical support related to your integration:


Did this page help you?