How Finix Customers Rely On Webhooks

Finix is a payments API that lets developers craft a payments experience that supports their unique business needs. They process over 400 million transactions a day for leading SaaS, marketplace, and e-commerce platforms.

Webhooks are a common data sharing method for fintech SaaS businesses, because their customers need the financial data in real time, and they need to trigger workflows upon receiving the data.

Webhooks are therefore central to the Finix service, and its customers depend on it heavily. Each business flow in Finix (e.g creating an authorization, creating an identity, provisioning a merchant, refunding a debit, etc.) has several events that trigger webhooks. Using these webhook events, Finix customers can build the embedded payments experience that is best for their own customers.

Let's take a look at one of the core use cases for webhooks in Finix.

Onboarding

It's highly recommended by Finix to use their webhook service when Finix customers onboard new merchants, as well as any payout recipients. Finix conducts an asynchronous approval process (an OFAC check to verify they are not on government or US watchlists) that decides whether Finix will process transactions for that merchant or send payouts to the payment recipients.

After creating a new merchant, Finix will send a webhook event with an updated status. If the merchant is approved, the Finix customer can initiate transactions for them automatically, upon receiving the Finix webhook. In the case a merchant is rejected, there are two rejection types. If the rejection is a “hard reject” Finix will not process transactions for that merchant. If the rejection is a “soft reject”, you can resubmit the onboarding request after updating any missing information.

Without the onboarding webhook, Finix customers would need to poll the Finix API for the onboarding status updates (send periodic requests to see if the status is updated or not).

There are several downsides to an API polling solution.

First, it's more resource intensive. Most polling requests don’t result in a status update whereas webhooks only get sent when the update happens.

You can mitigate the number of useless requests by increasing the duration between requests, but then you’re increasing the lag time between when the update happens and when you receive the update.

Because webhooks are sent by the source of the update (exactly when the update occurs), the webhook consumer receives the updates in real time.

Reliability

Finix also prioritizes reliability of their webhook service by offering automatic retries. While offering a few quick retries to account for temporarily failing endpoints is nice, Finix offers a total of 10 retries over the course of 8+ hours. This gives users time to fix broken endpoints and receive all messages during the outage automatically.

Summary

By leveraging webhooks, Finix minimizes the need for resource-intensive API polling, offering a more efficient and responsive solution for handling payment processes. Every one of their business flows have several events that trigger webhook notifications. For example, their onboarding process relies on their webhook service to manage merchant and payout recipient approval to ensure they aren’t processing payments for anyone on the OFAC sanctions list. Their implementation also follows industry best practices to ensure the reliability and security of the service to their customers.