FinaDOCS

Authentication

Every FINA API request is authenticated with a merchant-scoped bearer token issued by the FINA team during onboarding.

Bearer token

The FINA_BEARER_TOKEN is provided by the FINA team during onboarding — one token per environment. Pass it in the Authorization header of every request:

Sandbox
Example request
curl -X POST "https://apibe.silqfi.xyz/fina/v1/users/check_eligibility" \
  -H "Authorization: bearer FINA_BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "buyer_phone_number": "966500000001" }'

FINA_BEARER_TOKEN is provided by the FINA team, per environment. Contact the FINA team for the production base URL.

Keep it server-side

The bearer token identifies your merchant account. Call FINA APIs from your backend only — never embed the token in web or mobile clients.

Environments

Integrate and test against Sandbox first. The production base URL is issued privately once you complete the go-live checklist — contact the FINA team to receive it.

EnvironmentBase URLNotes
Sandboxhttps://apibe.silqfi.xyzTest environment with test buyers and OTPs — no real money moves.
ProductionContact the FINA teamLive environment. Base URL and a production bearer token are provided during go-live.

Bearer tokens are environment-specific: a Sandbox token will not work against Production and vice versa.

HTTP status vs error_code

Checkout and order endpoints return HTTP 200 even for business failures — the outcome is carried in the response body's error_code field ("0" means success). Always branch on error_code, not the HTTP status. See Error Handling for the full code catalogue.