Skip to main content
STC Pay & Apple Pay Wallet Kit for ERPNext — A build-to-order Frappe app that adds STC Pay and Apple Pay one-tap wallet accep — 1/1Illustrative preview

A build-to-order Frappe app that adds STC Pay and Apple Pay one-tap wallet acceptance to your ERPNext checkout,

wired into the Saudi gateways you already use.

ECOSIRE builds, installs, and supports it for your instance.

What is STC Pay & Apple Pay Wallet Kit for ERPNext?

A build-to-order Frappe app that adds STC Pay and Apple Pay one-tap wallet acceptance to your ERPNext checkout, wired into the Saudi gateways you already use. ECOSIRE builds, installs, and supports it for your instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated Frappe app with its own module, `hooks.py`, fixtures, and versioned migrations — installs cleanly via `bench get-app` / `bench install-app` on your existing bench
STC Pay direct integration: server-side charge and OTP initiation through `@frappe.whitelist()` methods, never exposing merchant secrets to the browser
Apple Pay merchant validation handled server-side — the merchant-session handshake with Apple runs from your bench, with the domain-association file served from `/.well-known/`
Apple Pay button rendered on Web Payments checkout only for supported devices/browsers via feature detection, so non-Apple traffic is never blocked
Google Pay payment sheet support wired to the same tokenization backend as the other wallets
mada wallet tokenization against your acquiring gateway (Moyasar, HyperPay/PayFort, Tap, or your current Saudi provider) with signed, parameterized requests
One-tap express checkout path that pre-fills the ERPNext Sales Order/Quotation and skips redundant address and card entry
`Wallet Payment Settings` single DocType storing all credentials in Frappe password fields — encrypted at rest, no plaintext secrets in code or config
`Wallet Transaction` DocType linked to the source Sales Order/Invoice, capturing gateway reference, raw response, and reconciliation status for audit
`hooks.py` doc events on `Payment Entry`/`Sales Invoice` `on_submit` to auto-create the Payment Entry and post reconciliation when a wallet capture succeeds
Scheduler event that polls pending/async STC Pay confirmations and expires abandoned checkout sessions so no order is left in a limbo state
Whitelisted REST endpoints so a headless storefront or mobile app can trigger the same wallet flows through the Frappe REST API
Dedicated role and role profile gating credential access and transaction reconciliation, honoring ERPNext permission and user-permission rules
Client scripts for both Web Payments checkout and (optionally) ERPNext POS, with graceful fallback to your existing card flow if a wallet is unavailable
Idempotent capture handling and webhook/callback verification to prevent double-charging on retries or duplicate gateway callbacks
Built and tested against Frappe/ERPNext v15 and v16, with the version pinned to your instance at scoping

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

Saudi shoppers reach for their wallets, not their cards. STC Pay dominates local peer-to-peer and retail flows, Apple Pay carries most iPhone checkouts, and mada tokenized wallets convert far better than raw PAN entry — yet ERPNext core ships with no native concept of any of them. Out of the box the ERPNext Payment Gateway framework and the Web Payments flow give you a generic redirect to whatever gateway you configured; there is no STC Pay button, no Apple Pay merchant validation handshake, no Google Pay sheet, and no one-tap express path. Merchants end up bolting on hosted payment pages that break the ERPNext order lifecycle, lose the payment reference, and force customers off-site at the exact moment conversion is most fragile.

This kit is a proper Frappe app (a real module with its own hooks.py, DocTypes, and versioned migrations) that ECOSIRE builds for your instance to close that gap. We add a Wallet Payment Settings single DocType to hold your STC Pay merchant credentials, Apple Pay merchant identifier and domain-association file, Google Pay merchant info, and mada/gateway routing — with secrets stored as Frappe password fields, never in plaintext. Wallet buttons render on the Web Payments checkout and (optionally) the ERPNext POS via client scripts, and a set of @frappe.whitelist() server methods handle the parts that must run server-side: the Apple Pay merchant-session validation call to Apple's gateway, STC Pay charge/OTP initiation, and signed tokenization against your acquiring gateway (Moyasar, HyperPay/PayFort, Tap, or your existing Saudi provider). Every wallet transaction is captured as a Wallet Transaction DocType linked back to the Sales Order or Sales Invoice so the payment reference, gateway response, and reconciliation status live inside ERPNext where your finance team already works.

