WooCommerce EN


📦 Important: This guide applies to all three plugin versions (WooCommerce 8.x, 9.x, 10.x).
Choose the plugin version that matches your WooCommerce version!



1️⃣ Requirements

System Requirements

 
 
 

WooCommerce

 

Plugin Archive

 

WordPress

 

PHP

 

8.0 - 8.9

wc-globalpay-gateway-wc8-v1.0.0.zip

6.4+

7.4+

9.0 - 9.9

wc-globalpay-gateway-wc9-v1.0.0.zip

6.5+

7.4+

10.0+

wc-globalpay-gateway-wc10-v1.0.0.zip

6.7+

7.4+

 
 
 

General requirements for all versions

  • PHP 7.4+ (recommended 8.0+)

  • MySQL 5.6+ or MariaDB 10.2+

  • HTTPS required for production

  • PHP extensions: curl, json, mbstring

Required Global Pay Data

  • Service ID

  • OAuth Username

  • OAuth Password

  • Access to sandbox or production environment

📞 Obtaining credentials: Request all credentials from Global Pay support:
Telegram: @Globalpay_merchants_support


2️⃣ Choosing the Plugin Version

🎯 How to check WooCommerce version

  1. WordPress AdminPlugins

  2. Locate WooCommerce

  3. Check version number (e.g., 10.0.3)

📦 Download the plugin

Select the version corresponding to your WooCommerce version:

📥 Download: wc-globalpay-gateway-wc8-v1.0.0.zip

 
 
 
wc-globalpay-gateway-wc8-v1.0.0.zip
02 Dec 2025, 12:37 PM

📥 Download: wc-globalpay-gateway-wc9-v1.0.0.zip

 
 
 
wc-globalpay-gateway-wc9-v1.0.0.zip
02 Dec 2025, 12:38 PM

📥 Download: wc-globalpay-gateway-wc10-v1.0.0.zip

 
 
 
wc-globalpay-gateway-wc10-v1.0.0.zip
02 Dec 2025, 12:39 PM

📂 Alternative source:

Bitbucket repository:

https://bitbucket.org/global_solutions/global-pay-plugins-woo-8.x-9.x-10-x 

Repository structure:

 
 

global-pay-plugins-woo-8.x-9.x-10-x/ ├── woocommerce-8.x/wc-globalpay-gateway/ ├── woocommerce-9.x/wc-globalpay-gateway/ └── woocommerce-10.x/wc-globalpay-gateway/


3️⃣ Plugin Installation

  1. Download the correct plugin version (Choosing the Plugin Version)

  2. WordPress AdminPluginsAdd NewUpload Plugin

  3. Select ZIP file → InstallActivate

 

 
 
 
 

 

Option B: Install via Bitbucket (for developers)

 
 

# 1. Check WooCommerce version # 2. Navigate to WordPress plugins directory cd /path/to/wordpress/wp-content/plugins/ # 3. Clone repository git clone https://bitbucket.org/global_solutions/global-pay-plugins-woo-8.x-9.x-10-x.git temp-globalpay # 4. Copy your version (replace 10.x with 8.x or 9.x) cp -r temp-globalpay/woocommerce-10.x/wc-globalpay-gateway ./ # 5. Remove temp folder rm -rf temp-globalpay # 6. Verify structure cd wc-globalpay-gateway ls -la

Required files:

  • wc-globalpay-gateway.php (main plugin file)

  • includes/ (classes)

  • assets/ (styles & scripts)

  • languages/ (translations)

Option C: Manual Upload

  • Download plugin files from Bitbucket

  • Upload to /wp-content/plugins/wc-globalpay-gateway/

  • Ensure wc-globalpay-gateway.php is in the plugin root

  • Activate via WordPress AdminPlugins


4️⃣ Basic Configuration

Step 1: Activate the Plugin

  • Go to WordPress Admin → Plugins.

  • Find GlobalPay Payment Gateway

  • Click Activate.

Step 2: Configure in WooCommerce

  • Navigate to WooCommerce → Settings → Payments

  • Locate Card Payment (GlobalPay)

  • Click Manage

 
 

 

Step 3: General Settings

 
 

 

🔧 General Settings

 
 
 

Field

 

Example

 

Description

 

Enable method

Turns on the payment method

Title

Pay by Card

Shown on checkout page

Description

