Title: HENO Tingee Gateway for WooCommerce
Author: cuongnguyenba
Published: <strong>June 13, 2026</strong>
Last modified: June 13, 2026

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/heno-tingee-gateway-for-woocommerce.
svg)

# HENO Tingee Gateway for WooCommerce

 By [cuongnguyenba](https://profiles.wordpress.org/cuongnguyenba/)

[Download](https://downloads.wordpress.org/plugin/heno-tingee-gateway-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/heno-tingee-gateway-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/heno-tingee-gateway-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/heno-tingee-gateway-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/heno-tingee-gateway-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/heno-tingee-gateway-for-woocommerce/)

## Description

**HENO Tingee Gateway for WooCommerce** connects your WooCommerce store to the [Tingee](https://tingee.vn)
payment infrastructure by HENO, allowing customers to pay via bank transfer (VietQR)
with **automatic order confirmation** — no manual reconciliation needed.

#### How it works

**Mode A — QR + Webhook (default)**

 1. Customer selects “Tingee” at checkout.
 2. Plugin generates a QR code linked to the order.
 3. Thank-you page displays the QR code, account number, amount, and transfer reference.
 4. Customer scans and transfers  Tingee sends a Webhook (IPN) to your site.
 5. Plugin verifies the signature, matches the transaction, and automatically marks
    the order as paid — **within 5–15 seconds**.

**Mode B — Redirect**

 1. Customer selects Tingee  plugin creates a Checkout URL via Tingee API.
 2. Customer is redirected to Tingee’s hosted payment page.
 3. After payment  redirected back to your site; Webhook confirms the order.

#### Key Features

 * **Automatic order confirmation** via Webhook IPN — no manual checking.
 * **VietQR display** on the thank-you page with one-click copy for account number,
   amount, and transfer reference.
 * **HMAC-SHA512 signature verification** for every webhook — forged requests are
   rejected with 401.
 * **Idempotency protection** — retried webhooks (up to 5 times) never double-charge
   an order.
 * **Dual integration modes** — admin selects QR+Webhook or Redirect in settings.
 * **Checkout Blocks compatible** — works with both classic shortcode and the new
   WooCommerce Checkout Blocks.
 * **HPOS compatible** — supports WooCommerce High-Performance Order Storage.
 * **WC Logger integration** — webhook activity logged under WooCommerce > Status
   > Logs (`tingee-webhook`), secrets masked.
 * **Connection test button** — verify your Client ID and Secret Token before going
   live.
 * **Vietnamese and English** translations included.

#### Requirements

 * WordPress 5.6 or higher
 * WooCommerce 5.0 or higher
 * PHP 7.2 or higher
 * A [Tingee](https://app.tingee.vn) merchant account with Client ID and Secret 
   Token

### External Services

This plugin connects to the **Tingee** payment API (operated by HENO) to generate
QR codes, create payment links, and verify Webhook (IPN) notifications when a payment
is completed.

**Data sent to Tingee:**

 * Order amount, order ID, and transfer reference — sent when creating a payment
   QR or checkout URL.
 * No customer personal data (name, email, address) is forwarded to the Tingee API
   by this plugin.

**When data is sent:**

 * When the customer places an order and clicks “Pay” — the plugin calls the Tingee
   API to generate a QR code or hosted payment URL.
 * When Tingee sends a Webhook to your site (this is _incoming_ data from Tingee,
   not outgoing).

**Tingee API endpoints used:**

 * Production: `https://open-api.tingee.vn`
 * Sandbox (UAT): `https://uat-open-api.tingee.vn`

By using this plugin, your store connects to Tingee’s infrastructure. Please review
Tingee’s policies before going live:

 * [Terms of Service](https://drive.google.com/file/d/1snw0yOyz6hmanARQDWAX8DEMiG4r6Vmp/view)
 * [Privacy Policy](https://drive.google.com/file/d/1baa2tZPZvq9HK6w1Tzi2okAjdeo7bJhx/view)

For developer documentation, visit [https://developers.tingee.vn](https://developers.tingee.vn).

## Installation

#### Automatic installation

 1. Log in to your WordPress admin panel.
 2. Go to **Plugins > Add New**.
 3. Search for **HENO Tingee Gateway for WooCommerce**.
 4. Click **Install Now**, then **Activate**.

#### Manual installation

 1. Download the plugin zip file.
 2. Go to **Plugins > Add New > Upload Plugin**.
 3. Choose the zip file and click **Install Now**, then **Activate**.

#### Configuration

 1. Go to **WooCommerce > Settings > Payments**.
 2. Find **Tingee Gateway** and click **Manage**.
 3. Fill in the following fields:
 4.  * **Environment** — choose Sandbox for testing or Production for live.
     * **Client ID** — from your Tingee developer dashboard.
     * **Secret Token** — from your Tingee developer dashboard.
     * **VA Account Number** — your merchant virtual account number.
     * **Bank BIN** — the BIN code of the bank that holds your VA.
     * **Integration Mode** — Mode A (QR + Webhook) or Mode B (Redirect).
 5. Click **Test Connection** to verify your credentials.
 6. Copy the **Webhook URL** displayed in the settings and paste it into your Tingee
    developer dashboard under Webhook configuration.
 7. Save settings.

## FAQ

### Where do I get my Client ID and Secret Token?

Log in to your Tingee merchant account at [app.tingee.vn](https://app.tingee.vn),
navigate to the **Developers** section, and copy your Client ID and Secret Token.

### What is the Webhook URL and where do I put it?

The Webhook URL is shown in the plugin’s settings page (read-only field). Copy it
and paste it into your Tingee developer dashboard under the Webhook / IPN configuration
section. Tingee will send payment notifications to this URL.

### Do I need ngrok or a public URL to receive webhooks?

Yes, during local development you need a tool like [ngrok](https://ngrok.com) to
create a public URL that Tingee can reach. On a live server with a real domain name,
no extra setup is needed.

### The QR code says “Dynamic QR not supported” — what do I do?

Some Tingee accounts have dynamic QR disabled by default. The plugin automatically
falls back to **Static QR** (VietQR standard). In this mode, order matching relies
on the transfer reference (order number) in the payment description rather than 
a bill ID. Contact Tingee support to enable dynamic QR for your account.

### What happens if a customer sends the wrong amount?

If the transferred amount is less than the order total, the plugin keeps the order
in **On-Hold** status and adds an admin note with the received amount. You can review
and handle partial payments manually. Over-payments follow the same flow — the order
is marked paid and the discrepancy is noted.

### Is it safe? Can someone fake a webhook?

Every webhook is verified using **HMAC-SHA512** with your Secret Token. Any request
with an invalid or missing signature receives a `401 Unauthorized` response and 
the order is never modified. Replay attacks are also prevented: each transaction
ID is stored after processing, so resending the same webhook has no effect.

### Does it work with the new WooCommerce Checkout Blocks?

Yes. The plugin registers a Blocks-compatible payment method via `AbstractPaymentMethodType`,
so it appears correctly in both the classic shortcode checkout and the new block-
based checkout.

### Is it compatible with WooCommerce High-Performance Order Storage (HPOS)?

Yes. All order data is read and written using `wc_get_order()`, `$order->get_meta()`,
and `$order->update_meta_data()` — fully compatible with HPOS.

### Can I use both Sandbox and Production at the same time?

No. The **Environment** setting applies globally. Switch to Production only when
you are ready to accept real payments.

### Will my settings be deleted if I deactivate the plugin?

No. Settings are preserved when you deactivate. They are only removed when you **
delete** the plugin, and only if the “Delete data on uninstall” option is enabled
in settings.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“HENO Tingee Gateway for WooCommerce” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ cuongnguyenba ](https://profiles.wordpress.org/cuongnguyenba/)
 *   [ Heno ](https://profiles.wordpress.org/heno/)

[Translate “HENO Tingee Gateway for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/heno-tingee-gateway-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/heno-tingee-gateway-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/heno-tingee-gateway-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/heno-tingee-gateway-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/heno-tingee-gateway-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.
 * Mode A: VietQR display on thank-you page with JS polling for automatic confirmation.
 * Mode B: Redirect to Tingee hosted payment page.
 * Webhook IPN handler with HMAC-SHA512 signature verification and idempotency protection.
 * HPOS and Checkout Blocks compatibility.
 * WC Logger integration with masked secrets.
 * Vietnamese and English translations.
 * Connection test button in settings.
 * Static QR fallback when dynamic QR is not enabled on the merchant account.

## Meta

 *  Version **1.0.0**
 *  Last updated **16 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **6.7.5**
 *  PHP version ** 7.2 or higher **
 * Tags
 * [bank transfer](https://wordpress.org/plugins/tags/bank-transfer/)[payment](https://wordpress.org/plugins/tags/payment/)
   [qr code](https://wordpress.org/plugins/tags/qr-code/)[vietqr](https://wordpress.org/plugins/tags/vietqr/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/heno-tingee-gateway-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/heno-tingee-gateway-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/heno-tingee-gateway-for-woocommerce/reviews/)

## Contributors

 *   [ cuongnguyenba ](https://profiles.wordpress.org/cuongnguyenba/)
 *   [ Heno ](https://profiles.wordpress.org/heno/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/heno-tingee-gateway-for-woocommerce/)