Case study · E-Commerce & Marketplaces

Letting gift recipients choose, at marketplace scale

  • Laravel
  • PHP 8
  • Nuxt
  • Vue
  • Shopify API
  • WooCommerce
  • Stripe
✓ Verified Review

National Digital have been pivotal partners in the scope and build of our platform. Their technical expertise and collaborative approach made our marketplace vision a reality.

Stefanie Carniato
Founder & CEO at Gratofy
5 mins

Average time to integrate a supplier store

0

Manual steps in a campaign

10k+

Products recipients can choose from

Recipient

Chooses the gift - the sender only funds it

The challenge

Corporate gifting lacked personalisation, wasting budget on unwanted items while companies struggled to manage gift campaigns across diverse recipient preferences and budgets. Running that at any scale also meant keeping tens of thousands of products from independently managed Shopify and WooCommerce stores accurate on price, availability and tagging, without a person checking them.

What we built

A custom gift marketplace that aggregates Shopify and WooCommerce catalogues behind one browsing experience, wrapped in a campaign engine handling recipient lists, branded invitations, reminders, expiry and refunds. Senders fund a budget; recipients choose their own gift from tens of thousands of products.

  • Shopify and WooCommerce catalogue aggregation
  • Webhook-driven product, price and availability sync
  • Campaign engine: launch, recipients, reminders, expiry, refunds
  • Gift-budget funding and redemption flows
  • Stripe payment authorisation and settlement
  • Centralised product pricing and tagging across stores
  • Role-based access for merchants, clients and administrators

The stack

A Laravel API with a Nuxt front end; catalogue ingestion from Shopify and WooCommerce with webhook-driven product, price and availability updates; a campaign lifecycle covering launch, recipient invitation, reminders, expiry and refund; Stripe payment authorisation and settlement; centralised product pricing and tagging across stores; and role-based permissions separating merchant, client and administrator access.

Channels & edgeSender & recipient apps
API & integrationShopify, WooCommerce
Applications & workflowsNuxt marketplace UI
Data platformLaravel back end
Hosting & deliveryMonitoring, backups

The outcome

Gift senders fund a budget and recipients choose from tens of thousands of products across connected stores, replacing the wasted spend and manual coordination the old approach required. Campaign administration that would otherwise be a spreadsheet and a mail merge - who was invited, who has redeemed, who needs reminding, what is left to refund - now runs as platform workflow.

Where it went next

Gratofy continues to add store integrations as its merchant network grows; each new store joins the same webhook-driven sync rather than needing bespoke handling.

This case study describes real work delivered by National Digital for Gratofy. Selected figures are indicative and rounded.

Key Takeaways

Recipient choice needs a catalogue and a campaign engine

  • The hard part of recipient-choice gifting is not the choice, it is catalogue accuracy.Critical

    Tens of thousands of products come from independently managed Shopify and WooCommerce stores. If price or availability drifts, a recipient picks something that cannot be fulfilled. Webhook-driven sync keeps the marketplace current as stores change rather than on a schedule.

  • Aggregating two store platforms behind one experience is an integration problem, not a UI one.Critical

    Shopify and WooCommerce model products, variants and inventory differently. The marketplace normalises both into one catalogue so a recipient browsing does not encounter the seams, and onboarding a merchant does not change the browsing experience.

  • Corporate gifting is campaign-shaped, so the platform is campaign-shaped too.Critical

    A company loads a recipient list, launches, and then needs to know who redeemed, who to remind, when it expires and what to refund. Building that lifecycle into the platform is what replaces a spreadsheet and a mail merge.

  • Funding a budget rather than buying an item changes the payment model.Important

    Money is authorised against a campaign and settled as recipients redeem, with unspent budget refunded at expiry. That is a different Stripe flow from a normal checkout, and it has to reconcile at campaign level rather than per order.

  • Central pricing and tagging keeps a multi-store catalogue coherent.Helpful

    Retail rounding, tagging and price updates are applied across every connected store from one place, so products from different merchants present consistently to a recipient choosing between them.

Gratofy lets gift recipients choose their own item across aggregated Shopify and WooCommerce catalogues, wrapped in a campaign engine that handles invitations, reminders, expiry and refunds.

Questions decision-makers ask about this build

How does the marketplace keep tens of thousands of products accurate?
Connected Shopify and WooCommerce stores push changes through webhooks, so a price change, a stock change or a delisting reaches the marketplace as it happens rather than on a polling schedule. Products that go inactive are deactivated rather than silently disappearing, and pricing and tagging are applied centrally across stores. The failure this avoids is a recipient choosing a gift that cannot actually be fulfilled.
Why aggregate two different e-commerce platforms?
Because merchants are already on one or the other, and asking them to migrate would be a barrier to joining the network. Shopify and WooCommerce model products, variants and inventory differently, so the marketplace normalises both into a single catalogue. A recipient browsing never sees which store a product came from, and onboarding a new merchant does not change the browsing experience.
What does the campaign engine actually do?
A company loads a recipient list and launches a campaign. From there the platform sends branded invitations, tracks who has redeemed, reminds those who have not, closes the campaign at expiry and refunds unspent budget. Without that lifecycle, corporate gifting at any scale collapses into a spreadsheet, a mail merge and someone chasing people by email for a fortnight.
How does payment work if the recipient chooses later?
The sender funds a budget rather than buying a specific item, so money is authorised against the campaign and settled as recipients redeem. Unspent budget is refunded when the campaign expires. That is a different flow from a standard checkout: it reconciles at campaign level rather than per order, and it has to handle the case where some recipients never redeem at all.
Who can see what on a multi-sided marketplace?
Access is role-based, separating merchants who supply products, client companies running gift campaigns, and administrators operating the marketplace. A merchant sees their own catalogue and orders, a client sees their campaigns and recipients, and neither sees the other's commercial data. Keeping those boundaries in the permission model rather than the interface is what makes the marketplace safe to operate.
What is the stack behind it?
A Laravel API on PHP 8 with a Nuxt and Vue front end. Shopify and WooCommerce integrations handle catalogue ingestion and webhook updates, Stripe handles payment authorisation and settlement, and role-based permissions separate merchant, client and administrator access. Scheduled and queued commands run catalogue sync, campaign launch and expiry, reminder notifications and refunds.

What's next

Building a multi-store marketplace?

Gratofy aggregates Shopify and WooCommerce catalogues behind one recipient-choice experience. If you're weighing something similar, see our work on e-commerce platforms, Shopify integration and WooCommerce development.

Want a platform like this for your business?

Tell us what you're building. We'll come back within one business day with what we'd do first and what it would take.