Under the hood the app leans on the framework rather than fighting it. hooks.py doc events fire on Payment Entry and Sales Invoice on_submit to reconcile wallet captures and post the corresponding accounting; a scheduler event polls for pending/async STC Pay confirmations and expires stale checkout sessions; and the whitelisted endpoints are exposed cleanly through the Frappe REST API so a headless storefront or mobile app can drive the same one-tap flow. Access is governed by a dedicated role and role profile so only authorized users read the credential DocType or reconcile transactions, and all button-render and validation logic degrades gracefully — an unsupported device or browser simply never sees the Apple Pay button, so nothing breaks for non-Apple traffic.

Because this is build-to-order, you are not downloading a frozen marketplace app and hoping it fits. After a short scoping call we confirm your ERPNext version (v15 or v16), your current Saudi acquiring gateway, which surfaces need wallet buttons (web checkout, POS, headless), and your reconciliation and VAT-invoice expectations. ECOSIRE then builds the app against that scope, provisions Apple Pay domain verification and STC Pay merchant onboarding with you, and validates the full flow on a staging bench before touching production. Typical delivery is one working week from confirmed scope. You receive the installable source, a documented git repository, UAT sign-off with a rollback plan, and a post-go-live support window — this is a real engineering engagement, not a plugin purchase.

What you get

  • Installable source code for the Frappe app built for your ERPNext version (v15 or v16), pinned to your bench
  • Installation and configuration on your staging bench, including Apple Pay domain verification, STC Pay onboarding, and gateway credential wiring
  • Technical documentation: DocType reference, `hooks.py` events, whitelisted method/REST endpoint contracts, and configuration guide
  • User guide plus a live training session for your checkout, finance, and support teams
  • UAT on a staging bench with a signed test plan, plus a documented rollback plan before production cutover
  • Post-go-live support window for defect fixes and configuration adjustments
  • Handover of the private git repository with full commit history so your team owns and can extend the code
  • Production deployment assistance and a go-live checklist covering DNS/domain association, gateway live keys, and smoke tests

Who this is for

Saudi ERPNext merchant maximising wallet conversion

Runs an online store on ERPNext Web Payments and is losing checkout completions because customers expect STC Pay and Apple Pay one-tap, not card entry. Needs native wallet buttons that keep the order and payment reference inside ERPNext.

Head of finance / controller

Cares that every wallet capture reconciles cleanly to a Payment Entry and Sales Invoice with the gateway reference on file for audit and VAT. Wants reconciliation automated via doc events, not spreadsheet chasing.

ERPNext implementation partner / in-house Frappe developer

Needs a properly structured Frappe app — real DocTypes, `hooks.py`, whitelisted methods, migrations — that they can read, extend, and maintain, with a git repo handover rather than an opaque marketplace binary.

Omnichannel retailer with POS and web

Sells through both ERPNext POS and an online storefront and wants a consistent wallet experience across surfaces, with headless REST endpoints available for a mobile app later.

