Skip to main content
Xendit Payment Gateway for Odoo (SEA) — Build-to-order Xendit connector unifying Indonesia & Philippines payment methods on O — 1/1Illustrative preview

Build-to-order Xendit connector unifying Indonesia & Philippines payment methods on Odoo checkout

— cards, e-wallets, VA, retail.

What is Xendit Payment Gateway for Odoo (SEA)?

Build-to-order Xendit connector unifying Indonesia & Philippines payment methods on Odoo checkout — cards, e-wallets, VA, retail. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Unified Xendit payment provider registered natively in Odoo — appears alongside Odoo's built-in acquirers on eCommerce, invoice, sales-order and subscription checkout
Card payments (Visa, Mastercard, JCB) with tokenization for returning customers and support for 3-D Secure authentication
Indonesian e-wallets: OVO, DANA, ShopeePay, LinkAja — with the correct redirect/push flow per wallet
Philippine e-wallets: GCash and PayMaya, presented automatically to PHP-currency and PH-country customers
Virtual Account (VA) bank transfer: BCA, BNI, BRI, Mandiri, Permata and more, with a generated VA number and expiry shown on the Odoo checkout
Over-the-counter retail outlet payments (Alfamart, Indomaret) for cash-preferring buyers, with reference codes surfaced in Odoo
Multi-country SEA support — one connector, method picker adapts to Indonesia (IDR) and Philippines (PHP) storefronts and customer geography
Webhook reconciliation controller that verifies Xendit's callback token and matches invoices/charges back to the exact Odoo `payment.transaction`
Idempotent callback handling so retried or duplicate Xendit webhooks never double-post or double-confirm an order
Full refund and partial refund from the Odoo transaction form, pushed to Xendit and reflected in accounting
Automatic sales-order confirmation and invoice creation on successful payment, following Odoo's standard payment flow
Live/test mode toggle with sandbox Xendit keys for safe UAT before go-live
Currency, rounding and localization handling tuned for IDR and PHP, matching your fiscal setup
Role-based access to API keys and callback tokens via `ir.model.access.csv` and record rules — credentials never exposed to standard users
XML-RPC / JSON-RPC accessible so external systems can create or query Xendit transactions programmatically
Payment status audit trail and clear failure reasons written back to the transaction for support and finance visibility

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 Odoo.

  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

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

A single Xendit connector that brings the full Southeast Asian payment stack into Odoo checkout — cards, e-wallets (OVO, DANA, ShopeePay, GCash, PayMaya), virtual accounts, and over-the-counter retail — without stitching together five separate acquirers.

This is a BUILD-TO-ORDER Odoo module. It is not an existing apps.odoo.com download and there is no instant purchase-and-install. After you order, ECOSIRE builds, configures, and installs the module for your Odoo 17, 18, or 19 database (Community or Enterprise), then hands it over with documentation and a support window. Typical delivery is one working week depending on which Xendit methods and country flows you need live.

Under the hood, the connector is a proper Odoo payment provider. It extends payment.provider and payment.transaction with Xendit-specific fields (API key, callback verification token, live/test mode) declared in models/ via models.Model and typed fields, secured through ir.model.access.csv plus record rules so only the right roles touch credentials. Payment states are kept consistent using computed fields with @api.depends, and Xendit webhooks post to a controller that verifies the callback token, reconciles the Xendit invoice/charge against the Odoo transaction, and drives the standard _set_done / _set_pending / _set_canceled lifecycle. Checkout templates are rendered with QWeb/OWL so buyers see the right method picker for their country. Refunds are issued from the transaction form and mirrored to Xendit via its API. Everything speaks Odoo's native rails, so accounting entries, sales orders, subscriptions, and eCommerce all reconcile automatically — and you can trigger or read transactions externally over XML-RPC/JSON-RPC.

Because it is built for your instance, ECOSIRE fits it to your chart of accounts, IDR/PHP currency and rounding rules, tax setup, and the exact method mix your Indonesian and Filipino customers expect — rather than forcing you onto a generic one-size listing.

What you get

  • Complete, installable Odoo module (source) with a clean `__manifest__.py` declaring dependencies (`payment`, `account`, `website_sale` as needed) and version-pinned for your Odoo 17/18/19 target
  • Xendit provider configured in your database — API keys, callback verification token, enabled methods per country, and live/test mode wired for your storefront
  • Webhook endpoint set up and registered in your Xendit dashboard, with reconciliation and idempotency verified against test transactions
  • Sandbox UAT: end-to-end test transactions across the method mix you select (card, e-wallet, VA, retail) with screenshots/evidence before go-live
  • Go-live cutover to Xendit production keys plus a smoke-test checklist confirming real settlements reconcile in Odoo accounting
  • Admin and finance documentation: how to configure methods, read transaction states, issue refunds, and interpret failed payments
  • Live handover/training session for your team on operating the connector and troubleshooting common Xendit callbacks
  • Post-delivery support window for bug fixes and configuration adjustments, plus source ownership so your team (or ECOSIRE) can extend it later

Who this is for

