Description
OMPAY provides card payment processing for merchants in Oman. This plugin connects your WooCommerce store to the OMPAY API so you can take card payments in Omani Rial and other supported currencies.
Two checkout flows
- Bank Hosted — the customer is redirected to a secure OMPAY payment page. Card data never touches your server, which keeps you in PCI DSS SAQ A scope. This is the recommended option for most stores.
- Merchant Hosted — the card form is rendered on your own checkout page and the card is posted to OMPAY from your server. This gives you full control of the checkout appearance but places your business in PCI DSS SAQ D scope. The plugin will not run this flow until you confirm your compliance in the settings.
Features
- Both Bank Hosted and Merchant Hosted flows, switchable from the settings screen.
- Sandbox and production environments with separate credentials.
- Full and partial refunds directly from the WooCommerce order screen.
- Cart & Checkout Blocks support alongside the classic shortcode checkout.
- High-Performance Order Storage (HPOS) compatible.
- 3-D Secure 2 support, including the browser data the OTP step requires.
- Automatic hourly reconciliation so payments are never left unresolved when a customer closes their browser mid-checkout.
- Redacted debug logging through WooCommerce Status Logs.
External services
This plugin connects your store to OMPAY, a payment gateway operated by OMPAY in Oman, in order to process card payments. An OMPAY merchant account is required; the plugin cannot take payments without one.
The plugin contacts the OMPAY API at https://api.truepay.ompay.om (production) or https://api.sandbox.truepay.ompay.om (sandbox, used while the gateway is in test mode). Requests are sent in these situations only:
- When a customer places an order using OMPAY. The plugin sends the order total, the currency, a payment reference derived from the order number, and the URL to return the customer to after payment.
- When a customer enters card details on your checkout, if you have enabled the optional Merchant Hosted flow. The plugin additionally sends the card number, expiry date, security code and cardholder name, together with browser characteristics (user agent, language, screen size, time zone and IP address) that 3-D Secure authentication requires. This data is sent to OMPAY only and is never stored by the plugin or written to your logs.
- When confirming a payment. The plugin asks OMPAY for the status of a transaction when the customer returns from the payment page, and again on a scheduled check for payments that were left unresolved.
- When you issue a refund from the WooCommerce order screen. The plugin sends the transaction reference and the amount to refund.
No data is sent to OMPAY for visitors who do not choose OMPAY at checkout, and the plugin does not transmit anything for analytics, tracking or any other purpose.
Your use of the service is governed by OMPAY’s terms and conditions and privacy policy.
Installation
- Upload the plugin folder to
/wp-content/plugins/, or install the ZIP through Plugins Add New Upload Plugin. - Activate the plugin through the Plugins screen.
- Go to WooCommerce Settings Payments OMPAY.
- Choose your environment, paste the API Key and API Secret that OMPAY issued you, pick your checkout flow, and enable the gateway.
FAQ
-
Where do I get API credentials?
-
OMPAY issues an API Key and API Secret after your merchant onboarding is complete. Sandbox and production use different key pairs.
-
Why does OMPAY not appear at checkout?
-
Check that the gateway is enabled, that both credentials are filled in, and — if you selected Merchant Hosted — that the PCI acknowledgement is ticked. The settings screen shows a warning for each of these.
-
Why was my transaction rejected with a 402 error?
-
Each flow is a separate capability on your OMPAY account. Ask OMPAY to enable the flow you selected.
-
My store uses Omani Rial. Is there anything to configure?
-
Yes. OMR uses three decimal places. Set Number of decimals to 3 under WooCommerce Settings General, otherwise rounding will differ from the amount OMPAY charges.
-
Does OMPAY send webhooks?
-
No. Payment outcomes are confirmed by a server-to-server status inquiry when the customer returns, and again by an hourly reconciliation sweep for anyone who does not make it back.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“OMPAY PG” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “OMPAY PG” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
