跳至主要内容
产品详细信息以英文显示。翻译即将推出。
PayFast Gateway for ERPNext — A build-to-order Frappe app that wires PayFast into ERPNext for South African and Pakistani mer — 1/1示意预览

A build-to-order Frappe app that wires PayFast into ERPNext for South African and Pakistani merchants

— hosted checkout, instant EFT, wallets, recurring subscriptions, and ITN reconciliation.

ECOSIRE scopes, builds, installs, and supports it against your ledger.

什么是 PayFast Gateway for ERPNext?

A build-to-order Frappe app that wires PayFast into ERPNext for South African and Pakistani merchants — hosted checkout, instant EFT, wallets, recurring subscriptions, and ITN reconciliation. ECOSIRE scopes, builds, installs, and supports it against your ledger. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

核心功能

Registers PayFast as a native ERPNext `Payment Gateway Account`, so Payment Requests and the portal 'Pay Now' button route to it like any built-in gateway
`PayFast Settings` single DoctType with merchant ID, merchant key, and passphrase stored as encrypted `Password` fields, plus sandbox/live toggle
Signed hosted-payment-page redirect: MD5 signature over the sorted PayFast field set with passphrase, so no PAN or card data touches your ERPNext bench (PCI scope minimized)
Guest-accessible whitelisted ITN endpoint (`allow_guest`) that validates signature, PayFast source-IP allowlist, amount-equals-expected, and a server-side postback confirmation before booking anything
Idempotent `Payment Entry` creation keyed on PayFast `pf_payment_id` so retried or duplicate ITNs never double-post
ZAR and PKR support with per-currency enablement and card, instant EFT, and wallet method selection
Recurring billing that maps PayFast subscription/tokenization onto ERPNext `Subscription` records for automatic renewals
`hooks.py` doc events keep `Payment Request`, Sales Invoice, and Sales Order status in sync on payment, failure, and refund
`scheduler_event` sweep reconciles pending/timed-out transactions and pulls PayFast settlement data so Bank Reconciliation matches
Server-side refund action that calls the PayFast API and books a reversing `Payment Entry`, gated by ERPNext role permissions
Permission model reuses `Accounts Manager` / `Accounts User` role profiles for who can configure the gateway vs. issue refunds
Client scripts add PayFast transaction status and a Retry/Refund control directly on the Sales Invoice and Payment Request forms
Dedicated gateway-log DocType capturing every request, ITN, and API call for audit and dispute resolution
Frappe REST API and whitelisted methods for the initiate/verify/refund flow, usable by portal, mobile, or external integrations
Compatible with Frappe/ERPNext v15 and v16, delivered as a standard installable Frappe app on your bench

按需定制,全程代劳

无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。

  1. 1

    您下单

    以一次性构建价格开始。我们在启动时与您共同确定范围。

  2. 2

    我们构建与安装

    ECOSIRE 在您的 ERPNext 上构建、配置并安装。

  3. 3

    上线 + 支持

    约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。

技术规格

ERPNext 兼容性
—
许可证
许可证需要确认
Python 要求
Python 3.10+
数据库
MariaDB 10.6+

关于此产品

South African and Pakistani merchants running ERPNext hit the same wall: the platform's native payment options (Stripe, PayPal, Razorpay, Braintree, Paytm) don't cover PayFast, so ZAR and PKR customers can't pay through the Frappe web checkout with the methods they actually use — cards, instant EFT, or mobile wallets. Teams end up marking Sales Invoices paid by hand from bank statements, chasing PayFast's transaction console in a separate tab, and reconciling settlement batches in a spreadsheet. There is no PayFast option in the Payment Gateway Account list, so Payment Request emails and the portal "Pay Now" button simply don't route to PayFast at all.

