FinaDOCS

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.

See it in action firstClick through the full buyer journey with every API call firing live. No setup needed.

Buyer journey

The buyer walks through five steps in your checkout, each backed by one API call:

  1. 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. 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. 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. 4

    OTP entry

    Prompt the buyer for the OTP. If it never arrived, resend it, up to 3 times per order.

    POSTResend OTP
  5. 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):

CREATEDAUTHORIZATION_INITIATEDAUTHORISEDOUT_FOR_DELIVERYDELIVERED
  • 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

EXPIREDCANCELLEDREFUNDED
  • 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.