メインコンテンツにスキップ
商品詳細は英語で表示されます。翻訳は近日公開予定です。
Midtrans Payment Gateway for Odoo (Indonesia) — Indonesian cards, e-wallets, and VA bank transfer via Midtrans Snap on Odoo — — 1/1イメージプレビュー

Indonesian cards, e-wallets, and VA bank transfer via Midtrans Snap on Odoo

— built, installed and supported by ECOSIRE.

Midtrans Payment Gateway for Odoo (Indonesia)とは?

Indonesian cards, e-wallets, and VA bank transfer via Midtrans Snap on Odoo — built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

主な機能

Midtrans Snap integration in two modes — embedded popup (Snap.js) rendered over your Odoo checkout, or full redirect to Midtrans-hosted Snap, selectable per your UX preference
Full Indonesian payment-channel coverage through one integration: credit/debit cards, GoPay, ShopeePay, QRIS, virtual-account transfer (BCA, BNI, BRI, Mandiri, Permata) and over-the-counter retail (Alfamart, Indomaret)
Native Odoo payment provider implementation: a real payment.provider record (code 'midtrans') and payment.transaction extension mapping Midtrans states to Odoo's draft/pending/authorized/done/cancel/error lifecycle
Server-side webhook controller that receives Midtrans HTTP notifications and treats them as the authoritative payment source — browser redirects are never trusted to confirm payment
SHA-512 signature_key verification (order_id + status_code + gross_amount + Server Key) on every notification to reject spoofed or tampered callbacks
IDR zero-decimal handling: gross_amount rounded and formatted to whole rupiah, fractional-tax rounding drift guarded, and the exact settled amount reconciled back to the Odoo transaction
In-Odoo refund support that calls the Midtrans refund/cancel API on captured transactions, writes the outcome back to the payment.transaction, and logs it in the chatter for audit
Sandbox and production toggle with separate Client Key / Server Key config fields stored on the provider record, so you validate in Midtrans sandbox before going live
Works across all Odoo payment surfaces: Website/eCommerce checkout, customer-portal invoice payment, and online quotation payment — one provider, every flow
Security-scoped via ir.model.access.csv and record rules so only Accounting/Payment managers can edit credentials or issue refunds; credentials are never written to logs
3-D Secure / card-authentication and installment channels supported where enabled on your Midtrans account, surfaced through Snap without extra Odoo code
Idempotent order-id strategy and transaction-state reconciliation to prevent double-charging on retries or duplicate notifications
Compatible with Odoo 17, 18 and 19 on both Community and Enterprise, delivered as a versioned addon with a documented __manifest__.py for clean upgrades
Optional automated action / scheduled reconciliation hook to re-query Midtrans transaction status for pending VA/retail payments that settle hours later

受注生産、すべておまかせ

自分での設定は不要 — ECOSIRE が構築・インストール・サポートする実働アプリです。

  1. 1

    ご注文

    一回限りの構築料金から始めます。キックオフで一緒に範囲を決めます。

  2. 2

    構築とインストール

    ECOSIRE がお客様の Odoo 上で構築・設定・インストールします。

  3. 3

    本番稼働 + サポート

    約1週間(営業日ベース)で稼働し、本番稼働後2週間のサポートが付きます。納品したコードの不具合は無償で修正します。

技術仕様

Odoo互換性
Odoo 17, Odoo 18, Odoo 19
エディション
Enterprise&Community
ライセンス
ライセンスの確認が必要です
Python要件
Python 3.10+
データベース
PostgreSQL 12+

この製品について

Sell to Indonesian customers the way they actually pay. This is a build-to-order Midtrans payment provider for Odoo — ECOSIRE designs, builds, installs and supports it for your specific Odoo environment; it is not an off-the-shelf apps.odoo.com download and there is no instant-download link.

Midtrans is one of Indonesia's most widely used payment aggregators, and its Snap product exposes a single hosted checkout that covers credit/debit cards, e-wallets (GoPay, ShopeePay, QRIS), virtual-account bank transfer (BCA, BNI, BRI, Mandiri, Permata), over-the-counter retail outlets (Alfamart, Indomaret), and installment options — all behind one integration. This module wires that Snap experience into Odoo's native payment framework so it works consistently across the eCommerce checkout (Odoo Website / Sales), the customer portal for invoice payment, and quotation online payment.

