BNPL Landscape & the Full-Upfront Finding
See also the BNPL data model (../data-model/08-bnpl.md) and the business view (../business/09-installments-bnpl.md).
4. BNPL landscape — comparison
All six are Iranian. The structurally important fact (full-upfront-to-merchant, provider bears default risk) holds for every provider-financed option; Lendo is the outlier (bank-financed, customer pays interest).
| Provider | Settlement model | Who bears financing cost | Customer plan (installments / tenor / interest) | Credit ceiling | Merchant fee | Service / marketplace eligibility | Integration | Confidence |
|---|---|---|---|---|---|---|---|---|
| SnappPay (اسنپپی) | Full-upfront, single lump minus commission; provider bears default risk | Merchant (commission) | 4 installments / 4 months (1 at purchase + 3 monthly); interest-free | ~20M Toman (→~50M good payers); separate bank-credit product up to 100M Toman, 12–24 mo, carries bank interest | Undocumented (anecdotal ~7–15% + ~10% VAT; one merchant cited 15%); per-contract config | Services incl. "بعضی خدمات پزشکی" eligible; in-person/appointment OK. Multi-vendor re-disbursement UNCONFIRMED | API + IPG redirect (OAuth → eligible → token → verify → settle → revert/cancel/update/status) | High (model) / Medium (fee, eligibility) |
| Digipay (دیجیپی) | Full-upfront to contracted merchant; provider bears default risk | Customer bears markup; merchant pays acquiring commission | 1-month (interest-free) + 4-installment (~4–8% on installments 2–4) + 3/6/9/12-mo loan | Varies widely by product/campaign (monthly ~1–30M Toman; 4-inst up to ~50–200M; loan up to 2bn IRR) | توافقی (negotiable), settlement-speed dependent; sells early settlement as a paid add-on | Explicit services (travel, hotels, insurance, dental); single contracted merchant, no sub-merchant split | UPG: ticket → redirect → callback → verify; deliver-confirm then refund. Type codes IPG=0/Wallet=11/Credit=5/BNPL=13/Credit-Card=24 | High (model, API) / Uncertain (fee, mid-plan mechanics) |
| Tara (تارا) | Provider-financed, full amount to seller | Merchant (interest-free to customer) | 2 interest-free installments, starting 1 month after purchase | Up to 20M Toman (research's "10M / 2-month" is OUTDATED); other tiers 5M / 10M / 100M / 150M | Per-contract | Interest-free (بدون سود) standard tier | API/gateway | Medium |
| Torob Pay | Full-upfront, cash to seller | Merchant | 4 equal installments, 25% down, interest-free | New users ~1–2M Toman → 3–5M | Concrete: 6% + VAT = 6.6% per order | Third-party explainers (not first-party docs) | Gateway | Medium (firm fee) |
| ZarinPlus (ZarinPal) | Provider-financed BNPL inside the ZarinPal gateway; standard ZarinPal merchant settlement ~T+1 | Merchant | 4 installments | ~2M Toman (ID only) → 5–15M with history → up to 20M with cheque/promissory note | ZarinPal gateway ~1% (cap ~4000 Toman) + per-txn; BNPL-specific terms not confirmed | Inside ZarinPal IPG | Gateway / تسهیم | Medium |
| Lendo | Bank-financed (Bank Ayandeh); merchant effectively gets full value | CUSTOMER (~18–23% interest + ~5% upfront service fee, often non-refundable) | 6 / 9 / 12 months — a POS loan, not interest-free BNPL | Bank-set | — | POS loan | — | AVOID for MVP |
Key contrast: Torob Pay's 6.6% (6% + VAT) is the only published rate; SnappPay's true rate cannot be inferred from it and must be treated as negotiated per-contract config. Lendo's customer-borne interest + non-refundable fee make mid-engagement cancellations leave the customer out of pocket — a poor fit for short, cancellable nursing visits.
5. The decisive finding: full-upfront settlement
The provider pays the merchant the full amount minus commission in ONE lump and bears default risk. The customer's installments are owned by the provider and are decoupled from Balinyaar's escrow/payout. (VERIFIED — SnappPay CEO: "ارایهدهنده سرویس تمام پول پذیرنده را پرداخت کرده و هیچ ریسکی سمت پذیرنده نیست"; Digipay first-party bpg page: "مبلغ حاصل از فروش را یکجا دریافت کنید … نگران ریسک عدم بازپرداخت اقساط نباشید". No source described any tranched-to-merchant model among provider-financed BNPLs.)
Therefore, in Balinyaar's books, a BNPL order is identical to a card payment that lands net-of-fee in one inbound settlement. We DO NOT model customer-installment tracking (installment_entries, per-installment webhooks, default propagation). This removes the fragile subsystem the original model flagged as unresolved.
Verified caveats that must remain CONFIGURABLE / UNCERTAIN
- Settlement TIMING is NOT instant. Cadence is contract-defined (daily / T+1–3 / weekly / 15-day / occasionally longer — one merchant alleged ~4 months), and the most concrete SnappPay statement gates settlement on the customer's first installment ("پس از واریز اولین قسط"). Digipay even sells early settlement as a paid feature, implying its baseline is delayed. Model a per-transaction
settled_atand a per-provider settlement-lag; gate weekly nurse payouts on settlement actually received, so you never pay a nurse before you hold the cash. - Commission rate is per-contract config, never hardcoded. SnappPay publishes no public rate; read the actual deducted amount from each settlement record.
- Marketplace re-disbursement eligibility is publicly UNCONFIRMED. SnappPay's and Digipay's documented model is single-merchant-receiver. Design so the provider pays Balinyaar (the merchant-of-record) one lump, and Balinyaar does the internal escrow→nurse allocation itself. Confirm any per-nurse routing directly with provider sales. Even Snapp Doctor's own home-nursing page does not advertise SnappPay installments — service eligibility is plausible, not confirmed for an in-home individual-nurse marketplace.
- Onboarding requires BOTH جواز کسب AND eNamad (اینماد) for the Balinyaar entity (the original research omitted eNamad). For Digipay, an activity license is mandatory only for "sensitive trades" (صنوف حساس); home-healthcare may be treated as one — confirm.