Secure payment using Uzcard, Humo, Visa or Mastercard.

Message to customers

 
 
 

🔐 API Settings

For Sandbox Environment:

 
 
 

Field

 

Value

 

Environment

Sandbox (Test Mode)

OAuth Username

[test_username]

OAuth Password

[test_password]

Service ID

10 (example)

 
 
 

For Production Environment:

 
 
 

Field

 

Value

 

Environment

Production

OAuth Username

[your_username]

OAuth Password

[your_password]

Service ID

[your_service_id]

 
 
 

🎨 Additional Options

 
 
 

Field

 

Recommended

 

Enable API logging

✅ (for debugging purposes)

 
 
 

Step 4: Save Settings

Click the Save changes button at the bottom.


5️⃣ Product Fields Setup (IKPU and Packaging Code)

To correctly integrate your WooCommerce store with the product marking and accounting system of the Republic of Uzbekistan, it is necessary to fill in additional fields for each product.

What are IKPU and Packaging Code?

  • IKPU (Identification Code of Products and Services) — a unique code assigned to each product in Uzbekistan’s national product marking system.
    It is a mandatory field for payments via UzCard and HUMO systems.

  • Packaging Code — a numeric code that defines the type of product packaging according to the official classifier.

Step 1: Filling in the IKPU and Packaging Code Fields

Once the GlobalPay plugin is activated, the required fields automatically appear in each product’s edit page.

How to fill in the fields for a product:

  1. Go to WooCommerce → Products

  2. Select a product to edit

  3. Scroll down to the Product data section

  4. On the General tab, find the following fields:

    • Product Code (IKPU) *required field

    • Packaging Code *required field

  5. Fill in the fields as follows:

 
 
 

Field

 

Description

 

Example

 

Product Code (IKPU)

Unique product code from the official classifier tasnif.soliq.uz

10581040001000001

Packaging Code

Numeric code from the classifier tasnif.soliq.uz

002343

 
 
 

👉 Click Update or Publish when finished.

⚠️ Important: Both fields marked with * are mandatory.
If these fields are not filled in, payments through GlobalPay will not be processed.

Step 2: Available Packaging Codes

The Product Code (IKPU) and Packaging Code fields are plain text fields intended for entering the corresponding numeric codes from the official classifier at tasnif.soliq.uz.

📖 Note: Always use the actual codes from the official classifier tasnif.soliq.uz. Enter only the numeric value.

Step 3: Where to Obtain the Required Codes

Packaging Codes (units of measure):

  • 🌐 Official classifier: https://tasnif.soliq.uz — search by keyword

  • 📞 GlobalPay Support: support@global.uz — specialists can help you find the correct codes for your product category

  • 📞 Classifier Call Center: 1198 — free consultation on packaging codes

  • 📦 From supplier: Codes are often provided in the accompanying product documentation

IKPU (Product Codes):

  • 🌐 Official classifier: https://tasnif.soliq.uz

  • 📦 From supplier: Use the IKPU codes provided by your distributor

  • 📞 Call Center: 1198 — consultation on identifying the correct IKPU code for your product

📌 Important:
IKPU and Packaging Codes are taken exclusively from Uzbekistan’s national classifier of goods and services — tasnif.soliq.uz.

Step 4: Verification

After filling in the fields, make sure that:

  • Product Code (IKPU) is filled in (17 digits)

  • Packaging Code is filled in (numeric value from the classifier, e.g. 796)

  • ✅ You clicked Update

Your product is now ready for sale through GlobalPay!
During checkout, these data will be automatically sent for fiscalization.

Bulk Product Update (optional)

If you have many products and need to apply the same values to all, you can use SQL commands.

 
 

-- Set packaging code “796” (piece) for all products without a value INSERT INTO wp_postmeta (post_id, meta_key, meta_value) SELECT ID, '_globalpay_package_code', '796' FROM wp_posts WHERE post_type = 'product' AND ID NOT IN (    SELECT post_id FROM wp_postmeta WHERE meta_key = '_globalpay_package_code' ); -- Set IKPU for all products in a specific category UPDATE wp_postmeta SET meta_value = '10851000001000001' WHERE meta_key = '_globalpay_ikpu' AND post_id IN (    SELECT object_id FROM wp_term_relationships    WHERE term_taxonomy_id = 123  -- Category ID for "Electronics" );