Under the hood we implement a proper Odoo payment provider. A new payment.provider record (code = 'midtrans') carries your Client Key, Server Key and sandbox/production toggle as encrypted config fields; a payment.transaction extension maps Odoo's transaction lifecycle to Midtrans order and transaction states. On checkout the customer either sees the Snap popup rendered over your Odoo page (via the Snap.js client) or is redirected to Midtrans-hosted Snap, then returned to Odoo's standard confirmation route. Server-to-server confirmation is authoritative: a controller endpoint receives Midtrans's HTTP notification (webhook), verifies the SHA-512 signature_key (order_id + status_code + gross_amount + Server Key) before trusting any status, and moves the payment.transaction to done / pending / cancelled / error accordingly — so a closed browser tab or a spoofed callback can never mark an order paid.

Amounts and currency follow Indonesian rules: IDR is a zero-decimal currency at Midtrans, so we round and format gross_amount to whole rupiah, guard against fractional-tax rounding drift, and reconcile the exact settled amount back to the Odoo transaction. Refunds are supported from within Odoo — an authorized user triggers a refund on a captured transaction and the module calls Midtrans's refund API, then writes the result back to the transaction and posts a message in the chatter for audit.

Security is modeled the Odoo way: ir.model.access.csv grants and record rules keep gateway credentials and transaction actions restricted to Accounting/Payment managers, the webhook controller is auth='public' but validated by signature (never by trust), and no secret is ever logged. The module ships tested against Odoo 17, 18 and 19 and works on both Community and Enterprise (Enterprise adds nicer accounting reconciliation UX, but the gateway itself does not require it). Everything is delivered as a clean, versioned addon with a documented __manifest__.py, so it upgrades cleanly and your team can read exactly what it does.

Because it's build-to-order, you get a gateway tuned to your catalog, tax setup, multi-company/multi-currency layout and preferred Snap payment channels — not a generic binary you have to bend your workflow around.

得られるもの

  • Complete, production-ready Odoo addon (the Midtrans payment provider module) with clean __manifest__.py, models, controllers, views and security files, versioned for Odoo 17, 18 and/or 19 as required
  • Installation and deployment on your Odoo instance (or a staging copy first), including addons-path placement, module install and payment.provider record setup
  • Midtrans account configuration guidance: Client Key / Server Key placement, sandbox validation, and correct webhook (payment notification URL) registration in the Midtrans dashboard
  • End-to-end sandbox test pass covering card, GoPay/QRIS, virtual-account and retail-outlet flows plus a refund, with results shared before go-live
  • Written documentation: configuration guide, webhook/signature explanation, refund procedure, and a short runbook for common failure states (pending VA, expired transaction, signature mismatch)
  • A live handover / training session for your finance and web team on taking payments, reading transaction states in Odoo, and issuing refunds
  • A defined post-launch support and warranty window for bug fixes and Odoo/Midtrans compatibility issues (see FAQ), plus source-code ownership so your team can extend it
  • Go-live checklist and switch-to-production support to move from sandbox keys to live keys safely

これは誰のためのものですか

Indonesian eCommerce merchant on Odoo Website

Runs an Odoo Website/eCommerce storefront serving Indonesian shoppers and needs GoPay, QRIS, virtual-account and card checkout that local customers trust — without cobbling together a fragile custom integration.

Finance / accounting manager

Owns reconciliation and refunds. Wants every payment confirmed by a verified webhook (not a browser redirect), exact IDR amounts matched to invoices, and refunds issued from inside Odoo with a clear audit trail in the chatter.

B2B seller invoicing via the customer portal

Sends Odoo quotations and invoices and wants Indonesian buyers to pay online through the portal using their preferred local method, with the payment automatically registered against the right invoice.

Odoo partner or in-house developer

Needs a properly structured, readable addon — real payment.provider/payment.transaction extension, signature verification, ir.model.access.csv security — that installs cleanly on Odoo 17/18/19 Community or Enterprise and is safe to maintain and extend.

Midtrans Payment Gateway for Odoo (Indonesia) の比較方法

