Finix's Card Not Present (CNP) Gateway uses Authorization and Captures to send Transactions on the WorldPay eCommerce platform.
When a user creates an Authorization via a POST request to the Finix API, the API responds with an Authorization resource (AUxxxx) in a state of FAILED or SUCCEEDED. This process is nearly instantaneous as it is API based.
When a customer captures the Authorization (AUxxxx) via a PUT request to the Authorization, Finix responds with the Authorization resource, which will now have the ID of a Transfer (TRxxx) in the response body. To get the status of the associated Transfer, the customer can utilize webhooks that Finix sends upon creation of a transfer, or perform a GET request on that Transfer ID.
Unlike creating Authorizations, capturing Authorizations is not instantaneous. When initially created, the Transfer will be in a state of PENDING. Every 15 minutes, Finix generates a batch of captures to send to Worldpay's eCommerce platform in a single file. Worldpay typically responds within a few minutes, after which Finix will update the state of the Transfer to SUCCEEDED or FAILED.
End to end, Transfers generally take between 5 - 20 minutes to be processed from a PENDING to a SUCCEEDED or FAILED state. When the Transfer's state changes, Finix will generate a webhook to alert the customer of the change. Additionally, customers can check on the state of the transfer via a GET request.
Reversing a transaction with a state of Pending
When an Authorization is captured, the batch process begins and we start preparing to send the capture to WorldPay.
However, a customer might decide to want to refund a Transfer shortly after choosing to capture it. If the Transfer has not yet been sent to Worldpay, the original Transfer will enter a state of CANCELED with a corresponding Reversal in a state of SUCCEEDED. Neither the Transfer nor the Reversal will be included in a Settlement the following day.
If the original transfer has already been sent to Worldpay, both the Transfer and its corresponding Reversal will be settled the next day.