Payment Lifecycle
Payment Lifecycle
Most transactions in Finix follow a similar pattern and lifecycle. The diagram below models out the Payment Lifecycle for Finix:
- Buyer requests to make a payment with seller.
- The platform collects the buyer's 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.
- 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.
- 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.
- The platform captures the
Authorization.
- A webhook gets sent when the
Authorizationgets captured.- The authorization entry gets updated on the
Authorizationstab of the Finix Dashboard.
- 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.
- When funds get debited, the
Transfergets updated with a timestamp inTransfer#ready_to_settle_at.
- A webhook gets sent when the
Transferisready_to_settle.- The transaction entry gets updated on the
Transactionstab of the Finix Dashboard.
- Once the timestamp in
Transfer#ready_to_settle_atpasses, theTransferwill appear in the nextSettlementthat closes and requires approval.
- A webhook gets sent when a
Settlementis ready and waiting for your approval.- A settlement entry also gets added on the
Settlementstab of the Finix Dashboard.
- 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.
- 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 webhook gets sent when the
Transfergets updated.