⚠️ Warning: Always create a database backup before running SQL queries!

Frequently Asked Questions (FAQ)

Q: Are these fields mandatory?

A: Yes. To ensure proper fiscalization through GlobalPay, the IKPU and Packaging Code fields are mandatory. Without them, payment will be declined during fiscalization.

Q: What happens if IKPU is not filled in?

A: GlobalPay will return a fiscalization error, and the payment will not be processed.

Q: Can I use the same IKPU for all products?

A: Technically yes, but it is incorrect from an accounting and legal standpoint. Each product category must have its own unique IKPU code according to the classifier.

Q: How can I find the correct packaging code for my product?

A:

  • Visit tasnif.soliq.uz

  • Find the code that matches your product’s unit of measure

  • Enter the numeric code in the Packaging Code field

Q: Can I change IKPU after creating a product?

A: Yes, you can edit it at any time. The changes will apply to new orders.

Q: Where can I find these fields in the WooCommerce admin panel?

A: After activating the GlobalPay plugin:

  • Go to WooCommerce → Products → [Select product]

  • In the Product data section → General tab, you’ll find the fields below the price settings.

Q: What if the fields do not appear?

A:

  1. Ensure that the GlobalPay plugin is activated

  2. Clear your WordPress cache (if using a cache plugin)

  3. Make sure you’re editing a product (post_type = product)

  4. Refresh the page (Ctrl + F5)

Q: Do I need to fill these fields for variable products?

A: Yes, both IKPU and Packaging Code must be filled for simple and variable products.
For variable products, fill them at the parent (main) product level.

📸 Example of filled fields

 
 

🔗 Additional Resources

  • Uzbekistan Classifier of Goods and Services: tasnif.soliq.uz — official source for IKPU and packaging codes

💡 Tip: Bookmark tasnif.soliq.uz — you’ll need it every time you add new products.


6️⃣ Testing (Sandbox Mode)

Prepare Your Store

  1. Create a test product:

    • WooCommerce → Products → Add New

    • Set price to at least 1000 UZS (e.g., 10000 UZS).

    • Click Publish.

⚠️ Important: Orders with amounts below 1000 UZS may be rejected by the API.

  1. Check checkout configuration:

    • WooCommerce → Settings → Advanced

    • Make sure WooCommerce Blocks Checkout is enabled.

Test Cards

 
 
 

Card Type

 

Number

 

Expiry

 

CVV

 

OTP

 

Uzcard

8600 3304 8051 7737

07/27

SMS

HUMO

9860 0901 0156 0804

01/27

Browser Console*

Visa

Request from Global Pay support

Mastercard

Request from Global Pay support

 
 
 

⚠️ Note: Test cards work only in Sandbox mode.
🔐 For HUMO test cards, the OTP code appears in the browser console, not via SMS.
In Production, all cards use SMS OTP.

Test Procedure

  1. Add a product (≥ 1000 UZS) to the cart.

  2. Proceed to checkout.

  3. Select Pay by Card (GlobalPay) as the payment method.

  4. Enter card details:

    • Card number

    • Expiry date (MM/YY)

    • CVV (for Visa/Mastercard)

    • Cardholder name (for Visa/Mastercard)

  5. Click Place Order.

  6. Enter the OTP code:

    • HUMO (Sandbox): from browser console

    • Uzcard/Visa/Mastercard: from SMS

  7. Verify that the order completes successfully.

Getting the HUMO OTP Code (Sandbox Only)

  • Open browser developer tools (F12).

  • Go to the Console tab.

  • Look for a message: 🔐 TEST OTP CODE: 123456

📝 Note:

  • HUMO OTP is shown in the browser console in Sandbox only.

  • Uzcard, Visa, and Mastercard OTPs are sent by SMS in both Sandbox and Production.


7️⃣ Preparing for Production

Pre-Launch Checklist

  • Production credentials received

  • Site runs over HTTPS

  • SSL certificate installed

  • Plugin tested in Sandbox

  • Order notification emails verified

  • File permissions checked

Switching to Production

  1. WooCommerce → Settings → Payments → GlobalPay

  2. Set environment to Production

  3. Enter your live credentials:

    • Service ID

    • OAuth Username

    • OAuth Password

  4. Disable debug options:

    • API logging ❌

    • Checkout debug ❌

  5. Save settings.

