Skip to main content
MyFatoorah Payment Gateway for ERPNext — A MyFatoorah aggregator integration for ERPNext that turns GCC-local rails — KNET, m — 1/1Illustrative preview

A MyFatoorah aggregator integration for ERPNext that turns GCC-local rails

— KNET, mada, Benefit, Apple Pay — into a single connector with invoice-based payment links, webhook-verified settlement, and refund sync.

ECOSIRE builds, installs, and supports it after a scoping call; it is not an instant download.

What is MyFatoorah Payment Gateway for ERPNext?

A MyFatoorah aggregator integration for ERPNext that turns GCC-local rails — KNET, mada, Benefit, Apple Pay — into a single connector with invoice-based payment links, webhook-verified settlement, and refund sync. ECOSIRE builds, installs, and supports it after a scoping call; it is not an instant download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

`MyFatoorah Settings` single DocType with live/test toggle, base country/currency, and API secrets stored via Frappe's encrypted-field mechanism rather than in code
`MyFatoorah Transaction` DocType logging InvoiceId, PaymentId, source ERPNext document, gateway, status history, and settlement/refund records as a permissioned, reportable document
Aggregated `InitiatePayment` + `SendPayment` flow presenting KNET, mada, Benefit, Apple Pay, and cards through one API, with per-method routing driven by MyFatoorah's supported-methods response
`hooks.py` `doc_events` on Sales Invoice / Sales Order submit to auto-generate a payment link and dispatch it through ERPNext's standard email/notification pipeline
Payment Request integration so ERPNext's native 'pay now' URL resolves to a live MyFatoorah hosted checkout instead of a placeholder
Signature-verified webhook exposed as a whitelisted `@frappe.whitelist(allow_guest=True)` endpoint that creates the `Payment Entry` server-side — browser callback status is never trusted
`scheduler_events` job polling `GetPaymentStatus` for pending transactions to self-heal missed webhooks and reconcile late confirmations
Settlement sync that pulls MyFatoorah settlement/deposit records and matches them to Payment Entries for hands-off bank reconciliation
Refund workflow wrapping MyFatoorah's refund API, initiated from a permission-gated action that writes a reversing Payment Entry and updates the transaction log
Recurring / embedded-payment support for subscription-style and inline-checkout use cases wired through the same DocType and webhook discipline
Client Script on the invoice form adding a 'Pay via MyFatoorah' action, a live status indicator, and a copyable payment link for sales/AR staff
Role profiles and DocType permissions restricting credential access and refund execution to nominated roles, with an audit trail on every transaction
Idempotent Payment Entry creation keyed on MyFatoorah PaymentId so webhook retries and scheduler polls never double-post a receipt
Multi-currency and multi-company aware, honoring the ERPNext company/currency on the source document and MyFatoorah's supported currency set
Structured error logging to the Frappe Error Log with retryable background jobs for transient MyFatoorah API failures
Built and tested against Frappe/ERPNext v15 and v16 with a bench-installable app and version-pinned dependencies

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

Selling online across the GCC means supporting the rails buyers actually use — KNET in Kuwait, mada in Saudi Arabia, Benefit in Bahrain, plus Apple Pay and cards — and each one is its own integration, credential set, and settlement report. ERPNext ships payment gateway plumbing (Payment Gateway Account, the Integrations app, generic Razorpay/Stripe/PayPal connectors) but nothing that speaks MyFatoorah's aggregator API. Without it, finance teams reconcile MyFatoorah settlements by hand, sales orders sit unpaid while a customer waits for a bank-transfer instruction, and no ERPNext document ever knows a payment succeeded until someone types it in. That manual gap is where cash gets stuck.

