Repayment Plan Options
/fina/v1/checkout/repayment_plansReturns the repayment plans (tenures) available to a buyer for a given order amount on your marketplace — cost breakdown, installment schedule, down-payment requirement, and credit eligibility per plan. Price the plans against the sub-merchant (seller) the buyer is purchasing from by passing platform and seller_phone_number.
Query parameters
All parameters are sent in the query string — this GET takes no request body.
Identify the seller
On a marketplace, send platform=MARKETPLACE and the seller_phone_number of the sub-merchant the buyer is checking out with so plans are priced against that seller's configuration. Pass the same platform value to Initiate Checkout.
Carry repayment_config_id forward
The buyer's chosen plan's repayment_config_id is what you pass to Initiate Checkout as payment.repayment_config_id. By default only plans the buyer's credit covers are returned; pass show_credit_insufficient_plans=true to see the rest and disable the ones where has_enough_credits is false.
Request
Order total to price the plans against.e.g. 515
Buyer's phone number. Pass exactly one of customer_phone_number or customer_id.e.g. 966567896789
FINA's external_user_id from Check Eligibility. Pass exactly one of customer_phone_number or customer_id.
Integration platform identifier. Required for marketplace — send MARKETPLACE. Filters plans to those enabled for the channel; use the same value as Initiate Checkout.MARKETPLACEe.g. MARKETPLACE
Phone number of the seller (sub-merchant) on your marketplace the buyer is purchasing from. Plans are priced against this seller's configuration.e.g. 966543215678
Merchant's share of the BNPL commission, in percent. If you send it here, send the same value in Initiate Checkout's commission_config.
Return only the plan for this tenure. Errors if the tenure is not available to the buyer.
Set true to also return plans the buyer's credit does not cover (has_enough_credits: false).
Response
true when plans were computed.
Human-readable status.
Numeric code as a string; "200" on success for this endpoint.
Validation / failure details, empty on success.
Merchant commission share applied when pricing the plans, in percent.
One entry per available repayment plan.
The tenure id. Pass the chosen plan's value to Initiate Checkout as payment.repayment_config_id.
Display label for the plan.
Tenure length in days.
The plan applied if none is explicitly selected.
How commission is applied across installments.PROPORTIONAL_ON_FULLPROPORTIONAL_EXCLUDING_PREPAID
BNPL cost for this tenure, in percent.
Echo of the priced order amount.
Total the buyer repays across all installments.
Day-zero down payment the buyer pays upfront (0 if none).
true — a day-zero down payment must be collected at checkout (see Initiate Checkout's prepaid_payment).
Whether the buyer's credit limit covers this plan.
Amount financed by FINA (order amount minus down payment).
Same as prepaid_amount — the day-zero amount.
Total commission for the plan, in SAR.
Commission borne by the merchant.
Commission borne by the buyer.
Commission collected at checkout, if any.
What the merchant receives after commission.
Amount the commission percentage is applied to.
Installment schedule for the plan.
Errors
Returned as HTTP 200 with a non-zero error_code — see Error Handling.
| Code | Name | Description | Resolution |
|---|---|---|---|
400 | INVALID_PARAMS | A required field is missing or a value failed validation (e.g. totals don't reconcile, invalid phone format, unknown field value). | Check errors[] for the failing field. Ensure order.total_amount equals the sum of items[].total_amount plus shipping_amount minus discount_amount. |
802 | SELLER_NOT_VALID | The merchant resolved from the bearer token is not recognised for this operation. | Verify the bearer token belongs to the correct merchant account. |
878 | PLAN_NOT_CONFIGURED | No repayment plan is configured for the requested tenure_in_days / channel. | Only offer plans returned by Repayment Plan Options; contact FINA to configure more. |
500 | INTERNAL_ERROR | An unexpected failure occurred on FINA's side. | Retry with backoff; contact FINA support if it persists. |
https://apibe.silqfi.xyzcurl -X GET "https://apibe.silqfi.xyz/fina/v1/checkout/repayment_plans?customer_phone_number=966567896789&order_amount=515&platform=MARKETPLACE&seller_phone_number=966543215678" \
-H "Authorization: bearer FINA_BEARER_TOKEN"FINA_BEARER_TOKEN is provided by the FINA team, per environment. Contact the FINA team for the production base URL.
{
"success": true,
"message": "success",
"error_code": "200",
"errors": [],
"merchant_share": 100,
"plans": [
{
"repayment_config_id": "4",
"name": "Default",
"tenure_in_days": "30",
"is_default": true,
"commission_treatment": "PROPORTIONAL_ON_FULL",
"bnpl_cost_percentage": 3,
"order_amount": 515,
"total_commission_amount": 15.45,
"merchant_commission_amount": 15.45,
"customer_commission_amount": 0,
"customer_payable_amount": 515,
"net_payout_to_merchant": 499.55,
"down_payment_amount": 0,
"checkout_commission_amount": 0,
"prepaid_amount": 0,
"financed_amount": 515,
"commission_base": 515,
"schedules": [
{
"payment_installment_no": "1",
"payment_date": "2026-07-21",
"offset_days": 30,
"principal_amount": 515,
"commission_amount": 0,
"total_due": 515
}
],
"requires_prepaid_collection": false,
"has_enough_credits": true
},
{
"repayment_config_id": "7",
"name": "Default",
"tenure_in_days": "90",
"is_default": true,
"commission_treatment": "PROPORTIONAL_EXCLUDING_PREPAID",
"bnpl_cost_percentage": 9,
"order_amount": 515,
"total_commission_amount": 40,
"merchant_commission_amount": 40,
"customer_commission_amount": 0,
"customer_payable_amount": 515,
"net_payout_to_merchant": 475,
"down_payment_amount": 128.75,
"checkout_commission_amount": 0,
"prepaid_amount": 128.75,
"financed_amount": 386.25,
"commission_base": 386.25,
"schedules": [
{
"payment_installment_no": "1",
"payment_date": "2026-06-21",
"offset_days": 0,
"principal_amount": 128.75,
"commission_amount": 0,
"total_due": 128.75
},
{
"payment_installment_no": "2",
"payment_date": "2026-07-21",
"offset_days": 30,
"principal_amount": 128.75,
"commission_amount": 0,
"total_due": 128.75
},
{
"payment_installment_no": "3",
"payment_date": "2026-08-20",
"offset_days": 60,
"principal_amount": 128.75,
"commission_amount": 0,
"total_due": 128.75
},
{
"payment_installment_no": "4",
"payment_date": "2026-09-20",
"offset_days": 90,
"principal_amount": 128.75,
"commission_amount": 0,
"total_due": 128.75
}
],
"requires_prepaid_collection": true,
"has_enough_credits": true
}
]
}