How STC Pay & Apple Pay Wallet Kit for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Delivery modelBuild-to-order, installed and supported by ECOSIREYou hire and manage developers yourselfInstant download, take-it-as-isNothing to deliver — not available in core
STC Pay & Apple Pay supportNative buttons + server-side validation built for your gatewayPossible, but you build the whole handshakeOften generic or gateway-locked, if present at allNone — only a generic gateway redirect
ERPNext integration depthReal DocTypes, hooks.py doc events, whitelisted REST methodsDepends entirely on your team's Frappe skillVaries; often a thin hosted-page wrapperGeneric Payment Gateway framework only
Reconciliation to financeAuto Payment Entry + linked Wallet Transaction on submitYou design and build the reconciliation logicFrequently manual or partialManual entry against gateway statements
Version fit (v15/v16)Pinned and tested to your exact benchYour responsibility to target and testWhatever the vendor last releasedShips with core, but no wallet features
Secret handlingFrappe password fields, server-side calls onlyOnly as secure as your implementationVaries by vendor; sometimes client-side keysN/A — no wallet credentials to store
Code ownershipFull git repo handover, yours to extendYou own it but carry all the effortUsually closed/licensed binaryCore code, no wallet layer
Support & updatesPost-go-live window + optional support agreementYou staff and fund all maintenanceVendor roadmap, not tailored to youCommunity/ERPNext releases only

Frequently Asked Questions about STC Pay & Apple Pay Wallet Kit

Is this an existing app I can download and install today?

No. This is build-to-order. ECOSIRE builds the Frappe app for your specific ERPNext version and Saudi acquiring gateway after a scoping call, then installs and supports it. There is no instant download — you receive tested, installable source code and the git repository at handover.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The exact timeline depends on which surfaces you need (web checkout, POS, headless), your gateway, and how quickly Apple Pay domain verification and STC Pay merchant onboarding complete on your side. We confirm dates after the scoping call.

Which ERPNext versions are supported?

Frappe/ERPNext v15 and v16. We pin the build to your instance's exact version at scoping so migrations, DocTypes, and hooks match your bench. If you are on an older version, we will discuss an upgrade path during scoping.

Do I still need a payment gateway account?

Yes. This kit adds STC Pay, Apple Pay, Google Pay, and mada wallet buttons on top of your acquiring gateway (Moyasar, HyperPay/PayFort, Tap, or another Saudi provider). You keep your own merchant/gateway accounts and STC Pay and Apple Pay merchant credentials; we wire them in securely as Frappe password fields.

How are payment secrets stored?

All credentials live in a `Wallet Payment Settings` DocType using Frappe password fields, encrypted at rest — never in source code or plaintext config. Server-side operations like Apple Pay merchant validation and STC Pay charge initiation run through `@frappe.whitelist()` methods so secrets never reach the browser.

What about support and future updates?

Every engagement includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full git repository, your team can maintain and extend the code independently. Ongoing maintenance, ERPNext version upgrades, and new gateway support are available as a separate support agreement.

Will it break checkout for non-Apple or unsupported devices?

No. Wallet buttons render only when the device and browser support them — the Apple Pay button appears only on eligible Safari/iOS, Google Pay only where available — and everything falls back cleanly to your existing card flow. Non-wallet traffic sees no change and nothing breaks.

Can a headless storefront or mobile app use this?

Yes. The same wallet flows are exposed as whitelisted methods over the Frappe REST API, so a headless storefront or mobile app can trigger STC Pay, Apple Pay, and mada tokenization and receive the same `Wallet Transaction` records linked to the ERPNext order.

Request a quote

STC Pay & Apple Pay Wallet Kit

A build-to-order Frappe app that adds STC Pay and Apple Pay one-tap wallet acceptance to your ERPNext checkout, wired into the Saudi gateways you already use. ECOSIRE builds, installs, and supports it for your instance.

  • Dedicated Frappe app with its own module, `hooks.py`, fixtures, and versioned migrations — installs cleanly via `bench get-app` / `bench install-app` on your existing bench
  • STC Pay direct integration: server-side charge and OTP initiation through `@frappe.whitelist()` methods, never exposing merchant secrets to the browser
  • Apple Pay merchant validation handled server-side — the merchant-session handshake with Apple runs from your bench, with the domain-association file served from `/.well-known/`
  • Apple Pay button rendered on Web Payments checkout only for supported devices/browsers via feature detection, so non-Apple traffic is never blocked

Request a Quotation

Tell us about your STC Pay & Apple Pay Wallet Kit 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.