We build a proper Frappe app — myfatoorah_erpnext — installed on your bench alongside ERPNext, not a fragile script bolted onto Payment Request. It ships a MyFatoorah Settings single DocType (API key, live/test toggle, currency, default success/error URLs, encrypted secrets) and a MyFatoorah Transaction DocType that logs every InvoiceId, PaymentId, invoice reference, status transition, and settlement/refund record so every payment is a queryable, permissioned ERPNext document. Whitelisted methods wrap MyFatoorah's SendPayment, ExecutePayment, GetPaymentStatus, and refund endpoints, and its InitiatePayment call lets you present KNET, mada, Benefit, and Apple Pay in one API instead of routing per method. Because MyFatoorah is an aggregator, one connector covers many local gateways with a single credential.

Technically, the flow hangs off ERPNext's own documents. A hooks.py doc_events handler on Sales Invoice / Sales Order submit can generate a MyFatoorah payment link and email it to the customer via the standard notification pipeline; a Payment Request gets a working "pay now" URL instead of a dead one. Confirmation comes back through a webhook exposed as a whitelisted, signature-verified endpoint — we validate MyFatoorah's callback, then create the ERPNext Payment Entry against the invoice on the server side so status is never trusted from the browser. A scheduler event (scheduler_events in hooks.py) polls GetPaymentStatus for pending transactions and pulls settlement and refund updates, so reconciliation is automatic. Client scripts surface a "Pay via MyFatoorah" action and live status on the invoice form; role profiles and DocType permissions keep API keys and refund actions restricted to the roles you nominate. Recurring and embedded-checkout flows are wired the same disciplined way. Everything targets Frappe/ERPNext v15 and v16 and is delivered against your exact edition and workflow.

This is a build-to-order engagement, not a marketplace download. It starts with a short scoping call to confirm your MyFatoorah account type, the methods you need (KNET / mada / Benefit / Apple Pay / cards), the trigger documents, and your ERPNext version. We then build against a written scope, validate on a staging bench with UAT, and only cut over to production with a rollback plan agreed in advance. Typical delivery is one working week from confirmed scope, and you receive the full source and git repository so nothing is a black box.

What you get

  • Installable source code for the `myfatoorah_erpnext` Frappe app, built for your ERPNext version (v15 or v16)
  • Installation and configuration on your environment: bench install, `MyFatoorah Settings` populated, webhook URL registered, methods enabled
  • Technical documentation covering DocTypes, hooks, whitelisted methods, webhook contract, and scheduler jobs for your developers
  • User guide plus a live training session for finance and sales staff on payment links, status, and refunds
  • UAT on a staging bench with test-mode transactions, sign-off checklist, and an agreed production cutover + rollback plan
  • Post-go-live support window for defect fixes and configuration adjustments after launch
  • Full git repository handover so you own the source with complete commit history
  • Configuration handover sheet: credential locations, environment toggles, and the exact MyFatoorah account settings used

Who this is for

GCC omni-channel merchant

A retailer or wholesaler selling across Kuwait, Saudi Arabia, and Bahrain who needs KNET, mada, and Benefit accepted from one ERPNext connector instead of maintaining a separate integration and reconciliation process per country.

Finance / AR controller

Owns cash application and month-end reconciliation. Wants MyFatoorah settlements and refunds landing as Payment Entries automatically, with a permissioned audit trail, so no one keys payments in by hand or reconciles bank deposits in a spreadsheet.

ERPNext system administrator / integrator

Runs the bench and owns the app estate. Needs a proper Frappe app with clean hooks, encrypted credentials, role-gated permissions, and full source in a git repo — not an unmaintainable script — running cleanly on v15/v16.

Subscription / services business

Bills recurring or embedded-checkout payments and needs MyFatoorah's recurring and inline-payment capabilities tied back to ERPNext invoices and subscriptions with reliable, webhook-verified status.

