Check Eligibility
/fina/v1/users/check_eligibilityCheck whether a buyer is registered with FINA and has available credit, and whether the buyer may transact with the seller they are checking out with on your marketplace platform. For new buyers it returns a signup_url to start onboarding.
One seller per request
seller_phones must contain exactly one seller. Passing more than one is rejected with an HTTP 400 validation error — check eligibility once per seller the buyer is checking out with.
Different envelope
This endpoint uses the { is_error, message, data } envelope. Business failures return HTTP 400 with is_error: true — unlike the checkout endpoints, which return HTTP 200 with a numeric error_code.
Request
Buyer's phone number in international format without the plus sign. Normalised server-side.e.g. 966567896789
The seller the buyer is checking out with, as a single-element array holding one phone number in international format without the plus sign. Because a marketplace hosts many sellers, this identifies which seller the buyer is transacting with. Exactly one seller is supported per request; passing more than one is rejected with a validation error.
The seller's phone number in international format without the plus sign.e.g. 966543215678
Language baked into the returned signup_url. Defaults to Arabic when omitted.enar
Buyer's full name — helps pre-fill onboarding for new buyers. Defaults to the buyer's phone number when omitted.e.g. Mohammed Al-Rashid
Buyer's VAT registration number (new buyers).e.g. 300908432978431
Buyer's Commercial Registration number (new buyers).e.g. 7094220000
Buyer's national ID (new buyers).e.g. 2247862341
Buyer's email address (new buyers).e.g. buyer@example.com
Buyer's average monthly sales over the last 6 months, if you hold it — used during credit assessment.
Response
false on success.
Human-readable status of the lookup.
Buyer summary payload.
The decision to branch on. ELIGIBLE — show FINA as a payment option. INELIGIBLE — see reason.ELIGIBLEINELIGIBLE
Why the buyer is ineligible. Empty when eligibility is ELIGIBLE. SELLER_NOT_ONBOARDED means the buyer is fine but is not onboarded with the seller you passed in seller_phones.BUYER_NOT_ONBOARDEDSELLER_NOT_ONBOARDED
Buyer's onboarding state. Pending / NotFound — onboard the buyer via signup_url.ActivePendingNotFound
Onboarding URL for Pending / NotFound buyers. Embed it in an iframe — see Embedded Onboarding. Empty for Active buyers.
Buyer's currently available credit, in SAR.
FINA's identifier for the buyer. Can be passed to Repayment Plan Options as customer_id.
Whether the buyer has finished onboarding.
Buyer's registered name.
Status for the seller passed in seller_phones — a single-element array.
https://apibe.silqfi.xyzcurl -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": "966567896789",
"seller_phones": ["966543215678"],
"language_code": "en"
}'FINA_BEARER_TOKEN is provided by the FINA team, per environment. Contact the FINA team for the production base URL.
{
"is_error": false,
"message": "User is onboarded successfully, credit summary fetched.",
"data": {
"signup_url": "",
"user_status": "Active",
"credit_amount": 9180.76,
"external_user_id": "12955",
"onboarding_completed": true,
"customer_name": "Mohammed Al-Rashid",
"eligibility": "ELIGIBLE",
"reason": "",
"sellers": [
{ "phone": "966543215678", "status": "ONBOARDED" }
]
}
}