Case StudyE-Commerce

Gweme: payment webhooks in, order updates out

How a multi-gateway fashion storefront ingests Paystack, PayPal, and Zest webhooks as data — and sends its own order and inventory signals back out — from one SDK.

The Challenge

Gweme sells to Nigerian and international customers across three payment gateways — Paystack, PayPal, Zest — each with its own webhook contract. Payment events needed to land reliably, sit alongside the orders and inventory they update, and trigger outbound notifications without stitching services together.

  • Ingest payment webhooks from three gateways (Paystack, PayPal, Zest)
  • Persist payment events next to the orders, carts, and inventory they affect
  • Send outbound signals — order confirmations, stock alerts, cart abandonment reminders
  • Reserve stock during checkout and reconcile on payment events
  • Multi-currency support (NGN, USD, GBP) across the same gateway shape
  • Guest and authenticated shopping on the same backend

The Solution

Gweme runs the same ingest-store-send shape across three payment gateways. Webhooks come in through Centrali functions, events persist as records next to the order and inventory state, and outbound notifications send through the same SDK.

Payment webhook ingestion

Events from Paystack, PayPal, and Zest flow into Centrali functions. Verified payloads land as records — the same gateway shape repeats across all three providers.

Events next to state

Payment events, orders, inventory, and carts live in the same set of structures. One query reaches across them — no separate events pipeline to maintain.

Outbound signals

Order confirmations, stock alerts, and cart-abandonment reminders send through the same functions that receive the inbound events.

Search across orders and products

Full-text search over products and orders — typo tolerance, filtering, instant results. No separate search service to configure.

Product media and live stock

Product images served via CDN with automatic thumbnails. Stock levels update in real time during checkout; the admin dashboard shows live order notifications.

Architecture

Gweme's stack is simple: Next.js 15 frontend with Clerk authentication, calling Centrali for all data operations.

Next.js 15 (App Router)Centrali SDK for dataClerk for authenticationPaystack/PayPal for paymentsVercel for hosting

Results

6 weeks

Development time from zero to launch

12

Centrali structures powering the platform

3

Payment gateways integrated

0

Backend servers to manage

Centrali let us focus on building a great shopping experience instead of managing databases and servers. We went from idea to live store in 6 weeks.

Development Team, Gweme

Build your e-commerce platform

Start with a unified backend for products, search, inventory, and more.