Payment Lifecycle
Learn about the lifecycle of a payment and how to manage the different aspects using Finix.
Most transactions in Finix follow a similar pattern. The diagram below models out the Payment Lifecycle for Finix:
- Buyer requests to make a payment with seller.
-
The platform collects the buyers information and creates an
Identity
to represent the buyer in Finix. -
The platform collects the buyer's payment information and creates a
Payment Instrument
to represent the payment method used by the buyer to complete the payment. Once created, Finix notifies the seller with:-
A webhook which only gets sent when a
Payment Instrument
gets created from a bank account , debit or credit card . - A payment instrument entry on the Payment Instruments tab of the Finix Dashboard .
-
A webhook which only gets sent when a
-
The platform creates an
Authorization
to reserve the funds on thePayment Instrument
to be captured (i.e. debited) at a later date, usually within seven days.- An authorization entry also gets added on the Authorizations tab of the Finix Dashboard .
-
If the
Authorization
is successful,Authorization#state
gets updated to SUCCEEDED andAuthorization#expires_at
gets updated with a timestamp. TheAuthorization
entry on the Authorizations tab of the Finix Dashboard also gets updated.-
If the
Authorization
fails,Authorization#state
gets updated to FAILED. TheAuthorization
entry on the Authorizations tab of the Finix Dashboard also gets updated. To proceed, the platform needs to submit theAuthorization
again.
-
If the
-
The platform captures the
Authorization
.-
A webhooks gets sent when the
Authorization
gets captured . - The authorization entry gets updated on the Authorizations tab of the Finix Dashboard .
-
A webhooks gets sent when the
-
Finix creates a
Transfer
to debit and move funds.-
The
id
of theTransfer
is available in theAuthorization
captured webhook. -
A
transaction
entry gets added on the Transactions tab of the Finix Dashboard .
-
The
-
When funds get debited, the
Transfer
gets updated with a timestamp inTransfer#ready_to_settle_at
.-
A webhooks gets sent when the
Transfer
isready_to_settle
. - The transaction entry gets updated on the Transactions tab of the Finix Dashboard .
-
A webhooks gets sent when the
-
Once the timestamp in
Transfer#ready_to_settle_at
passes, theTransfer
will appear in the nextSettlement
that closes and requires approval.-
A webhooks gets sent when a
Settlement
is ready and waiting for your approval . - An settlement entry also gets added on the Settlements tab of the Finix Dashboard .
-
A webhooks gets sent when a
-
Once the
Settlement
is approved, a fundingTransfer
gets created to credit funds to the seller.- The settlement entry also gets updated on the Settlements tab of the Finix Dashboard .
-
When the funding
Transfer
gets updated to SUCCEEDED , the seller can expect funds to hit their bank account in 5-7 business days (depending on their bank).-
See
Managing Failed Payouts
for details on how to handle a funding
Transfer
that gets updated to FAILED. -
A webhooks gets sent when the
Transfer
gets updated .
-
See
Managing Failed Payouts
for details on how to handle a funding