基準エコシエールカスタムビルド競合他社Odoo 標準機能
Indonesian payment methods (GoPay, QRIS, VA, retail, cards) in one checkout付属Possible but you build and maintain every channel yourselfVaries — many cover only cards or a subset含まれていない
Webhook + SHA-512 signature verification as the source of truth付属Only if you implement it correctly — easy to get wrongOften relies on browser redirect; signature check inconsistent含まれていない
IDR zero-decimal amount handling and exact reconciliation付属Your responsibility to handle rounding driftNot always handled — a common source of mismatches部分的なサポート
In-Odoo refunds via Midtrans API with chatter audit trail付属Extra work you scope and buildSometimes; often manual in the Midtrans dashboard含まれていない
Tested on Odoo 17, 18 and 19 (Community + Enterprise)付属You test and maintain across versionsDepends on vendor's version support部分的なサポート
Built for your catalog, tax, multi-company and preferred channels付属付属含まれていない含まれていない
Source-code ownership + defined support/warranty window付属You own it but support yourselfUsually license + vendor support only含まれていない
Delivery modelBuild-to-order, one working week, installed + supported by ECOSIREFull internal project timelineInstant download, self-install and self-configureAlready in Odoo but no Midtrans support

Midtrans Payment Gateway に関するよくある質問

How long until it's delivered, and how does the build-to-order process work?

Typical delivery is one working week from kickoff, depending on your Odoo version, hosting and how many Snap payment channels you want tuned. This is not an instant apps.odoo.com download — ECOSIRE builds the module for your specific environment. The flow is: requirements + access, development, a full sandbox test pass (card, e-wallet, VA, retail, refund), then production go-live with your live Midtrans keys.

What support and updates do I get after launch?

You receive a defined post-launch support window (two weeks) covering bug fixes and Odoo/Midtrans compatibility issues, plus the training handover; defects in the code we deliver are fixed free of charge. Because you own the source code, your team can extend it freely. Ongoing maintenance beyond the warranty window — including forward-porting to a new Odoo major version or adapting to Midtrans API changes — is available as an optional support retainer.

Does it work on Odoo Community, or only Enterprise? Which versions?

It works on both Community and Enterprise, and is built and tested against Odoo 17, 18 and 19. The Midtrans gateway itself doesn't require Enterprise; Enterprise simply gives you a richer accounting/reconciliation UX. Tell us your exact version and edition at kickoff and we target that.

How does the module make sure a payment is really paid before confirming the order?

Confirmation is server-side and authoritative. Midtrans sends an HTTP notification (webhook) to a dedicated Odoo controller endpoint; the module recomputes the SHA-512 signature_key from order_id, status_code, gross_amount and your Server Key and rejects anything that doesn't match. Only a verified notification moves the payment.transaction to done. A closed browser tab, a page refresh, or a forged callback can never mark an order paid.

Can I issue refunds, and does IDR's lack of decimals cause rounding problems?

Yes to refunds — an authorized Accounting/Payment manager triggers a refund on a captured transaction from within Odoo, the module calls the Midtrans refund API, and the result is written back to the transaction with a chatter log for audit. On IDR: Midtrans treats rupiah as a zero-decimal currency, so the module rounds and formats gross_amount to whole rupiah, guards against fractional-tax rounding drift, and reconciles the exact settled amount to the Odoo transaction so your books match Midtrans to the rupiah.

Which Midtrans payment methods are covered, and can I limit them?

Through Midtrans Snap you get cards, GoPay, ShopeePay, QRIS, virtual-account transfer (BCA, BNI, BRI, Mandiri, Permata) and over-the-counter retail (Alfamart, Indomaret), subject to what's enabled on your Midtrans account. You choose which channels to surface at checkout, and we configure Snap accordingly during the build.

見積もりを依頼

Midtrans Payment Gateway

Indonesian cards, e-wallets, and VA bank transfer via Midtrans Snap on Odoo — built, installed and supported by ECOSIRE.

  • Midtrans Snap integration in two modes — embedded popup (Snap.js) rendered over your Odoo checkout, or full redirect to Midtrans-hosted Snap, selectable per your UX preference
  • Full Indonesian payment-channel coverage through one integration: credit/debit cards, GoPay, ShopeePay, QRIS, virtual-account transfer (BCA, BNI, BRI, Mandiri, Permata) and over-the-counter retail (Alfamart, Indomaret)
  • Native Odoo payment provider implementation: a real payment.provider record (code 'midtrans') and payment.transaction extension mapping Midtrans states to Odoo's draft/pending/authorized/done/cancel/error lifecycle
  • Server-side webhook controller that receives Midtrans HTTP notifications and treats them as the authoritative payment source — browser redirects are never trusted to confirm payment

見積もりを依頼

Midtrans Payment Gateway のご要望をお知らせください。価格、ライセンスの選択肢、貴社に合わせたご提案を、通常1営業日以内にお送りします。

今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。