Skip to main content
Product details are displayed in English. Translations coming soon.
Billplz & ToyyibPay FPX Gateway for Odoo (Malaysia) — A build-to-order Odoo payment provider that adds Malaysian FPX online-b — 1/1उदाहरणात्मक पूर्वावलोकन

A build-to-order Odoo payment provider that adds Malaysian FPX online-banking and card checkout through Billplz

and ToyyibPay, with signed webhook plus redirect reconciliation, MYR localization, and refund support.

ECOSIRE scopes, builds, installs, and supports it for you.

Billplz & ToyyibPay FPX Gateway for Odoo (Malaysia) क्या है?

A build-to-order Odoo payment provider that adds Malaysian FPX online-banking and card checkout through Billplz and ToyyibPay, with signed webhook plus redirect reconciliation, MYR localization, and refund support. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

प्रमुख सुविधाएँ

New `payment.provider` record with `code='billplz_toyyibpay'` so FPX appears natively in website checkout, `/my` portal, and sales-order payment links
Dual-gateway support — Billplz (bill API) and ToyyibPay (category/bill API) selectable per provider record, or run both side by side
Extends `payment.transaction` with a gateway-specific state machine mapping FPX outcomes to Odoo `draft`/`pending`/`done`/`cancel`/`error` states
Signed server-to-server webhook: HMAC/X-Signature verification against your gateway secret before any transaction state change
Idempotent `_handle_notification` reconciliation so webhook and browser redirect can't double-confirm a transaction
Scheduled `ir.cron` re-poll of transactions stuck `pending` past a threshold (FPX settles asynchronously)
MYR-aware amounts: sen conversion and 2-decimal validation to prevent rounding drift between Odoo and the gateway
Refund support wired to the provider refund endpoint from the invoice/transaction, keeping `account.move` consistent
Sandbox/production environment toggle with encrypted API-key and collection/category-ID fields on the provider record
FPX bank-selection handled on the gateway's hosted page — no PCI card data touches your Odoo server
Security via `ir.model.access.csv` + record rules; provider secrets are never exposed in QWeb views or logs
Full gateway request/response audit logging for dispute and reconciliation trails
OWL/XML configuration views for keys, collection/category IDs, and environment plus buyer-facing payment status pages
Reachable over XML-RPC/JSON-RPC so external storefronts or middleware can drive Odoo transactions
Built and tested against your exact Odoo 17.0 / 18.0 / 19.0 and Community vs Enterprise edition

ऑर्डर पर निर्मित, पूरी तरह आपके लिए तैयार

स्वयं सेटअप की ज़रूरत नहीं — ECOSIRE द्वारा निर्मित, इंस्टॉल और समर्थित एक कार्यशील ऐप।

  1. 1

    आप ऑर्डर करते हैं

    एक बार के निर्माण मूल्य से शुरू करें। किकऑफ़ पर हम आपके साथ मिलकर दायरा तय करते हैं।

  2. 2

    हम बनाते और इंस्टॉल करते हैं

    ECOSIRE इसे आपके Odoo पर बनाता, कॉन्फ़िगर और इंस्टॉल करता है।

  3. 3

    लाइव + समर्थन

    आप लगभग एक कार्य सप्ताह में लाइव हो जाते हैं, गो-लाइव के बाद दो सप्ताह के समर्थन के साथ। हमारे द्वारा दिए गए कोड की खामियाँ निःशुल्क ठीक की जाती हैं।

तकनीकी विनिर्देश

Odoo संगतता
Odoo 17, Odoo 18, Odoo 19
संस्करण
Enterprise और Community
लाइसेंस
लाइसेंस की पुष्टि आवश्यक है
Python आवश्यकता
Python 3.10+
डेटाबेस
PostgreSQL 12+

इस उत्पाद के बारे में

Malaysian SMEs selling on Odoo eCommerce, the customer portal, or via sales-order payment links keep losing checkouts because Odoo core ships no FPX option — the online banking rail that most Malaysian buyers actually trust. The stock payment module only carries generic providers (Stripe, PayPal, wire transfer, and a demo acquirer), none of which speak to Maybank2u, CIMB Clicks, or the other ~40 FPX participating banks. Buyers bounce at the last step, and finance ends up chasing manual bank-in slips and matching them against sales orders by hand. This is exactly where native Odoo runs out of road: there is no payment.provider record type for FPX, no state machine that understands Billplz bill callbacks or ToyyibPay category/bill flows, and no MYR-aware reconciliation.

