A build-to-order Odoo payment provider that connects your checkout to 2C2P for cards, local ASEAN wallets, and over-the-counter payments. ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo payment provider that connects your checkout to 2C2P for cards, local ASEAN wallets, and over-the-counter payments. ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
ASEAN enterprise merchants running Odoo hit a wall the moment they need to collect payment the way their customers actually pay. Odoo's stock payment providers cover Stripe, PayPal, Adyen, and a handful of global names, but they do not speak 2C2P — the acquirer of record for cards, TrueMoney, GrabPay, ShopeePay, and cash-based over-the-counter channels across Thailand, Singapore, Malaysia, the Philippines, Indonesia, and Vietnam. Without a native provider, finance teams end up reconciling 2C2P settlements by hand against Odoo sales orders and invoices, and eCommerce carts leak conversions because the local wallet or 7-Eleven counter option a buyer expects simply is not on the checkout page.
Native `payment.provider` and `payment.transaction` extension so 2C2P appears alongside Odoo's stock providers in Settings and at checkout, not as a bolt-on iframe
Hosted Payment Page integration — card data is captured on 2C2P's PCI-DSS environment; your Odoo server never touches PAN or CVV
JWT-signed payment request payload built server-side per the 2C2P API specification, with per-transaction reference tied to the Odoo sale order and invoice
Server-to-server webhook controller treated as source of truth: signature verification, replay protection, and idempotent status mapping to `pending`/`authorized`/`done`/`cancel`/`error`
Card, local wallet (TrueMoney, GrabPay, ShopeePay and similar), and over-the-counter (convenience-store/bank counter) methods exposed based on your enabled 2C2P products
Full refund and partial refund driven from Odoo's native credit-note / refund action, calling the 2C2P refund API and storing the acquirer refund reference
ECOSIRE builds a first-class Odoo payment provider (payment.provider / payment.transaction) that integrates 2C2P end to end. The module ships as a proper Odoo addon: a __manifest__.py declaring dependencies on payment, sale, and account; models that extend payment.provider with 2C2P credentials (merchant ID, secret key, environment toggle for sandbox vs production) and payment.transaction with the reference, invoice number, and settlement fields; plus ir.model.access.csv and record rules so only Accounting and Payment managers can view credentials or reconcile transactions. Checkout uses 2C2P's Hosted Payment Page — the customer is redirected to a PCI-scoped page hosted by 2C2P, chooses cards, a local wallet, or over-the-counter, and returns to Odoo with a signed result. No card data ever touches your Odoo server.
Technically, the flow is hardened for reconciliation, not just first payment. We generate the 2C2P payment request (JWT-signed payload per 2C2P's API), redirect via a QWeb-rendered form, and then treat the server-to-server webhook — not the browser return — as the source of truth. An inbound controller verifies the signature, maps the 2C2P transaction status to Odoo's pending / authorized / done / cancel / error states, and posts the payment against the linked invoice using Odoo's standard _set_done() / _set_pending() transaction lifecycle. Refunds are wired to Odoo's native refund action so a credit note or a partial refund in Accounting calls the 2C2P refund API and writes back the acquirer refund reference. Multi-currency ASEAN settlement is respected — THB, SGD, MYR, PHP, IDR, VND — with the transaction currency carried through to the journal entry. Automated actions (ir.cron / server actions) can retry unconfirmed webhooks and flag transactions that authorized but never settled.
Because this is build-to-order, nothing is a black box. After a short scoping call we confirm exactly which 2C2P products you use (payment methods, settlement currencies, whether you need the eCommerce Hosted Payment Page, the Point-of-Sale invoice link, or the XML-RPC/JSON-RPC path for a headless front end), then build against your specific Odoo edition. Community and Enterprise are both supported — the provider sits on the base payment framework present in both, and we adapt the accounting reconciliation to whichever you run. We deliver on Odoo 17.0, 18.0, or 19.0, test the full authorize-webhook-settle-refund cycle on your staging database, and only then cut over to production. Typical delivery is 2 to 4 weeks from confirmed scope. You receive the complete, readable source — no obfuscation, no per-transaction license lock-in.
Runs an Odoo Website/eCommerce storefront across Thailand, Singapore, or Malaysia and needs local wallets and over-the-counter options at checkout to stop losing carts to unsupported payment methods.
Owns reconciliation and is tired of matching 2C2P settlement reports to Odoo invoices by hand. Wants webhook-driven auto-posting, refund traceability, and clean multi-currency journal entries.
Responsible for the Odoo deployment and wants a maintainable, source-available provider on the standard `payment` framework — not a fragile hack — with docs, tests, and a git handover so the team can extend it.
Operates several ASEAN legal entities in one Odoo database, each with its own 2C2P merchant account and settlement currency, and needs per-company provider configuration that reconciles to the correct company.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから 2C2P Payment Gateway for Odoo モジュールの ZIP をダウンロードします。
ZIP をサーバー上の Odoo カスタム アドオン フォルダーに抽出します (または、[アプリ] > [Odoo.sh / runbot のファイルからインストール] を介してアップロードします)。
開発者モードをアクティブにし、アプリを開き、「アプリリストの更新」をクリックして、「2C2P Payment Gateway for Odoo」を検索し、「インストール」を押します。
新しいメニューを開き、ECOSIRE ライセンス キーを貼り付け、外部認証情報 (Shopify、Amazon、Stripe など) を接続して保存します。
組み込みの接続テストを実行し、最初の 10 レコードを同期し、定期的な cron をスケジュールします。何か問題が発生した場合はサポートにお問い合わせください。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| 2C2P support | Native provider built for 2C2P HPP, wallets, and OTC | Possible but you design the integration from scratch | Rarely available; most cover only global gateways | |
| Webhook reconciliation | Signature-verified S2S webhook is source of truth, auto-posts to invoice | Must be designed and hardened yourself | Varies; often browser-return only, weak on settlement | |
| Refunds | Driven from Odoo credit note, calls 2C2P refund API, full + partial | Build refund flow and API calls yourself | Sometimes manual-only or absent | |
| ASEAN multi-currency | THB, SGD, MYR, PHP, IDR, VND through to the journal entry | Whatever you implement and test | Often single-currency or generic | |
| Odoo version fit | Built for your exact 17.0 / 18.0 / 19.0 and Community or Enterprise | You maintain compatibility yourself | May lag Odoo releases; upgrade gaps common | |
| PCI scope | Hosted Payment Page keeps card data off your server | Depends entirely on your design choices | Usually HPP too, but quality varies | |
| Source & ownership | Full readable source + git handover, no per-txn lock | You own it but pay full build cost and time | Often encrypted/obfuscated, license-gated | |
| Support model | Scoped build + post-go-live support window + training | Your team is the support | Generic ticket support, no context on your setup |
This is a build-to-order module, not an instant apps.odoo.com download. After a short scoping call to confirm your 2C2P products, currencies, and Odoo edition, typical delivery is 2 to 4 weeks from confirmed scope. That includes building, staging UAT, and production cutover — no fabricated 'ready today' claim.
You get a post-go-live support window for defect fixes and configuration adjustments, plus the full git repository so your team owns the code. When you upgrade Odoo (for example 18.0 to 19.0) or when 2C2P changes its API, we can quote a version-bump engagement — nothing is locked behind a per-transaction license.
Both. The provider is built on the base `payment` framework that ships in Community and Enterprise. We adapt the accounting reconciliation and any edition-specific views to whichever you run, on Odoo 17.0, 18.0, or 19.0.
No. Checkout uses 2C2P's Hosted Payment Page, so PAN and CVV are captured on 2C2P's PCI-DSS environment. Your Odoo server only sees the signed transaction reference and status, which keeps your PCI scope minimal.
We treat 2C2P's server-to-server webhook as the source of truth: the signature is verified and the status maps to Odoo's transaction lifecycle, auto-posting settled payments against the invoice. Refunds are driven from Odoo's native credit-note/refund action, which calls the 2C2P refund API and writes back the acquirer refund reference. Partial refunds are supported.
Cards, local ASEAN wallets (such as TrueMoney, GrabPay, ShopeePay), and over-the-counter/convenience-store payments — whichever you have enabled in your 2C2P account. Settlement currencies include THB, SGD, MYR, PHP, IDR, and VND, carried through to the Odoo journal entry.
Yes. Beyond Odoo Website/eCommerce, we can expose the provider via Odoo's XML-RPC/JSON-RPC API so a custom or headless front end creates transactions against the same 2C2P provider, and we can link Point-of-Sale invoices where your 2C2P setup allows it. Confirm the target surface on the scoping call.
A build-to-order Odoo payment provider that connects your checkout to 2C2P for cards, local ASEAN wallets, and over-the-counter payments. ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19.