Project Description

Project overview

This project was a custom WordPress and WooCommerce eSIM integration built to connect an existing ecommerce setup with the eSIMGO v2.5 API.

The goal was not to rebuild the store, replace WooCommerce or introduce a separate customer platform. The goal was to extend the existing WordPress website so eSIM products, top-ups, activation details, usage data and support workflows could all work inside the current ecommerce environment.

I designed and built a modular custom plugin called eSIMgo Integration that handles eSIM provisioning, top-up flows, customer account dashboards, activation delivery, webhook-based usage tracking, bundle revocation, refund support and admin-side operations while staying aligned with WordPress and WooCommerce conventions. This kind of project is most closely aligned with WooCommerce development, plugin development and ongoing WordPress support.

The challenge

The project needed to turn a standard WooCommerce store into a working eSIM sales and account-management platform. That meant connecting paid orders to external API provisioning, keeping customer-facing activation data usable, supporting repeat top-up purchases, and giving the business enough operational control to manage refunds, logs and troubleshooting safely.

Live-store enhancement only
The work had to extend the existing WordPress and WooCommerce setup rather than replacing the ecommerce platform.
External API-dependent ordering
Paid WooCommerce orders needed to trigger reliable eSIM provisioning through the eSIMGO API.
Activation delivery for real customers
Customers needed clear activation details on the thank-you page, in emails and inside their account area.
Top-up logic on existing eSIMs
The system had to support both first-time eSIM purchases and top-ups against a selected ICCID.
Usage and lifecycle visibility
The store needed a My Account experience that combined WooCommerce order data with live eSIM and bundle information.
Operational safety and support tooling
Admins needed logs, connection testing, metadata recovery, refund helpers and moderation around customer-impacting actions.

What was delivered

I built a custom plugin architecture that connected WooCommerce, customer account flows and eSIMGO API operations into one maintainable WordPress extension. The plugin handled provisioning logic, order metadata, activation rendering, account dashboards, webhook ingestion and support workflows without requiring a separate application layer.

Custom WooCommerce eSIM plugin
Built a dedicated plugin to manage provisioning, top-ups, activation data, usage tracking and admin tools in one place.
Provisioning and top-up workflows
Connected paid WooCommerce orders to new eSIM creation and existing-eSIM bundle application logic.
Customer My eSIMs dashboard
Added a custom My Account area that surfaces owned eSIMs, bundles, history and live usage information.
Activation detail delivery
Rendered installation and QR-based activation details on the thank-you page and in transactional emails.
Usage webhook processing
Built a signed REST callback flow to store usage snapshots and keep customer-visible balance data updated.
Refund and credits operations
Added bundle revoke flows, inventory refund tooling and a customer credit ledger for post-sale support.

Core functionality included

WooCommerce-to-eSIM provisioning
Paid or completed orders trigger eSIMGO provisioning and store the resulting identifiers and activation data in order metadata.
Top-up purchase flow
Customers can select an existing ICCID and buy a compatible top-up bundle through WooCommerce.
Custom order statuses
Added eSIM-specific pending and failed statuses for better operational visibility during fulfillment.
Activation details on thank-you pages
Customers can access QR codes, SM-DP+ information and install details immediately after purchase.
Activation details in email
The same key setup information is also available in WooCommerce email flows for better delivery reliability.
My eSIMs account endpoint
Added a custom WooCommerce My Account section for owned eSIMs, status, usage and related actions.
Live usage and bundle lookups
Customers can view current bundle information, usage snapshots and history pulled from the API and local storage.
Webhook-based usage updates
Signed usage callbacks update remaining data, initial allocation, unlimited flags and received timestamps.
Bundle revocation flow
Customers can request bundle removal from the account dashboard when supported by business rules.
Refund eligibility handling
The revoke flow can also request refunds where valid and communicates clearly when a bundle is no longer refundable.
Admin inventory refund tool
Added a backend workflow for refunding unused inventory bundles back to the organisation balance.
Customer credits ledger
Built an admin-managed credit system for recording, confirming and tracking bundle-related customer credits.
Connection testing and logs
Added admin tools for API validation, structured logging and troubleshooting.
Legacy metadata recovery
Included a backfill tool to restore missing ICCID metadata on older orders.
Scoped frontend assets
Added plugin-level CSS and JavaScript for the account dashboard and eSIM interactions without redesigning the whole site.

Key architecture decisions

The most important architectural decision was to keep the solution plugin-first and embedded inside WordPress rather than pushing the business into a separate SaaS dashboard or a parallel custom application. WooCommerce remained the transaction layer, while the plugin became the orchestration layer between orders, users, metadata and the eSIMGO API.

Another key decision was to treat WooCommerce order and line-item metadata as the operational source of truth for activation and lifecycle data. That allowed the system to show meaningful customer-facing information quickly, reduce unnecessary API calls and recover gracefully when some data was already stored locally.

The build also balanced live API access with caching, webhook ingestion and admin recovery tooling. Instead of depending on one fragile real-time pathway, the plugin combines synchronous provisioning, transient caching, signed webhooks, local snapshot storage and manual admin tools so the platform stays usable even when edge cases appear.

Plugin-first extension layer
New capability was added without rebuilding the ecommerce platform or breaking WordPress conventions.
WooCommerce-native transaction model
Orders, account pages and email flows stayed inside the existing store experience.
Metadata-driven state management
ICCIDs, bundle references, activation details and usage values were persisted into WordPress and WooCommerce data structures.
API plus local resilience
Live lookups were supported by caching, stored snapshots and recovery utilities.
Security-aware webhook design
Usage callbacks were signed, validated and deduplicated before local processing.
Admin-operable support flows
Refunds, credits, logs and connection tests were built into the WordPress backend for maintainability.

Results and outcomes

The result was a much more capable WooCommerce eSIM platform delivered inside an existing WordPress build. Customers can now buy, activate, review and manage eSIM-related services through a clearer account experience, while the business has stronger operational tooling for fulfillment, support and exception handling.

End-to-end eSIM sales flow
WooCommerce now supports real provisioning and top-up workflows instead of acting like a simple static storefront.
Better post-purchase customer experience
Activation details, QR access and account visibility reduce friction after checkout.
Improved account usability
Customers can see their eSIM inventory, bundle information and usage state in one place.
Stronger operational control
Admins have tools for testing connectivity, tracing issues, recovering metadata and processing refunds or credits.
Safer lifecycle management
Revocation and refund logic were implemented with eligibility checks and clearer user messaging.
Maintainable long-term foundation
The plugin structure supports future improvements such as richer bundle filtering, additional dashboards and deeper automation without changing the store architecture again.

Technology used

The project was delivered in WordPress and WooCommerce using a custom plugin architecture, PHP, custom WooCommerce hooks, WordPress REST API endpoints, admin settings pages, custom database tables, structured logging, transient caching, scoped CSS, lightweight JavaScript and the eSIMGO v2.5 API.

This work is most relevant to WooCommerce development, plugin development and ongoing support for stores with more complex product and post-sale workflows.

Next steps

This project shows how an existing WordPress and WooCommerce store can be extended into a much more capable digital-service platform without replacing the whole ecommerce stack. By using plugin-first architecture, careful order metadata design and admin-safe operational tooling, it becomes possible to support provisioning, account management and post-sale support inside a familiar WordPress environment.

If you need a similar build involving WooCommerce development, custom plugin development or custom WordPress development, this kind of architecture is a strong fit for complex product flows that still need to stay manageable for content and operations teams.