Files
baya-monorepo/product/payments/iranian-payment-reality.html
2026-06-24 01:32:46 +03:30

59 lines
12 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The Iranian Payment Reality — Balinyaar docs</title>
<link rel="stylesheet" href="../assets/doc.css">
</head>
<body>
<div class="layout">
<aside class="sidebar">
<a class="brand" href="../index.html"><span class="dot"></span> Balinyaar docs</a>
<p class="tagline">Trust-first home-nursing marketplace · Iran</p>
<nav><div class="group"><div class="label">Start here</div><ul><li><a href="../index.html">Docs home</a></li><li><a href="../overview/platform-summary.html">Platform summary &amp; ground truths</a></li></ul></div><div class="group"><div class="label">Business requirements</div><ul><li><a href="../business/index.html">Overview &amp; MVP scope</a></li><li><a href="../business/01-actors-and-onboarding.html">1. Actors &amp; onboarding</a></li><li><a href="../business/02-nurse-verification.html">2. Nurse verification</a></li><li><a href="../business/03-service-catalog-and-pricing.html">3. Service catalog &amp; pricing</a></li><li><a href="../business/04-search-and-matching.html">4. Search &amp; matching</a></li><li><a href="../business/05-booking-and-scheduling.html">5. Booking &amp; scheduling</a></li><li><a href="../business/06-evv-and-service-delivery.html">6. EVV / service delivery</a></li><li><a href="../business/07-cancellation-and-refunds.html">7. Cancellation &amp; refunds</a></li><li><a href="../business/08-payments-and-escrow.html">8. Payments &amp; escrow</a></li><li><a href="../business/09-installments-bnpl.html">9. Installments / BNPL</a></li><li><a href="../business/10-payouts.html">10. Payouts to nurses</a></li><li><a href="../business/11-reviews-trust-and-safety.html">11. Reviews, trust &amp; safety</a></li><li><a href="../business/12-messaging-and-emergencies.html">12. Messaging &amp; emergencies</a></li><li><a href="../business/13-tax-invoicing-and-legal.html">13. Tax, invoicing &amp; legal</a></li><li><a href="../business/14-notifications-and-admin.html">14. Notifications &amp; admin</a></li></ul></div><div class="group"><div class="label">Database model</div><ul><li><a href="../data-model/index.html">Overview &amp; decisions</a></li><li><a href="../data-model/diagrams.html">Diagrams</a></li><li><a href="../data-model/01-identity-and-access.html">1. Identity &amp; access</a></li><li><a href="../data-model/02-geography.html">2. Geography</a></li><li><a href="../data-model/03-services-and-pricing.html">3. Services &amp; pricing</a></li><li><a href="../data-model/04-verification-and-credentials.html">4. Verification &amp; credentials</a></li><li><a href="../data-model/05-booking-and-scheduling.html">5. Booking &amp; scheduling</a></li><li><a href="../data-model/06-payments-ledger-and-refunds.html">6. Payments, ledger &amp; refunds</a></li><li><a href="../data-model/07-payouts.html">7. Payouts</a></li><li><a href="../data-model/08-bnpl.html">8. BNPL / installments</a></li><li><a href="../data-model/09-messaging.html">9. Messaging</a></li><li><a href="../data-model/10-reviews-and-records.html">10. Reviews &amp; records</a></li><li><a href="../data-model/11-notifications.html">11. Notifications</a></li><li><a href="../data-model/12-audit-config-and-reference.html">12. Audit, config &amp; reference</a></li><li><a href="../data-model/13-partner-centers-and-future.html">13. Partner centers &amp; future</a></li></ul></div><div class="group"><div class="label">Payments deep-dive</div><ul><li><a href="index.html">Overview &amp; exec summary</a></li><li><a class="active" href="iranian-payment-reality.html">Iranian payment reality</a></li><li><a href="escrow-ledger.html">Escrow as a ledger</a></li><li><a href="bnpl-landscape.html">BNPL landscape &amp; finding</a></li><li><a href="cancellation-and-payout.html">Cancellation &amp; nurse payout</a></li><li><a href="integration-notes.html">Integration &amp; schema touchpoints</a></li><li><a href="sources.html">Recommendations &amp; sources</a></li></ul></div><div class="group"><div class="label">Research &amp; strategy</div><ul><li><a href="../research/index.html">Overview &amp; exec summary</a></li><li><a href="../research/market-and-competitors.html">Market &amp; competitors</a></li><li><a href="../research/problems-and-risks.html">Problems &amp; risks</a></li><li><a href="../research/verification.html">Verification (research)</a></li><li><a href="../research/legal-landscape.html">Legal landscape</a></li><li><a href="../research/go-to-market.html">Go-to-market &amp; sources</a></li></ul></div><div class="group"><div class="label">Notes &amp; more</div><ul><li><a href="../notes/open-questions.html">Open questions</a></li><li><a href="../notes/future-ideas.html">Future ideas</a></li><li><a href="../wireframes/index.html">Wireframes</a></li><li><a href="../fa/index.html">Farsi documents</a></li></ul></div></nav>
</aside>
<main class="main"><div class="content">
<div class="topbar"><button class="theme-toggle" type="button" onclick="__t()">theme</button></div>
<p><a href="index.html">← Payments overview</a></p>
<h1 id="the-iranian-payment-reality">The Iranian Payment Reality</h1>
<h2 id="21-the-rails-card-psp-shaparak-registered-ibans">2.1 The rails: card → PSP → Shaparak → registered IBANs <a class="anchor" href="#21-the-rails-card-psp-shaparak-registered-ibans" aria-hidden="true">#</a></h2>
<p>Every card payment in Iran is acquired by a licensed <strong>PSP</strong> and cleared through <strong>Shaparak</strong> (the national switch), which settles to <strong>bank-registered IBANs (شِبا)</strong> of the merchant/beneficiaries. There is <strong>no native marketplace-escrow construct</strong> the way a US/EU platform would hold buyer cash in trust. The platform does not — and legally may not — sit in the money path as a custodian.</p>
<h2 id="22-the-license-class-پرداختیار-payment-facilitator-and-the-custody-prohibition">2.2 The license class: پرداخت‌یار (payment facilitator) and the custody prohibition <a class="anchor" href="#22-the-license-class-پرداختیار-payment-facilitator-and-the-custody-prohibition" aria-hidden="true">#</a></h2>
<p>An MVP marketplace like Balinyaar rides on a <strong>پرداخت‌یار (payment facilitator / aggregator)</strong> arrangement under a contracted PSP and the CBI/Shaparak agreement. A facilitator is <strong>explicitly forbidden</strong> from:</p>
<ul>
<li>holding customer deposits,</li>
<li>operating wallets,</li>
<li>paying interest,</li>
<li>granting credit / guarantees,</li>
<li>temporarily using merchant balances.</li>
</ul>
<p>Settlement must go <strong>only</strong> to merchant-registered bank accounts, and <strong>only Shaparak</strong> can withdraw from the special facilitator settlement account (حساب ویژه پرداخت‌یاری). Unauthorized fund-holding draws penalties, license suspension, and AML exposure. <strong>This is the single load-bearing constraint of the whole design: Balinyaar cannot be the custodian of buyer funds.</strong> <em>(VERIFIED — way2pay, Zibal legal blog, finolaw, peivast.)</em></p>
<h2 id="23-تسهیم-settlement-sharing-the-compliant-marketplace-primitive">2.3 تسهیم (settlement-sharing) — the compliant marketplace primitive <a class="anchor" href="#23-تسهیم-settlement-sharing-the-compliant-marketplace-primitive" aria-hidden="true">#</a></h2>
<p>The legitimate way to pay many providers is <strong>تسهیم / تسویه اشتراکی (settlement-sharing)</strong>: a single incoming card payment is split across multiple registered IBANs (the nurse's net share + the platform's commission) and <strong>credited directly by Shaparak/the provider</strong> to each party. The platform never touches the actual split. ZarinPal markets this for marketplaces (بازارگاه) with split-by-ratio to each partner's registered Sheba; Zibal, Sadad, SizPay, Vandar, Jibit, Zibal, PayPing, IDPay offer variants. <em>(VERIFIED.)</em></p>
<blockquote><p><strong>Caveat (CONFIGURABLE):</strong> ZarinPal's تسهیم appears gated to a "golden" (طلایی) membership tier; all timing/minimum/limit numbers (e.g. ~100,000 IRR minimum, processing windows, "no beneficiary limit") came from single doc reads and must be reconfirmed at contracting.</p>
</blockquote>
<h2 id="24-the-banned-move-inter-merchant-inter-facilitator-transfers-and-held-pools">2.4 The banned move: inter-merchant / inter-facilitator transfers and held pools <a class="anchor" href="#24-the-banned-move-inter-merchant-inter-facilitator-transfers-and-held-pools" aria-hidden="true">#</a></h2>
<p>A tempting design — "collect into a platform pool, hold until EVV check-out, then redistribute" — is <strong>regulatory grey-to-prohibited.</strong> Shaparak <strong>explicitly banned inter-facilitator and inter-merchant fund transfers and wallet-style holding.</strong> A <em>delayed but pre-fixed</em> split to the <strong>same registered IBANs</strong> may be tolerable; <strong>moving/holding funds in a platform-controlled pool to release conditionally is the banned behavior.</strong> The only clean hold/release/refund mechanism is a <strong>bank-grade escrow product</strong> (e.g. Vandar میندو / معاملات امن — buyer pays into trust, released to seller on confirmation, refundable on seller failure), but even that is flagged as regulatorily fragile and its API-level EVV trigger is unverified. <strong>Practical conclusion: model escrow as an internal ledger over whichever provider primitive you contract; do not assume you can lawfully custody cash yourself.</strong> <em>(VERIFIED ban; the "delay-then-hold" pattern is the OVERSTATED part of the original research.)</em></p>
<h2 id="25-provider-cut-off-continuity-risk-toman-jibit-nov-2024">2.5 Provider cut-off continuity risk (Toman / Jibit, Nov 2024) <a class="anchor" href="#25-provider-cut-off-continuity-risk-toman-jibit-nov-2024" aria-hidden="true">#</a></h2>
<p>In <strong>November 2024 the CBI abruptly cut Toman's and Jibit's settlement/withdrawal services</strong> with no stated cause, disrupting businesses including millions of Snapp drivers who could not settle. Wallet/balance facilitator models have been blocked and re-permitted before (Vandar's gateway was blocked then unblocked by Shaparak). <strong>Design for multi-provider failover and a reconciliation ledger that survives a provider being cut off mid-cycle.</strong> <em>(VERIFIED — zoomit, way2pay, ecoiran.)</em></p>
<h2 id="26-tax-سامانه-مودیان-and-vat-10">2.6 Tax: سامانه مودیان and VAT = 10% <a class="anchor" href="#26-tax-سامانه-مودیان-and-vat-10" aria-hidden="true">#</a></h2>
<ul>
<li>Iran's <strong>سامانه مودیان (taxpayer / e-invoicing system)</strong> requires electronic invoices (صورتحساب الکترونیکی) with a <strong>22-digit number</strong>, a <strong>memory tax-id (شناسه یکتای حافظه مالیاتی)</strong>, and a digital signature. The <strong>SELLER issues the invoice</strong> and remits VAT; the buyer cannot. For a marketplace this maps cleanly: <strong>each nurse is the taxable seller of the nursing service; Balinyaar's taxable supply is ONLY its commission</strong> (the Snapp/Tapsi precedent). <em>(VERIFIED.)</em></li>
<li><strong>VAT is 10%</strong>, not 9%: the standard rate <strong>rose from 9% to 10% in 1403</strong> (govt 7% + municipal 3%) and remains 10% in 1404. Any VAT field hardcoded at 9% is stale — <strong>use 10% and make it a configurable parameter</strong>, since it has changed two years running. <em>(VERIFIED correction.)</em></li>
<li>مودیان enrollment is phased in by revenue threshold (individuals with sales above ~144bn IRR through end of 1404 must issue e-invoices from Tir 1405). Whether the home-nursing <strong>service</strong> itself is VAT-exempt (medical exemption) is <strong>UNCERTAIN</strong> — do not assume; model a config-driven VAT rate that can be 0.</li>
</ul>
<a class="back-to-top" href="#">↑ Back to top</a>
</div></main>
</div>
<script>
(function(){var k='balinyaar-docs-theme';var s=localStorage.getItem(k);
if(s)document.documentElement.setAttribute('data-theme',s);
else if(matchMedia('(prefers-color-scheme: dark)').matches)document.documentElement.setAttribute('data-theme','dark');})();
function __t(){var d=document.documentElement;var n=d.getAttribute('data-theme')==='dark'?'light':'dark';
d.setAttribute('data-theme',n);localStorage.setItem('balinyaar-docs-theme',n);}
</script>
</body>
</html>