Most transactions in Finix follow a similar pattern and lifecyle. 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
Identityto represent the buyer in Finix. - The platform collects the buyer's payment information and creates a
Payment Instrumentto 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 Instrumentgets created from a bank account, debit or credit card. - A payment instrument entry on the
Payment Instrumentstab of the Finix Dashboard.
- A webhook which only gets sent when a
- The platform creates an
Authorizationto reserve the funds on thePayment Instrumentto be captured (i.e. debited) at a later date, usually within seven days.- An authorization entry also gets added on the
Authorizationstab of the Finix Dashboard.
- An authorization entry also gets added on the
- If the
Authorizationis successful,Authorization#stategets updated toSUCCEEDEDandAuthorization#expires_atgets updated with a timestamp. TheAuthorizationentry on theAuthorizationstab of the Finix Dashboard also gets updated.- If the
Authorizationfails,Authorization#stategets updated toFAILED.TheAuthorizationentry on theAuthorizationstab of the Finix Dashboard also gets updated. To proceed, the platform needs to submit theAuthorizationagain.
- If the
- The platform captures the
Authorization.- A webhooks gets sent when the
Authorizationgets captured. - The authorization entry gets updated on the
Authorizationstab of the Finix Dashboard.
- A webhooks gets sent when the
- Finix creates a
Transferto debit and move funds.- The
idof theTransferis available in theAuthorizationcaptured webhook. - A
transactionentry gets added on theTransactionstab of the Finix Dashboard.
- The
- When funds get debited, the
Transfergets updated with a timestamp inTransfer#ready_to_settle_at.- A webhooks gets sent when the
Transferisready_to_settle. - The transaction entry gets updated on the
Transactionstab of the Finix Dashboard.
- A webhooks gets sent when the
- Once the timestamp in
Transfer#ready_to_settle_atpasses, theTransferwill appear in the nextSettlementthat closes and requires approval.- A webhooks gets sent when a
Settlementis ready and waiting for your approval. - An settlement entry also gets added on the
Settlementstab of the Finix Dashboard.
- A webhooks gets sent when a
- Once the
Settlementis approved, a fundingTransfergets created to credit funds to the seller.- The settlement entry also gets updated on the
Settlementstab of the Finix Dashboard.
- The settlement entry also gets updated on the
- When the funding
Transfergets updated toSUCCEEDED, 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
Transferthat gets updated toFAILED. - A webhooks gets sent when the
Transfergets updated.
- See Managing Failed Payouts for details on how to handle a funding