Description
B2B eSIM manager for 247eSIM connects your WooCommerce shop to the 247eSIM Partner API. You sell eSIM data plans at your own prices; 247eSIM supplies the eSIMs and charges your prepaid partner wallet.
Your catalogue, always up to date
- Imports every package in your 247eSIM catalogue as a virtual WooCommerce product, with name, description, attributes (destination, data, validity, coverage) and a category per destination.
- Syncs automatically on the schedule you choose, from every 15 minutes to every few days, or at the press of a button.
- Prices follow your rules: markup percentage, fixed markup, currency exchange rate and optional rounding to .99 or whole numbers. Sale prices and product images are never touched.
- Packages that can’t be ordered right now go out of stock automatically. Withdrawn packages are hidden or binned, and come back if the package returns.
- Large catalogues are synced in small background batches, so your site never slows down.
eSIMs delivered automatically
- When an order is paid, one eSIM per unit is bought from 247eSIM straight away.
- Safe retries: every eSIM order has a unique reference and idempotency key, so a retry or a network glitch can never buy the same eSIM twice.
- Temporary problems, such as an empty wallet or a busy network, are retried automatically, and you get an email when something needs you.
- Optional signed webhooks for instant updates; without them, the plugin checks on slow orders by itself.
- Orders that contain only eSIMs can be completed automatically once every eSIM is delivered.
Easy installation for your customers
- The order confirmation page shows the eSIM within seconds and updates by itself while it is issued.
- QR code, one-tap Install on iPhone and Install on Android buttons, manual SM-DP+ and activation code with copy buttons, and step-by-step instructions.
- Live data usage: data left, status and expiry, straight from the network.
- A My eSIMs tab in My Account lists every eSIM the customer has bought.
- A “Your eSIM is ready” email with all installation details, editable under WooCommerce > Settings > Emails.
For store managers
- A status panel shows your connection, sandbox or live environment, wallet balance, key permissions and sync progress.
- Each order shows an eSIM box with status, ICCID and cost, plus Retry, Cancel eSIM and Refresh buttons.
- Works with the block and classic checkout and with WooCommerce high-performance order storage (HPOS).
- Sandbox support: test the whole flow with test money and simulated eSIMs, then switch to live keys.
Requirements
- WooCommerce 8.0 or newer.
- A 247eSIM partner account with an API key pair. You can apply from the 247eSIM developer page.
- Working WP-Cron. The sync and eSIM delivery run as background tasks through WooCommerce’s Action Scheduler.
A full illustrated user guide (PDF) is included in the plugin folder: b2b-esim-manager-247esim-User-Guide.pdf.
External services
This plugin is a connector for the 247eSIM Partner API, a service run by 247eSIM (https://b2b.247esim.com). It cannot work without that service and a 247eSIM partner account. Nothing is sent until you enter your API keys.
What is sent to 247eSIM, and when:
- Every request: your API key and secret (to identify your account), and your site’s address in the User-Agent header.
- Product sync (on your chosen schedule and when you press “Sync products now”): a request for your package catalogue. No customer data is sent.
- When an order is paid: the package ID, the WooCommerce order number, order and line-item IDs, and the customer’s billing email address and name, so that 247eSIM can issue the eSIM and attach it to your order.
- When a customer checks their data usage, or when the plugin checks an order: the eSIM’s ICCID or the 247eSIM order ID.
- On the settings page: requests for your account details and wallet balance.
If you add a webhook in the 247eSIM partner portal, 247eSIM sends order and wallet events to your site. Each delivery is verified with your signing secret.
247eSIM terms and conditions: https://b2b.247esim.com/terms
247eSIM privacy policy: https://b2b.247esim.com/privacy
QR codes are drawn in the customer’s browser. No QR code service is used.
Installation
- Install the plugin from Plugins > Add New, or upload the plugin folder to
/wp-content/plugins/. Activate it. WooCommerce must already be active. - In the 247eSIM partner portal, open API keys and create a key pair with the scopes
packages:read,orders:read,orders:write,esims:read,usage:readandaccount:read. Addorders:cancelto cancel eSIMs from the order screen. Start with a sandbox key (pk_test_…). - Go to WooCommerce > 247eSIM, paste the public key and the private (secret) key, and save. The Status panel confirms the connection and shows your wallet balance.
- Set your markup. If your shop sells in a different currency from your 247eSIM billing currency, set the exchange rate too.
- Click “Sync products now”. Your eSIM products appear within a minute or two.
- Optional but recommended: in the partner portal, add the webhook URL shown on the settings page, choose the order events and paste the signing secret into the plugin.
- Place a test order. With sandbox keys you get a simulated eSIM and nothing but test money is spent. When you’re ready, swap in your live keys and sync again.
FAQ
-
Do I need a 247eSIM account?
-
Yes. The plugin sells eSIMs from your 247eSIM partner account and pays for them from your prepaid 247eSIM wallet. You can apply from the 247eSIM developer page. The sandbox works while your application is being reviewed.
-
How are my prices calculated?
-
Shop price = 247eSIM price × exchange rate × (1 + markup %) + fixed markup, then rounded if you choose. For example, a 4.50 USD package with an exchange rate of 120 and 30% markup sells for 702 in your shop currency. You can also untick “Prices” and set prices by hand.
-
My shop sells in a different currency from my 247eSIM wallet.
-
Set the exchange rate on the settings page: how many units of your shop currency one unit of your 247eSIM billing currency is worth. The Status panel warns you if the currencies differ and no rate is set. Update the rate yourself when exchange rates move.
-
When is the eSIM bought?
-
As soon as the order is paid, that is when it becomes Processing or Completed. For payment methods that put orders on hold, such as bank transfer, the eSIM is bought when you mark the order Processing.
-
What happens if my wallet runs out of money?
-
The eSIM order waits and is retried automatically, and you get an email straight away so you can top up. After the last automatic retry the eSIM is marked Failed. Click Retry on the order once the wallet is funded. Your customer sees a message that their eSIM is being prepared.
-
Can a retry buy the same eSIM twice?
-
No. Every eSIM in an order has its own fixed reference at 247eSIM. A repeated request is recognised and the existing eSIM is used.
-
Can I cancel an eSIM?
-
Yes, from the order screen, while the eSIM has not been activated and where the network allows it. The cost goes back to your 247eSIM wallet. Refund your customer in WooCommerce as usual.
-
Do I need webhooks?
-
No, but they are recommended. Without them the plugin checks slow orders itself, every few seconds at first and less often after that. With them, updates arrive instantly and changes made in the partner portal reach your shop.
-
Where can my customers find their eSIM later?
-
On their order page, under My Account > My eSIMs, and in the “Your eSIM is ready” email. You can also put the
[esim247_my_esims]shortcode on any page. -
The My eSIMs page shows “Page not found”.
-
Go to Settings > Permalinks and click Save Changes. This refreshes your site’s page addresses.
-
Where do I see errors?
-
In the Status panel, in the eSIM box on each order, and in the order notes. For details, open WooCommerce > Status > Logs and choose the log whose name starts with “esim247”. Each entry includes the 247eSIM request ID for their support team.
-
Does it work with the block checkout and HPOS?
-
Yes, both are supported.
-
Can developers customise it?
-
Yes. The filters
esim247_selling_price,esim247_sync_batch_size,esim247_order_referenceandesim247_api_base_urland the actionesim247_sync_finishedare available. The email template can be overridden fromyourtheme/woocommerce/emails/esim247-esim-ready.php.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“B2B eSIM manager for 247eSIM” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “B2B eSIM manager for 247eSIM” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- First release: catalogue import and scheduled sync, automatic eSIM ordering after payment, customer install screen, My eSIMs account tab, eSIM-ready email, signed webhooks, sandbox and live support.
