Finish payment escrow in the Escrow Account

This endpoint allows you to manually finish the guarantee associated with a payment that uses an Escrow Account.

When this operation is executed, the financial resources are no longer protected by the guarantee rules and follow the normal financial flow of the payment.

Typically, this action is performed by the platform responsible for mediating the transaction after confirming that all agreed conditions between the parties have been fulfilled.


When to use

Manual guarantee completion is recommended in scenarios such as:

  • confirmation of a product delivery;
  • completion of a service;
  • manual validation of the operation by the platform;
  • confirmation of receipt by the buyer;
  • early release of funds before the automatic guarantee expiration.

In an Escrow Account integration, this endpoint usually represents the final stage of the financial protection flow.


Usage requirements

Before finishing the guarantee, it is necessary that:

  • the payment has been created using an Escrow Account;
  • the guarantee is still active;
  • the guarantee identifier is available;
  • the guarantee has not been previously finished.

Without these conditions, the operation cannot be completed.

📘

Important

The id parameter corresponds to the Escrow Account guarantee identifier and not to the payment identifier.


Parameter used


ParameterLocationRequiredDescription
idPathYesIdentifier of the Escrow Account guarantee that will be finished.

📘

Important

The id parameter corresponds to the Escrow Account guarantee identifier and not to the payment identifier.

This identifier is returned during the creation of the payment with guarantee and must be stored by the integration for future use.



Usage example

A typical request to finish the guarantee uses the guarantee identifier previously returned by the API.

POST /v3/escrow/esc_123456/finish

Expected flow:

Create payment with guarantee
↓
Receive payment
↓
Validate delivery or service
↓
Execute guarantee completion
↓
Release the payment financial flow

📘

Example

A marketplace platform may keep funds protected until the buyer confirms the product delivery.

After confirmation, the platform executes this endpoint to finish the guarantee and allow the payment to continue through its normal financial flow.


Role of this endpoint in the integration flow

A typical implementation using Escrow Account follows the sequence below:

Create payment with guarantee
↓
Receive payment
↓
Keep funds protected
↓
Validate delivery or service
↓
Finish guarantee
↓
Normal payment financial flow

Finishing the guarantee represents the completion of the protection process for the resources involved in the operation.


Operation behavior

After the endpoint execution, the guarantee is no longer active for that payment.

Active guarantee
↓
Finish request
↓
Guarantee finished
↓
Release of the operation financial flow

Once completed, there is no mechanism to reactivate the payment guarantee.

🚧

Attention

Finishing the guarantee has a direct financial impact, since the funds are no longer protected by the Escrow Account rules.

Make sure that all operational validations of your platform have been completed before executing this action.


Important business rules

  • Finishing the guarantee is permanent for that guarantee.
  • The identifier used must be the Escrow Account guarantee identifier.
  • A guarantee that has already been finished cannot be finished again.
  • This endpoint does not create a new guarantee or modify the payment conditions; it only finishes the existing protection.

Best practices

📘

Recommended

  • Store the guarantee identifier returned during the payment creation.
  • Execute the finish operation only after confirming that the transaction has been completed.
  • Avoid releasing funds automatically without additional validations.
  • Maintain internal audit logs to ensure traceability of completed releases.
  • Whenever possible, keep the event that authorizes the release of funds decoupled from the API call.

Common errors

Guarantee not found

Occurs when the provided identifier does not exist or does not belong to the authenticated account.

Guarantee already finished

Occurs when the operation is executed on a guarantee that has already been previously finished.

Invalid identifier

Occurs when the provided identifier does not correspond to a valid Escrow Account guarantee.

Guarantee unavailable for completion

Occurs when the operation does not meet the required conditions to finish the guarantee.


Next steps

After finishing the guarantee, the integration flow usually continues with:

  • retrieving the payment information;
  • monitoring operation events through Webhooks;
  • reconciling the financial transaction;
  • internally processing the completion of the negotiation.

Path Params
string
required

Unique payment escrow identifier in Asaas

Body Params
Responses

404

Not found

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json