We build a proper Frappe app — erpnext_payfast — that registers PayFast as a first-class ERPNext payment gateway. It ships a PayFast Settings single DocType (holding merchant ID, merchant key, passphrase, sandbox/live toggle, and per-currency enablement) with credentials stored as Password fields, and it hooks into ERPNext's standard Payment Gateway / Payment Request flow so any Sales Invoice, Sales Order, or web-portal document can generate a PayFast "Pay Now" link. When a customer clicks it, a whitelisted method (erpnext_payfast.api.initiate) builds the signed PayFast form payload — MD5 signature over the sorted field set plus passphrase — and redirects to the hosted PayFast payment page, so no card data ever touches your ERPNext instance.

On the return path, a whitelisted, allow_guest ITN endpoint (erpnext_payfast.api.itn) receives PayFast's Instant Transaction Notification, validates it four ways per PayFast's spec — signature match, source-IP allowlist, amount-equals-expected, and a server-side postback confirmation to PayFast — then, inside a single transaction, creates the Payment Entry, links it to the originating Payment Request and reference document, and updates status. hooks.py doc events keep the Payment Request and invoice in sync, a scheduler_event sweeps for pending/timed-out transactions and pulls settlement data so bank reconciliation matches, and refunds are handled through a guarded server-side action that calls the PayFast API and books the reversing Payment Entry. Recurring subscriptions map PayFast tokenization/subscription billing onto ERPNext Subscription records. Role and permission handling reuses ERPNext's Accounts Manager / Accounts User profiles so who can configure the gateway and who can issue refunds is governed by standard permissions, and every gateway call is written to a log DocType for audit. Client scripts surface the PayFast status and a "Retry / Refund" control directly on the Sales Invoice and Payment Request forms.

Because this is build-to-order, nothing is shipped from a shelf. You start with a short scoping call; we confirm which currencies and methods you need (cards, instant EFT, wallet, recurring), your ERPNext version (v15 or v16), and your reconciliation and refund rules. We build against a copy of your setup, run UAT on a staging bench with PayFast sandbox credentials, then install on your production bench, hand over the git repository, and stay on for a post-go-live support window. Typical delivery is one working week from confirmed scope.

你得到什么

  • Installable Frappe app source code (`erpnext_payfast`) built for your ERPNext v15 or v16 version
  • Installation and configuration on your bench, including PayFast Settings, gateway account, and sandbox-to-live cutover
  • Technical documentation: DocType reference, hooks/scheduler map, whitelisted API endpoints, and ITN validation flow
  • End-user guide plus a live training session for your accounts team covering pay links, reconciliation, and refunds
  • UAT on a staging bench with PayFast sandbox credentials, sign-off checklist, and a documented rollback plan
  • Post-go-live support window for bug fixes and configuration adjustments after production launch
  • Git repository handover with full commit history so you own and can extend the code
  • Compatibility notes and upgrade guidance for future Frappe/ERPNext minor versions

这是给谁的

South African ERPNext merchant

Sells in ZAR and needs customers to pay by card and instant EFT through the ERPNext portal, with PayFast ITNs auto-creating Payment Entries and settlement batches reconciling cleanly against the bank.

Pakistani online retailer on ERPNext

Wants local card and wallet acceptance via PayFast so PKR checkout works from Payment Request emails and the web store, without staff manually marking invoices paid.

Finance / accounts manager

Owns reconciliation and refunds; needs role-gated refund actions, an audit log of every gateway call, and automatic Payment Entry posting so month-end matches PayFast settlement without spreadsheets.

ERPNext administrator or implementation partner

Needs a clean, installable Frappe app that follows framework conventions — DocTypes, hooks.py, scheduler events, whitelisted methods — plus the git repo so it can be maintained and upgraded across v15/v16.

PayFast Gateway for ERPNext 如何比较

