WooCommerce integration guide

Integrate SePay Payment Gateway into WooCommerce via the official plugin — automatically confirm payments the moment a customer transfers money.

||

Integrating SePay with WooCommerce automatically confirms a payment as soon as the customer transfers money — orders also flip to paid status without any manual review.

If you run a WordPress + WooCommerce store, this guide shows how to plug SePay in so payment confirmation happens automatically over bank transfer.

Download the plugin
SePay × WooCommerce integration
Click to expand
SePay × WooCommerce integration

What you get after the integration

1. The shopper's experience

Step 1: Pick a payment method

On checkout the shopper sees a new Bank transfer option.

Bank transfer payment option on checkout
Click to expand
The new Bank transfer option appears at checkout

Step 2: QR code and payment details

A QR code together with the payment details is rendered after the shopper picks the bank-transfer option.

QR code and payment details
Click to expand
QR code with payment details rendered after the option is picked

Step 3: Success notification

"Payment successful" appears on the storefront within seconds of the shopper completing the transfer.

Payment successful notification
Click to expand
Payment successful notification on the storefront

2. The WooCommerce order admin

The order is reconciled automatically and moves from On-Hold to Processing when the shopper has paid the full amount.

WooCommerce order admin
Click to expand
The order moves to Processing once the payment is verified

Integration walkthrough

Step 1: Install the SePay Gateway plugin on WordPress

To install the SePay Gateway plugin on your WordPress site:

Go to WP AdminPluginsAdd New, search for sepay, click Install Now then Activate.

Install SePay Gateway from WordPress admin
Click to expand
Find and install the SePay Gateway plugin from WP Admin

After installation you are redirected to the SePay Gateway plugin setup page.

Step 2: Connect your SePay account

On the SePay Gateway setup screen, click Connect account to start.

SePay Gateway setup screen
Click to expand
The SePay Gateway setup screen with a Connect account button

You are redirected to the WooCommerce authorization page that asks for access to your SePay account — sign in to my.sepay.vn if you are not signed in already.

WooCommerce authorization page for SePay
Click to expand
The authorization page — sign in to SePay and click Allow

Click Allow to continue and pick a bank account.

Step 3: Configure the bank account

Pick the bank account you want shown on the checkout — shoppers transfer money to this account, and SePay verifies the payment against it.

If you have not added a bank yet, go to Connect bank on SePay to add a new one.

Pick a bank account
Click to expand
Pick the bank account to display on the checkout

Pick the bank account you want to integrate and click Finish setup.

Finish setup
Click to expand
Click Finish setup once the account is selected
Webhook auto-provisioned

Once setup completes, SePay automatically creates a Webhook integration tied to the bank account you picked, so SePay can notify your WordPress site whenever money lands in that account.

Auto-provisioned webhook on SePay
Click to expand
The matching webhook is created automatically on SePay

That's it — the SePay × WooCommerce integration is wired up.


SePay Gateway settings

This section walks through every setting in the plugin admin UI.

SePay Gateway settings overview
Click to expand
Overview of the SePay Gateway settings page

1. Enable / Disable

Toggle the SePay payment method on or off.

Enable / Disable
Click to expand
Toggle the SePay payment method

2. Title

Display name of the payment method.

Title field
Click to expand
Display name shown on the checkout

3. Description

Description shown to the shopper.

Description field
Click to expand
Description shown to the shopper

4. Bank account

The bank account shown on the checkout — shoppers transfer money to this account, and SePay verifies the payment against it.

Bank account selector
Click to expand
The receiving bank account

5. VA account

For banks that only verify payments via VA number (BIDV, OCB, MSB, KienLongBank) you must pick a VA account that matches the bank account selected above.

VA account selector
Click to expand
VA account for banks that require VA-number verification

6. Payment code prefix

A 2–5 character prefix prepended to the payment code. SePay uses this prefix to distinguish and verify your orders.

Payment code prefix
Click to expand
2–5 character prefix prepended to the order ID

Example: With prefix DH, the payment code on the QR transfer reads DH1234, where:

  • DH is the prefix you chose.
  • 1234 is the WooCommerce order ID.

Go to Company configurationGeneral configuration to manage your payment code structure.

7. Success message

Content displayed on the storefront after a successful payment.

Success message field
Click to expand
Message shown after a successful payment

Plain text, HTML and JavaScript are all supported. If you want to fire JavaScript events into trackers like Google Analytics, drop the script in here.

8. Order status on completion

The WooCommerce order status applied once the shopper has paid in full. If you do not set it, WooCommerce decides.

You can also pin it to:

  • Processing
  • Completed
Order status on completion
Click to expand
Order status applied once the shopper has paid in full

9. Download mode

For digital-product orders, control how the shopper gets their files:

  • Manual
  • Automatic
Download mode
Click to expand
Download mode for digital products

10. Bank name display

The bank name format on the checkout. SePay supports three options:

  • Full name
  • Short name
  • Full name with short name
Bank name display
Click to expand
How the bank name is rendered on the checkout

URL of the logo shown next to the payment method.

Logo URL
Click to expand
Logo URL shown next to the payment method

Verify the configuration

To confirm everything is wired up correctly:

  1. Place a real order on your store with the smallest possible amount (e.g. 2000).
  2. At checkout, pick Bank transfer (QR scan).
  3. If a QR code renders, the configuration is wired up correctly.
  4. Complete the transfer. If the storefront shows "Payment successful", the configuration is correct. The matching order should also move to Processing in the WooCommerce order admin.
Test order result
Click to expand
Result of placing a test order and completing the payment

Upgrading from v1.0.x to v1.1.0

Version 1.1.0 introduces direct SePay account linking, syncing the bank account, payment code prefix and webhook automatically. Here is the safe upgrade path.

Step 1: Back up

Before upgrading, back up:

  • Your WordPress site (files + database).
  • The current SePay Gateway plugin settings (write them down).

Step 2: Install the new version

Option 1: Auto-update

If you installed the plugin from WordPress.org, go to PluginsInstalled Plugins and check for updates to "SePay Gateway".

Option 2: Manual install

  1. Download v1.1.0 from WordPress.org.
  2. Go to PluginsInstalled Plugins.
  3. Deactivate the current "SePay Gateway".
  4. Go to PluginsAdd NewUpload plugin and pick the zip file you downloaded.
  5. When WordPress asks about overwriting, choose Replace current with uploaded.
  6. Activate the plugin once installation is complete.

Step 3: Connect your SePay account

  1. After activation, go to WooCommerceSettingsPaymentsSePay.
  2. You will see a new Connect account button — click it.
  3. Sign in to your SePay account if asked.
  4. Grant WooCommerce access to your SePay account.
  5. Pick the bank account you want to use and finish setup.

Step 4: Verify the configuration

Once linked, double-check that these synced correctly:

  • Bank account selection.
  • Payment code prefix.
  • Webhook auto-created on SePay.

Step 5: Smoke test

Place a small test order and complete the transfer to make sure:

  1. The QR code renders correctly.
  2. The order status moves correctly after payment.

Troubleshooting

1. Cannot connect the SePay account

  • Check internet connectivity.
  • Make sure the SePay account is still active.
  • Try signing out and back in to SePay.

2. Webhook not firing

  • Check the Webhooks tab on SePay.
  • Make sure the callback URL is reachable from the internet.

3. Roll back to the previous version

If you need to revert, uninstall the current plugin and reinstall v1.0.x.


Change log

Track every WooCommerce plugin release on the Changelog — WooCommerce tab.