A custom-built Magento 2 / Adobe Commerce payment method that lets MENA and South-Asia merchants accept manual bank transfers: it shows per-store bank account details at checkout, stamps a unique payment reference on every order, takes a customer proof-of-payment upload, routes orders into an admin verify-and-approve queue, and auto-cancels unpaid orders on a cron timeout. Built, installed and supported by ECOSIRE — not an instant Marketplace download. One-time license from $149.00 USD for Magento 2 / Adobe Commerce (build-to-order) — includes 12 months of updates and support.

A custom-built Magento 2 / Adobe Commerce payment method that lets MENA and South-Asia merchants accept manual bank transfers: it shows per-store bank account details at checkout, stamps a unique payment reference on every order, takes a customer proof-of-payment upload, routes orders into an admin verify-and-approve queue, and auto-cancels unpaid orders on a cron timeout. Built, installed and supported by ECOSIRE — not an instant Marketplace download.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
Magento Open Source ships a thin "Bank Transfer Payment" core method that does little more than print static instructions and drop orders into Pending. It has no per-store bank accounts, no unique reference per order, no proof-of-payment upload, no structured approval queue, and no automatic cleanup of abandoned transfers. For merchants in MENA and South Asia — where bank wire, IBAN transfer and over-the-counter deposit are still the dominant way customers pay — that gap means manual reconciliation, mismatched payments, and stale orders clogging the dashboard.
Native payment method registered via Magento\Payment gateway adapter (CommandPool / ValueHandlerPool / ConfigProvider), appearing in the standard one-page checkout step
Per-store-view bank account details (bank name, IBAN/account number, SWIFT, branch, beneficiary) resolved through store scope so multi-store / multi-currency merchants show the right account
Unique payment reference generated per order from the increment ID and persisted via an sales_order_place_after observer for easy bank-statement matching
Customer proof-of-payment / deposit-slip upload with server-side MIME and size validation, stored on the configured Magento filesystem
Admin verify-and-approve workflow on a dedicated UI grid, gated by a custom ACL resource, that creates the invoice and moves the order to Processing via service contracts
Cron-based auto-cancel of unverified orders after a configurable timeout, with automatic stock return and status logging
This extension is a real Magento 2 module delivered under app/code/Ecosire/BankTransfer. It registers a gateway method via Magento\Payment\Model\Method\Adapter and payment.xml, wired through di.xml with a custom CommandPool, ValueHandlerPool and a ConfigInterface-backed config provider. Checkout rendering uses a Knockout/UIComponent .js renderer so the method appears natively in the one-page checkout, and a GraphQL resolver plus REST endpoint expose it to headless / PWA Studio storefronts.
At checkout the customer sees the correct bank account for the active store view (driven by ScopeInterface::SCOPE_STORE), a unique payment reference generated against the order increment ID, and an upload field for their deposit slip. An sales_order_place_after observer persists the reference; uploaded proofs are validated and stored on the configured media/filesystem. Admins get a dedicated grid and a verify-and-approve action gated by a custom ACL resource, which invokes the invoice/order service contracts on approval. A cron job cancels orders left unverified past the configurable timeout and restocks them.
ECOSIRE builds, installs and supports this for you. We tailor the bank fields, reference format, email templates and timeout to your business, deploy it on your Open Source or Adobe Commerce instance, run setup:upgrade, and stand behind it.
A UAE, Saudi or Egyptian merchant whose customers prefer IBAN bank transfer over cards. They need the correct local bank account shown per store view, an Arabic instruction block, and a clean way to confirm a wire arrived before shipping.
A Pakistani, Indian or Bangladeshi seller accepting over-the-counter and online bank deposits. They want each order to carry a unique reference so they can match a bank statement line to an order, and an upload field so the buyer can attach the deposit slip.
The person who reconciles payments daily. They live in the admin verify queue, approve or reject proofs, and rely on the cron auto-cancel to keep abandoned transfers from piling up — all under role-based ACL so only finance can approve.
Buy the license on ecosire.com and download the Deferred / Offline Bank Transfer Payment for Magento 2 module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Deferred / Offline Bank Transfer Payment for Magento 2, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Per-store-view bank accounts (multi-store / multi-currency) | ||||
| Unique payment reference per order | ||||
| Customer proof-of-payment upload with validation | ||||
| Admin verify-and-approve queue with ACL | ||||
| Cron auto-cancel of unpaid orders with restock | ||||
| GraphQL / REST support for PWA Studio / headless | ||||
| Installed, tailored and supported for your store | ||||
| Arabic / Urdu RTL instruction blocks out of the box |
This is not an instant Adobe Commerce Marketplace download. After we confirm requirements (your bank accounts, reference format, locales and timeout), a typical build is 5 to 10 business days. We then install it on your staging instance for sign-off before deploying to production. If you need a faster turnaround we will tell you honestly whether the timeline is feasible.
Yes. Every build includes a warranty period covering bug fixes at no extra cost. Beyond that we offer an optional support and maintenance arrangement that covers compatibility updates as you upgrade across Magento 2.4.x / Adobe Commerce minor versions and PHP releases, plus enhancements. You own the source code either way.
Yes. The module targets both Magento Open Source 2.4.x and Adobe Commerce 2.4.x on PHP 8.1 to 8.3. It uses standard service contracts and the payment gateway framework, so it does not depend on any edition-locked feature. If you run a B2B or multi-website Adobe Commerce setup we wire the per-website bank accounts and customer-group restrictions accordingly.
The core method only prints static instructions and leaves orders Pending. It has no per-store bank accounts, no unique reference per order, no proof upload, no approval queue, and no auto-cancel. This extension adds all of that, plus GraphQL/REST exposure for headless storefronts and a full admin audit trail.
Yes. Alongside the Luma/Knockout checkout renderer, we ship a GraphQL resolver and a REST endpoint that expose the payment method, its instructions and the generated reference, so a PWA Studio, Next.js or mobile-app checkout can offer offline bank transfer and submit proof through the API.
A custom-built Magento 2 / Adobe Commerce payment method that lets MENA and South-Asia merchants accept manual bank transfers: it shows per-store bank account details at checkout, stamps a unique payment reference on every order, takes a customer proof-of-payment upload, routes orders into an admin verify-and-approve queue, and auto-cancels unpaid orders on a cron timeout. Built, installed and supported by ECOSIRE — not an instant Marketplace download.