标准伊科西尔定制建造竞争对手ERPNext 原生
PayFast supportNative gateway registered in ERPNext, built to specDepends entirely on your in-house buildSometimes available, often generic or unmaintainedNot available — no PayFast in core
ERPNext integration depthPayment Request, Payment Entry, reconciliation, refunds wired inWhatever you have time to buildUsually checkout only, shallow accounting linksN/A — core has no PayFast
ITN reconciliationSignature + IP + amount + postback validated, auto Payment EntryYou design and test all validation yourselfBasic callback, variable validation rigorNone
Recurring subscriptionsPayFast subscriptions mapped to ERPNext `Subscription`Significant extra build effortRarely includedNone
Fit to your setupScoped to your version, currencies, and rulesFully bespoke but you carry the effortOne-size-fits-all, limited tailoringN/A
Maintenance & versionsBuilt for v15/v16, support window, upgrade guidanceYou own every future fixDepends on vendor's release cadenceN/A
Code ownershipFull source + git repo handoverYou own it, if you can staff itOften closed or licensedN/A
Time to liveTypically one working week from confirmed scopeUnpredictable, hiring/backlog dependentFast to install but may not fitImmediate but non-functional for PayFast

关于PayFast Gateway的常见问题

How long does delivery take?

This is a build-to-order app, not an instant download. Typical delivery is one working week from confirmed scope — the range depends on which methods and currencies you need (cards, instant EFT, wallet, recurring) and your reconciliation and refund rules. We agree the timeline in writing after the scoping call.

Do card details ever pass through my ERPNext server?

No. We use PayFast's hosted payment page, so the customer enters card details on PayFast's PCI-compliant environment. ERPNext only sends a signed redirect and receives the ITN callback, which keeps card data — and PCI scope — off your bench.

Which ERPNext and Frappe versions are supported?

We build for Frappe/ERPNext v15 and v16. Tell us your exact version at scoping and we target it specifically; the app follows standard Frappe app conventions so it installs on your bench with `bench get-app` and `bench install-app`.

How does support and updates work after go-live?

Every build includes a post-go-live support window for bug fixes and configuration tweaks. You also receive the full git repository, so your own team or partner can maintain and extend it. Longer-term maintenance and version-upgrade retainers are available on request.

How are payments reconciled and refunds handled?

On a validated ITN we create a `Payment Entry` linked to the originating Payment Request and reference document. A scheduler event pulls PayFast settlement data so Bank Reconciliation matches, and refunds run through a role-gated server-side action that calls the PayFast API and books the reversing entry.

Does it support recurring subscriptions?

Yes, if it's in scope. We map PayFast subscription/tokenization billing onto ERPNext `Subscription` records so renewals are charged automatically and posted back as Payment Entries. Confirm your recurring plans during scoping so we build the right cadence and dunning behavior.

Can I extend or customize the app after handover?

Yes. You receive the complete source and git history. Because it's a standard Frappe app using DocTypes, hooks.py doc events, whitelisted methods, and client scripts, your developers can add fields, endpoints, or business rules the same way you would with any ERPNext customization.

申请报价

PayFast Gateway

A build-to-order Frappe app that wires PayFast into ERPNext for South African and Pakistani merchants — hosted checkout, instant EFT, wallets, recurring subscriptions, and ITN reconciliation. ECOSIRE scopes, builds, installs, and supports it against your ledger.

  • Registers PayFast as a native ERPNext `Payment Gateway Account`, so Payment Requests and the portal 'Pay Now' button route to it like any built-in gateway
  • `PayFast Settings` single DoctType with merchant ID, merchant key, and passphrase stored as encrypted `Password` fields, plus sandbox/live toggle
  • Signed hosted-payment-page redirect: MD5 signature over the sorted PayFast field set with passphrase, so no PAN or card data touches your ERPNext bench (PCI scope minimized)
  • Guest-accessible whitelisted ITN endpoint (`allow_guest`) that validates signature, PayFast source-IP allowlist, amount-equals-expected, and a server-side postback confirmation before booking anything

申请报价

告诉我们您对 PayFast Gateway 的需求,我们将发送价格、许可选项和量身定制的方案,通常在一个工作日内。

现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。