How MyFatoorah Payment Gateway for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
GCC method coverage (KNET/mada/Benefit/Apple Pay)All via MyFatoorah aggregator in one connectorEach method integrated and maintained separatelyUsually single-gateway (Stripe/Razorpay), no MyFatoorahNo MyFatoorah support at all
Fit to your ERPNext workflowBuilt to your v15/v16 documents and triggersFully custom but you own the whole buildGeneric; you bend your process to fit itGeneric Payment Gateway Account only
Payment confirmation integritySignature-verified webhook, server-side Payment EntryDepends on your team's rigorVaries; often trusts redirect statusManual entry after the fact
Settlement & refund syncAutomated settlement match + refund API + reversing entryBuild it yourselfRarely includedManual reconciliation and refunds
Source & ownershipFull git repo + source handoverYou own it; you also built itClosed or partial sourceN/A
Support & maintenancePost-go-live window + optional ongoing supportYour team maintains everythingVendor SLA, often paid tiersCommunity only
Time to productionone working week build-to-order from confirmed scopeMonths, unpredictableFast install but poor GCC fitImmediate but incomplete
Credential & permission securityEncrypted fields + role-gated refunds and keysDepends on implementationVaries by appBasic gateway account fields

Frequently Asked Questions about MyFatoorah Payment Gateway

Is this an instant download from the Frappe marketplace?

No. This is a build-to-order engagement. ECOSIRE builds the `myfatoorah_erpnext` app for your specific ERPNext version and workflow, installs it, and supports it. It is not an existing marketplace app you download and self-install.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The clock starts once we've agreed the written scope on a short scoping call — MyFatoorah account type, the methods you need (KNET / mada / Benefit / Apple Pay / cards), the trigger documents, and your ERPNext version. Complex multi-company or recurring setups can extend this, which we flag before you commit.

Which ERPNext versions are supported?

We build and test against Frappe/ERPNext v15 and v16. If you're on an older version we can discuss a compatible build or an upgrade path during scoping.

Do I need my own MyFatoorah account?

Yes. MyFatoorah is the payment aggregator and merchant of record for your funds; you hold the account and API credentials, and the enabled methods (KNET, mada, Benefit, Apple Pay, cards) depend on your MyFatoorah contract. We integrate ERPNext with your account — we don't resell payment processing.

How are payments confirmed — can someone fake a paid status?

Confirmation is server-side. MyFatoorah's callback hits a signature-verified whitelisted webhook, and only after validating it do we create the ERPNext Payment Entry. The browser redirect is never trusted as proof of payment, and a scheduler job re-polls `GetPaymentStatus` to catch any missed webhook, with idempotent posting so retries never double-count.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full git repository and source, your team can maintain it too. Ongoing maintenance — new MyFatoorah methods, ERPNext version upgrades, or enhancements — is available as a separate support arrangement.

Will this handle refunds and settlement reconciliation?

Yes. Refunds are initiated from a permission-gated action that calls MyFatoorah's refund API and writes a reversing Payment Entry. A settlement sync pulls MyFatoorah deposit records and matches them to Payment Entries so month-end reconciliation is automatic rather than manual.

Request a quote

MyFatoorah Payment Gateway

A MyFatoorah aggregator integration for ERPNext that turns GCC-local rails — KNET, mada, Benefit, Apple Pay — into a single connector with invoice-based payment links, webhook-verified settlement, and refund sync. ECOSIRE builds, installs, and supports it after a scoping call; it is not an instant download.

  • `MyFatoorah Settings` single DocType with live/test toggle, base country/currency, and API secrets stored via Frappe's encrypted-field mechanism rather than in code
  • `MyFatoorah Transaction` DocType logging InvoiceId, PaymentId, source ERPNext document, gateway, status history, and settlement/refund records as a permissioned, reportable document
  • Aggregated `InitiatePayment` + `SendPayment` flow presenting KNET, mada, Benefit, Apple Pay, and cards through one API, with per-method routing driven by MyFatoorah's supported-methods response
  • `hooks.py` `doc_events` on Sales Invoice / Sales Order submit to auto-generate a payment link and dispatch it through ERPNext's standard email/notification pipeline

Request a Quotation

Tell us about your MyFatoorah Payment Gateway requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.