Work / Integration · 2025

eSIM provider

For an eSIM provider selling on Shopify, I added eSIM provisioning, top-ups and a partner feed to the store's Shopify app. Each order or top-up becomes an order at a wholesale eSIM API, the eSIM details are emailed to the customer, and a 5-minute job keeps order status current; storefront routes price top-up plans in the shopper's currency. A separate Lumen 9 service publishes the store's data plans as a feed and tracked deep links for comparison partners.

  • client work
  • integration
  • client anonymized
  • archived
Client
eSIM provider
Type
Integration · E-commerce: Shopify app for eSIM provisioning
Role
Freelance backend developer: added the eSIM provisioning, top-up and partner-feed logic to an existing Shopify app base.
Built with
PHP, Laravel, Lumen, Shopify Admin REST API, Shopify webhooks, eSIM provider REST API, Exchange-rate API, SMTP mail
Also uses
React, Shopify Polaris, Vite
Last active
2025

What it does

  • Order → eSIM provisioning with email delivery and a 5-minute status cron.
  • Top-ups driven by line-item properties.
  • Storefront top-up plan lookup with currency conversion and price sorting.
  • Provider webhook for eSIM status events.
  • Partner data-plan feed and tracked deep links, priced per partner in USD or EUR.

How it is built

  • A Shopify CLI PHP app (Laravel backend, React/Polaris admin) receives order webhooks, calls the wholesale eSIM API, stores orders and mails customers, with a scheduled status job; storefront routes serve top-up plans. A separate Lumen service caches the Shopify catalogue to a file and serves partner feeds from it.

Decisions

  • Serve the partner feed from a cached catalogue file.
  • Keep region-to-country mapping in code.

Challenges

  • Region coverage in the partner feed needed a South East Asia fix.

Skills

  • Shopify app backend development (webhooks, Admin API)
  • Third-party API integration (provisioning, top-ups)
  • Scheduled background jobs (Laravel scheduler)
  • Partner data feeds

Client work: links and code are not public.

All projects →