Direct Merchant Integration
Add FINA as a payment option in your own checkout. Buyers pick a repayment plan, confirm with an OTP, and FINA finances the order — you get paid out net of commission.
Buyer journey
The buyer walks through five steps in your checkout, each backed by one API call:
- 1
Eligibility check
When the buyer reaches the payment page, call Check Eligibility. Active buyers see FINA as a payment option; new buyers are onboarded via the signup_url iframe.
POSTCheck Eligibility - 2
Repayment plan selection
Fetch the repayment plans available for the order amount and let the buyer pick one. Disable plans where has_enough_credits is false.
GETRepayment Plan Options - 3
Order placement
The buyer selects FINA and a repayment plan, then places the order. Initiate Checkout resolves the plan, creates the order, and sends an OTP to the buyer via SMS.
POSTInitiate Checkout - 4
OTP entry
Prompt the buyer for the OTP. If it never arrived, resend it — up to 3 times per order.
POSTResend OTP - 5
Authorisation
Submit the OTP with the order_id. On success the order is confirmed and the buyer's journey ends; on failure the buyer can retry (3 attempts).
POSTAuthorise Checkout
Post-order operations — your side
The buyer's journey ends at authorisation. These calls happen later, from your backend, as you fulfil the order — the buyer never sees them:
Order lifecycle
Orders move through these statuses; each order operation is only valid in specific states (otherwise you get error 811):
- CREATED — Initiate Checkout succeeded; OTP sent to the buyer via SMS.
- AUTHORIZATION_INITIATED — Down-payment plans only — OTP verified; the FINA-hosted down payment is pending at payment_url.
- AUTHORISED — Buyer's OTP verified via Authorise Checkout; payment confirmed (and any FINA-collected down payment settled).
- OUT_FOR_DELIVERY — Order handed to delivery (when applicable).
- DELIVERED — Merchant confirmed delivery with proof of delivery.
Exceptions
- EXPIRED — Order was not authorised within ~30 minutes of creation.
- CANCELLED — Order was cancelled before completion.
- REFUNDED — Order was refunded after authorisation.
Unauthorised orders expire after ~30 minutes. Buyers get 3 OTP attempts and 3 resends per order.