Online Payment

Asynchronous Refund

WARNING: This page is a document under construction, subject to change without notice, and still uncoupled from our full documentation. If you wish to access all our documentation, check here.

The asynchronous refund functionality changes how cancellations are handled. As a result, cancellations are no longer processed immediately. Instead, they enter an asynchronous processing queue waiting to be cancelled. This approach allows you to improve processing efficiency, especially in cases of high transaction volume.

Note: This functionality is only available for BIN.#

In this modality, the initial refund response will be pending (PEN) and when processed it will have a confirmed (CON) or denied (NEG) status. In case of process failure, error status (ERR) would be returned.

Note: The asynchronous refund process is currently not supported for pre-authorizations.#

Necessary configurations in Carat#

The store will only be able to perform asynchronous cancellation if it has permission for this operation in the Carat back office. To do this, it is necessary to communicate to the Carat registration team about this specific demand.

Flow related to cancellation processes#

This flow below exemplifies the flow, starting from payment and going until cancellation. Including webhook endpoints and transaction status checker.

MerchantCaratPaymentPOST https://<carat url>/e-sitef/api/v2/payments/json with payment data including nit and OK (status: CON)Cancel/RefundPOST https://<carat url>/e-sitef/api/v2/cancellations/{{nit}}json with payment data including nit and OK (status: PEN)Webhook: Status change notice attemptsStatus Notice(POST HTTPS)Interrupted communicationWaiting x minutesStatus Notice (POST HTTPS)HTTP 200 Status-Code:OKWebhook: Unsuccessful Status change notice attemptsStatus Notice(POST HTTPS)Interrupted communicationWaiting x minutesStatus Notice (POST HTTPS)Interrupted communicationTransaction = Pending NoticeStatus CancellationGET https://<carat url>/e-sitef/v2/transactions/{nit}json with cancellation data informing status

Status API Omnipay vs Tratamento & Retorno#

Authorizer resp codeAuthorizer resp msgTransaction Status
0OKCON
0OKPEN
03Invalid Merchant IDNEG
05InvalidNEG
05ErrorPEN
13Invalid AmountNEG
79Invalid Transaction DateNEG
79Mandatory fields missingNEG
93Original Transaction not FoundNEG
98Invalid Merchant IDNEG
108Invalid Merchant Contract StatusNEG
110Invalid Transaction TypeNEG
112Original transaction has a chargebackNEG
113Insufficient FundsNEG
400System ErrorERR
401System ErrorNEG

This documentation helped you?