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.
- An authorization entry also gets added on the
- If the
Authorization
is successful,Authorization#state
gets updated toSUCCEEDED
andAuthorization#expires_at
gets updated with a timestamp. TheAuthorization
entry on theAuthorizations
tab of the Finix Dashboard also gets updated.- If the
Authorization
fails,Authorization#state
gets updated toFAILED.
TheAuthorization
entry on theAuthorizations
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 theTransactions
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.
- The settlement entry also gets updated on the
- When the funding
Transfer
gets 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
Transfer
that gets updated toFAILED.
- A webhooks gets sent when the
Transfer
gets updated.
- See Managing Failed Payouts for details on how to handle a funding