Production Testing

  1. Make a real purchase (≥ 1000 UZS).

  2. Check that the order appears in WooCommerce.

  3. Verify transaction status in GlobalPay Admin.

  4. Ensure email notifications are received.

  5. Confirm that all cards (including HUMO) require OTP via SMS.


8️⃣ Troubleshooting

Payment Option Not Visible

Issue: Payment method doesn’t appear at checkout.
Solution:

  1. Ensure plugin is activated.

  2. Go to WooCommerce → Payments → GlobalPay and check it’s enabled.

  3. Clear cache in WordPress and browser.

  4. Verify your theme is WooCommerce compatible.

“Card Information Not Found” Error

Issue: API rejects card information.
Solution:

  1. Check Service ID, Username, and Password.

  2. Ensure correct environment (Sandbox vs Production).

  3. Confirm card number and expiry date.

  4. Verify CVV and cardholder name (Visa/Mastercard).

  5. Order amount must be ≥ 1000 UZS.

OTP Code Not Received

Sandbox – HUMO:

  • OTP appears in browser console (no SMS).

Sandbox – Uzcard/Visa/Mastercard:

  • Should arrive via SMS.

  • Check your test phone number in GlobalPay account.

Production:

  • OTP always arrives via SMS.

  • Verify correct phone number.

  • Contact GlobalPay Support if issue persists.

Viewing Logs

Enable API logging:

  • WooCommerce → Payments → GlobalPay → Enable logging

Check logs via file system:

 
 

tail -f /wp-content/plugins/wc-globalpay-gateway/logs/api.log

Or via WordPress debug log:

 
 

tail -f /wp-content/debug.log | grep GlobalPay

Cache Issues

Issue: Card info not clearing after cancellation.
Solution:

  1. Clear browser cache (Ctrl + Shift + R).

  2. Delete WordPress transients:

     
     

    // В WordPress Admin → Tools → WP-CLI wp transient delete --all

Theme or Plugin Conflicts

Issue: Plugin not functioning with certain themes.
Solution:

  1. Switch to a default theme (Storefront, Twenty Twenty-Four).

  2. Disable other plugins one by one.

  3. Check browser console for JavaScript errors.

  4. Make sure your theme supports WooCommerce Blocks.


9️⃣ Support

Repository

Bitbucket:

https://bitbucket.org/global_solutions/global-pay-plugins-woo-8.x-9.x-10-x

Documentation and technical support

Confluence Wiki:

WooCommerce. Installation and configuration guide for the GlobalPay plugin

GlobalPay API Docs:

https://globalsolutions.portal.swaggerhub.com/globalpay/docs/main-page

Technical support:
💬 Telegram: @Globalpay_merchants_support


🔟 Additional Information

Supported Card Types

 
 
 

Card Type

 

Prefix

 

CVV

 

Cardholder Name

 

OTP (Sandbox)

 

OTP (Production)

 

Uzcard

8600, 5614, 5440, 6264, 6262, 6263

SMS

SMS

HUMO

9860

Browser Console

SMS

Visa

4

3D Secure

3D Secure

Mastercard

5

3D Secure

3D Secure

 
 
 

Limitations & Requirements

 
 
 

Parameter

 

Value

 

Minimum Order Amount

1000 UZS

Supported Currency

UZS (Uzbek Sum)

HTTPS Required

Yes (for production)

Required product fields

IKPU, Packaging Code

 
 
 

Plugin Directory Structure

 
 

wc-globalpay-gateway/ ├── wc-globalpay-gateway.php ├── includes/ │   ├── class-wc-gateway-globalpay.php │   ├── class-globalpay-api.php │   ├── class-globalpay-product-fields.php │   ├── class-globalpay-security.php │   ├── class-globalpay-token-manager.php │   ├── class-globalpay-webhook.php │   ├── class-wc-globalpay-blocks-support.php │   └── class-globalpay-hpos-helper.php ├── assets/ │   ├── css/checkout.css │   ├── js/blocks.js │   ├── js/checkout.js │   └── images/cards/ ├── languages/ │   ├── wc-globalpay-gateway-en_US.mo │   ├── wc-globalpay-gateway-ru_RU.mo │   └── wc-globalpay-gateway-uz_UZ.mo ├── templates/checkout/ └── logs/api.log


Version: 1.0.0
Updated: November 29, 2025
Author: Rushan Idrisov

Supported by