200+ Countries
Become a Partner

WooCommerce Plugin

Sell Tourist eSIM plans in your WooCommerce store — sync, sell, and let customers manage their eSIMs in one click. No coding required.

v1.2.0 WooCommerce 7.0+ WordPress 6.0+ PHP 8.0+ MIT License

Overview

The official Tourist eSIM for WooCommerce plugin connects your WordPress store directly to the Tourist eSIM Partner API. Once configured, it:

🔄

Auto Sync Plans

Imports all eSIM plans as WooCommerce products on a schedule (hourly, twice daily, or daily).

Instant Fulfilment

Submits orders to the Partner API the moment a customer pays. Zero manual steps.

📧

QR Codes in Emails

Injects eSIM QR codes and setup instructions directly into WooCommerce order emails.

📱

My eSIMs Dashboard

Customers see live data usage, instructions, and an iOS 17+ direct install button.

🔐

Encrypted Credentials

API keys stored with AES-256-CTR encryption using WordPress salts.

🏪

HPOS Compatible

Fully supports WooCommerce High-Performance Order Storage.

No PHP coding needed. The plugin uses WordPress's built-in HTTP API — no Composer, no external dependencies, works on any shared host.

Requirements

RequirementMinimum Version
WordPress6.0+
WooCommerce7.0+
PHP8.0+
PHP extensionopenssl (recommended)
Tourist eSIM Partner AccountApply here →

Installation

Option A — WordPress Admin (Recommended)

  1. Download touristesim-woocommerce.zip from GitHub
  2. In WordPress admin go to Plugins → Add New → Upload Plugin
  3. Upload the ZIP file and click Install Now
  4. Click Activate Plugin

Option B — FTP / File Manager

  1. Download and unzip touristesim-woocommerce.zip
  2. Upload the touristesim-woocommerce folder to /wp-content/plugins/
  3. Go to Plugins → Installed Plugins and activate Tourist eSIM for WooCommerce

Option C — Git Clone

cd wp-content/plugins/
git clone https://github.com/touristesim/touristesim-woocommerce.git

Then activate via Plugins → Installed Plugins.

Configuration

Step 1 — Get your API credentials

You need a Client ID and Client Secret from the Tourist eSIM Partner Dashboard.

  1. Sign up or log in at partners.touristesim.net
  2. Navigate to Developer → API Credentials
  3. Copy your Client ID and Client Secret
Not a partner yet? See the Become a Partner section below to apply for an account.

Step 2 — Enter credentials in WordPress

  1. In WordPress admin go to Tourist eSIM → Settings
  2. Enter your Client ID and Client Secret
  3. Click Test Connection to verify the API is reachable
  4. Click Save Settings — an automatic background sync starts immediately

Step 3 — Product Sync Settings

SettingDefaultDescription
Auto-publish new productsOnPublish newly imported eSIM plans immediately
Update product titlesOnOverwrite product name on each sync
Update product descriptionsOnOverwrite product description on each sync
Sync product imagesOffDownload country flag images (slower sync)
Plan typesAllImport Local, Regional, and/or Global plans
Auto-sync intervalDailyHourly / Twice Daily / Daily

Sync Plans

Go to Tourist eSIM → Sync Products and click Sync Products Now.

This imports all plans from the Partner API as WooCommerce virtual products, organised automatically under product categories:

  • eSIM Plans → Local eSIMs — single-country plans
  • eSIM Plans → Regional eSIMs — multi-country plans
  • eSIM Plans → Global eSIMs — worldwide plans
Flush option: Checking "Delete all existing Tourist eSIM products before sync" permanently deletes and re-imports all synced products. Use this for a clean reset only.

After the first save of credentials, an automatic sync is also scheduled in the background. Subsequent syncs run on the configured interval via WP-Cron.

Order Flow

Once a customer completes payment, the plugin automatically:

  1. Detects Tourist eSIM products in the WooCommerce order
  2. Calls POST /v1/orders on the Tourist eSIM Partner API
  3. Receives ICCIDs, QR codes, SM-DP+ address, and activation codes
  4. Stores all eSIM data on the WooCommerce order (accessible anytime)
  5. Injects QR codes and instructions into the WooCommerce confirmation email
  6. Optionally calls POST /v1/esims/{iccid}/send-email to trigger a direct eSIM setup email from the API

If submission fails, an admin note is added to the order and the error is logged under WooCommerce → Status → Logs (source: touristesim-woocommerce). You can manually resubmit from the Partner Dashboard.

Admin order panel

In WooCommerce → Orders → (order detail), a Tourist eSIM Fulfilment panel shows the Partner Order Number, ICCID, plan name, status, and QR link for each provisioned eSIM.

My eSIMs Page

Customers access their eSIMs via:

  • WooCommerce My Account → My eSIMs tab (added automatically)
  • Any page using the [touristesim_my_esims] shortcode
  • Direct URL /esim-setup/{iccid}/ — used as a deep-link in emails

Each eSIM card shows:

  • Live data usage bar with Refresh button
  • Coverage, expiry, and ICCID details
  • iOS tab — QR code image + Add to iPhone button (shown automatically on iOS 17+)
  • Android tab — QR code image
  • Step-by-step installation instructions (iOS / Android, loaded on demand)
  • Manual tab — SM-DP+ address and Activation Code with one-click copy

Shortcode

Embed the My eSIMs dashboard on any WordPress page or post:

[touristesim_my_esims]

The customer must be logged in. If not logged in, a "Please log in to view your eSIMs" message is shown with a link to the My Account page.

Become a Partner

To use this plugin you need a Tourist eSIM Partner account with API credentials.

  1. Visit partners.touristesim.net/register
  2. Complete the partner application form
  3. Once approved, go to Developer → API Credentials in the dashboard
  4. Copy your Client ID and Client Secret into the plugin settings

For partnership enquiries: partners@touristesim.net

Frequently Asked Questions

Do customers need a WooCommerce account?

Customers need an account to access the My eSIMs dashboard. Guest checkout is supported for purchasing, but eSIM management requires a logged-in account.

What happens if order submission fails?

The failure is logged in WooCommerce → Status → Logs and an admin note is added to the order. You can manually resubmit the order from the Partner Dashboard.

Will re-syncing delete my custom product content?

Disable "Update product titles" and "Update product descriptions" in Settings to preserve your custom content. Prices, attributes, and stock status are always updated by sync.

How many eSIMs can a customer buy at once?

Maximum 9 eSIMs per order (enforced at cart validation).

Is WooCommerce HPOS supported?

Yes — High-Performance Order Storage (custom order tables) is fully supported.

Does the plugin work without Composer?

Yes. No Composer or external PHP dependencies. Uses WordPress's built-in HTTP API only.

Support

ChannelContact
Technical Supporttech@touristesim.net
Partnership Enquiriespartners@touristesim.net
GitHub Issuesgithub.com/touristesim/touristesim-woocommerce/issues
Partner Dashboardpartners.touristesim.net