We build a proper Odoo payment provider add-on that plugs into the standard payment framework so it behaves like a first-class acquirer everywhere Odoo already renders a pay button — website checkout, /my portal invoices, subscription renewals, and sales-order payment links. Technically, the module defines a new provider in payment.provider (code = 'billplz_toyyibpay'), extends payment.transaction with the compute/state logic for both gateways, and stores API keys, collection/category IDs, and the sandbox/production toggle as encrypted provider fields. On checkout it creates a Billplz bill (or ToyyibPay bill under a configured category) via the gateway REST API, redirects the buyer to the hosted FPX bank-selection page, and then reconciles the result through two independent paths: the server-to-server signed webhook (X-Signature / HMAC verification against your secret) and the browser redirect return. Both funnel into one idempotent _handle_notification handler so a transaction is never double-confirmed and a dropped redirect still settles from the webhook. Access is locked down with ir.model.access.csv plus record rules, provider secrets never render in QWeb, and every gateway call is logged for audit.

Beyond the happy path, we build the parts that make it production-grade in Malaysia: MYR currency and 2-decimal amount handling (gateways transact in sen, so amounts are converted and validated to avoid rounding drift), FPX-specific failure/pending states mapped to Odoo's pending/done/cancel/error transaction states, and refund support wired to the provider's refund endpoint from the invoice/transaction so accounting stays consistent. We add configuration views (OWL/XML) for keys and environment, an automated action or scheduled ir.cron to re-poll any transaction left pending past a threshold (FPX can settle asynchronously), and clean confirmation email/receipt behavior. Where you need it, transactions and provider status are reachable over the XML-RPC/JSON-RPC API so an external storefront or middleware can drive Odoo as the system of record. It targets Odoo Community and Enterprise on 17.0, 18.0, and 19.0 — the payment framework differs across those majors, so we pin and test against your exact version.

Because this is build-to-order, nothing is a black-box download. We start with a short scoping call to confirm which gateway(s) you use (Billplz, ToyyibPay, or both), your Odoo version and edition, sandbox credentials, and which sales flows must accept FPX. We then build against your requirements, deliver on a staging database for UAT, and go live only after you sign off — typical delivery is one working week from confirmed scope. You receive the full installable source, a git repository handover, and a post-go-live support window so the reconciliation keeps working after real money starts flowing.

What you get

  • Installable Odoo module source code built for your exact version (17.0 / 18.0 / 19.0) and edition
  • Installation and configuration on your environment, including sandbox-to-production credential setup for Billplz/ToyyibPay
  • Technical documentation: provider fields, webhook endpoint, reconciliation flow, and cron behavior
  • End-user guide plus a live training session for finance/ops on payments, pending states, and refunds
  • UAT on a staging database with a documented test plan and a rollback plan before go-live
  • Post-go-live support window for defect fixes and reconciliation issues after real transactions start
  • Git repository handover with full commit history and README
  • FPX/gateway configuration handbook covering test bank credentials and go-live checklist

Who this is for

Malaysian eCommerce SME owner

Runs an Odoo website store and is losing checkouts because buyers can't pay by FPX online banking. Needs Maybank2u/CIMB Clicks-grade coverage at checkout without switching platforms.

Finance / accounts manager

Tired of matching manual bank-in slips to sales orders. Wants FPX payments auto-reconciled into Odoo, refunds handled in-system, and a clean audit trail per transaction.

Odoo administrator / IT lead

Owns the Odoo instance and needs a provider that installs cleanly, respects access rules, survives version upgrades, and exposes transactions over the JSON-RPC/XML-RPC API for their stack.

Subscription / services business

Bills recurring MYR invoices through the customer portal and needs FPX (plus cards) accepted on portal invoice payment links with reliable webhook settlement.

How Billplz & ToyyibPay FPX Gateway for Odoo (Malaysia) Compares

CriterionECOSIRECustom BuildCompetitorOdoo नेटिव
FPX online banking supportNative FPX via Billplz/ToyyibPay across all Odoo pay flowsPossible but you design the whole provider from scratchVaries; often single-gateway and version-lockedNone — no FPX in Odoo core
Webhook + redirect reconciliationIdempotent dual-path handler + cron re-poll for pendingYou must build and test the state machine yourselfUsually redirect-only; async settlement often unhandledOnly generic providers; no FPX callback logic
Odoo version fit (17/18/19)Built and tested against your exact version + editionDepends on your team's Odoo depthOften lags a major version; upgrade gaps commonN/A
MYR / sen handlingSen conversion + 2-decimal validation, rounding-safeMust implement and verify amount mathInconsistent; rounding bugs reportedGeneric currency only, no gateway mapping
Refund supportProvider refund endpoint wired to account.moveExtra scope to build and reconcileOften manual or absentNo FPX refund path
Fit to your processScoped to your flows, delivered on staging with UATFully bespoke but slower and higher riskGeneric; you adapt to the moduleN/A
Support & handoverPost-go-live window + git repo + docs + trainingWhatever your contractor agrees toTicket queue; response variesCommunity forums only
Time to liveone working week from confirmed scope, build-to-orderOften months for a robust providerInstant install but integration/debug time afterNot applicable