SEA eCommerce merchant aggregating methods via Xendit

An Indonesian or Philippine online retailer running Odoo eCommerce who wants OVO, DANA, GCash, VA and cards in one checkout — settled through a single Xendit account instead of integrating each acquirer separately.

Finance / accounting lead who needs clean reconciliation

The controller responsible for matching Xendit settlements to Odoo invoices. Values automatic journal entries, IDR/PHP-correct rounding, refund traceability, and a webhook flow that never double-posts.

Odoo administrator or IT lead going live in a new SEA market

Owns the Odoo instance (Community or Enterprise, v17/18/19) and needs a payment provider that installs cleanly, respects record-level security on credentials, and exposes transactions over XML-RPC/JSON-RPC for other systems.

Cross-border operator serving both Indonesia and the Philippines

A business selling into IDR and PHP storefronts that wants one connector to present the right local methods per country and currency, rather than maintaining two separate payment stacks.

How Xendit Payment Gateway for Odoo (SEA) Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Xendit-native SEA methods (OVO, DANA, GCash, VA, retail) on Odoo checkoutIncludedPartial supportPartial supportNot included
Built and installed for your Odoo 17/18/19 (Community & Enterprise)IncludedPartial supportPartial supportPartial support
Multi-country IDR/PHP handling with per-country method pickerIncludedPartial supportNot includedNot included
Idempotent webhook reconciliation to the exact payment.transactionIncludedPartial supportPartial supportNot included
Full & partial refunds pushed to Xendit from the Odoo formIncludedPartial supportPartial supportNot included
Credential security via ir.model.access.csv + record rulesIncludedPartial supportPartial supportIncluded
Fitted to your chart of accounts, tax and rounding rulesIncludedIncludedNot includedPartial support
Sandbox UAT, documentation, training & support window includedIncludedNot includedNot includedNot included
XML-RPC / JSON-RPC access to transactionsIncludedPartial supportPartial supportIncluded

Frequently Asked Questions about Xendit Payment Gateway

How long does delivery take, and what is the process?

This is a build-to-order module — there is no instant download. After you order, ECOSIRE scopes your requirements (Odoo version, Community vs Enterprise, target countries and Xendit methods), then builds, configures and installs the connector on your database. Typical delivery is one working week, driven mainly by how many methods and country flows go live and by Xendit account/verification readiness. You get sandbox UAT with test transactions before any production cutover.

What support and updates do I get after delivery?

You receive a post-delivery support window for bug fixes and configuration adjustments, plus a documented handover and a training session for your team. Because you own the module source, ECOSIRE can also provide compatibility updates for future Odoo point releases or new Xendit methods under a support/maintenance arrangement. Security fixes to the callback verification and reconciliation logic are prioritized.

Which Xendit payment methods and countries are supported?

Cards (Visa, Mastercard, JCB), Indonesian e-wallets (OVO, DANA, ShopeePay, LinkAja), Philippine e-wallets (GCash, PayMaya), Virtual Account bank transfers (BCA, BNI, BRI, Mandiri, Permata and more), and over-the-counter retail (Alfamart, Indomaret). The connector adapts the method picker to Indonesia (IDR) and the Philippines (PHP). We enable the exact subset your business is contracted for on Xendit.

Which Odoo versions and editions does it work with?

Odoo 17, 18 and 19, on both Community and Enterprise. The module is built as a native Odoo payment provider (extending `payment.provider` and `payment.transaction`), so it integrates with eCommerce (`website_sale`), sales orders, invoicing and subscriptions the same way Odoo's built-in acquirers do. We version-pin the `__manifest__.py` to your exact target release.

How are webhooks reconciled and kept safe from duplicates?

A dedicated controller receives Xendit callbacks, verifies the callback verification token, and matches each invoice/charge back to the corresponding Odoo `payment.transaction` before driving its state (done/pending/canceled). Handling is idempotent, so Xendit's retried or duplicate webhooks never double-confirm an order or double-post accounting entries. Every transaction keeps an audit trail with failure reasons for finance and support.

Can I test it before going live, and are refunds supported?

Yes. Delivery includes sandbox UAT using Xendit test keys, where we run end-to-end test payments across your selected method mix and share evidence before switching to production keys. Refunds — full and partial — are issued directly from the Odoo transaction form, pushed to Xendit, and reflected in your accounting so settlements and reversals stay reconciled.

Request a quote

Xendit Payment Gateway

Build-to-order Xendit connector unifying Indonesia & Philippines payment methods on Odoo checkout — cards, e-wallets, VA, retail.

  • Unified Xendit payment provider registered natively in Odoo — appears alongside Odoo's built-in acquirers on eCommerce, invoice, sales-order and subscription checkout
  • Card payments (Visa, Mastercard, JCB) with tokenization for returning customers and support for 3-D Secure authentication
  • Indonesian e-wallets: OVO, DANA, ShopeePay, LinkAja — with the correct redirect/push flow per wallet
  • Philippine e-wallets: GCash and PayMaya, presented automatically to PHP-currency and PH-country customers

Request a Quotation

Tell us about your Xendit 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.