Frequently Asked Questions about Billplz & ToyyibPay FPX Gateway

How long until it's live?

This is build-to-order, not an instant download. After a scoping call to confirm your gateway(s), Odoo version, and sales flows, typical delivery is one working week from confirmed scope. We build against your requirements, deliver on a staging database for UAT, and go live only after you sign off.

Do you support both Billplz and ToyyibPay, or just one?

Both. You can enable Billplz, ToyyibPay, or both as separate `payment.provider` records. Billplz uses its bill/collection API and ToyyibPay uses its category/bill API; the module normalizes both into Odoo's standard payment transaction flow.

Which Odoo versions and editions does it work with?

Odoo 17.0, 18.0, and 19.0, on Community or Enterprise. The `payment` framework changes between majors, so we pin and test against your exact version and edition rather than shipping a one-size build.

What happens if the buyer closes the browser before the redirect completes?

The transaction still settles. We reconcile from two independent paths — the signed server-to-server webhook and the browser redirect — into one idempotent handler, plus a scheduled `ir.cron` re-polls any transaction left pending. A dropped redirect does not lose the payment.

Can it issue refunds?

Yes. Refunds are wired to the gateway's refund endpoint and triggered from the invoice/transaction in Odoo, so the refund is reflected in your `account.move` records and the audit log stays consistent.

What do I get for support and updates after go-live?

You get a post-go-live support window for defect fixes and reconciliation issues once real transactions start, plus a full git repository handover so you own the source. Version upgrades or new features beyond the delivered scope are quoted separately.

Is card data or PCI scope on my Odoo server?

No. FPX bank selection and any card entry happen on the gateway's hosted page. Your Odoo server only exchanges API calls and verified webhooks, so no raw card data touches your infrastructure.

ऑर्डर पर निर्मित
Belgium Peppol E-Invoicing
Odoo

Belgium Peppol E-Invoicing

Send structured B2B invoices over the Peppol network for Belgium directly from Odoo, with tax mapping driven by your own master data and a full rejection-and-correction workflow. ECOSIRE builds, installs and supports it for your exact Odoo version after a scoping call.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
BI Dashboard — A build-to-order Odoo dashboard layer that gives every team a 360-degree, interactive view of live ERP data
Odoo

BI Dashboard

A build-to-order Odoo dashboard layer that gives every team a 360-degree, interactive view of live ERP data. ECOSIRE scopes, builds, installs, and supports it — this is a made-to-order engagement, not an instant download.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
Biometric Attendance Push Bridge for Odoo
Odoo

Biometric Attendance Push Bridge for Odoo

A build-to-order Odoo module that receives attendance punches and user records pushed directly from biometric time clocks and turns them into clean hr.attendance data. ECOSIRE scopes, builds, installs, and supports it for your instance.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
ऑर्डर पर निर्मित
BPMN Workflow Designer — A build-to-order visual BPMN 2
Odoo

BPMN Workflow Designer

A build-to-order visual BPMN 2.0 workflow builder for Odoo that lets your team design multi-level approvals and conditional routing without writing XML or Python. ECOSIRE scopes, builds, installs, and supports it on your Odoo 17, 18, or 19 database.

From $999.00प्रारंभिक मूल्य — आपके कार्यक्षेत्र के अनुसार तय किया जाएगा
कोटेशन का अनुरोध करें

Billplz & ToyyibPay FPX Gateway

A build-to-order Odoo payment provider that adds Malaysian FPX online-banking and card checkout through Billplz and ToyyibPay, with signed webhook plus redirect reconciliation, MYR localization, and refund support. ECOSIRE scopes, builds, installs, and supports it for you.

  • New `payment.provider` record with `code='billplz_toyyibpay'` so FPX appears natively in website checkout, `/my` portal, and sales-order payment links
  • Dual-gateway support — Billplz (bill API) and ToyyibPay (category/bill API) selectable per provider record, or run both side by side
  • Extends `payment.transaction` with a gateway-specific state machine mapping FPX outcomes to Odoo `draft`/`pending`/`done`/`cancel`/`error` states
  • Signed server-to-server webhook: HMAC/X-Signature verification against your gateway secret before any transaction state change

कोटेशन का अनुरोध करें

हमें Billplz & ToyyibPay FPX Gateway के लिए अपनी ज़रूरतें बताएं और हम आपको कीमत, लाइसेंस विकल्प और एक अनुकूलित प्रस्ताव भेजेंगे — आमतौर पर एक कार्यदिवस के भीतर।

अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।