VendStack — Merchant Integration Guide

VendStack lets your customers buy from you over WhatsApp, USSD and SMS without you building those channels. You keep your wallet, pricing and vending logic; we handle the conversations and hand each order to your backend.

Customer (WhatsApp / USSD / SMS)
        ↓
   VendStack  ── menus, sessions, safety ──▶  Your backend (the Merchant API)
        ↓                                          wallet · pricing · vending
   Reply to customer

What you have to do — 3 steps

  1. Create an account & connect your Merchant API in the dashboard — one base URL and a signing secret, set up once. Every channel uses it. → Connecting channels
  2. Turn on a channel. USSD is one click (we assign you a code); WhatsApp is a short guided setup.
  3. Implement the Merchant API — a handful of small HTTP endpoints we call to list products and complete purchases — then test and go live.Merchant API reference · Going live

That's the whole integration. You implement your backend once; most merchants only need 2–4 endpoints, and we send you a signing secret so you can verify every request is really from us.

Key ideas (read once)

  • One backend, every channel. You configure the Merchant API once (base URL + signing secret) on the Merchant API card. WhatsApp, USSD and future channels all call it — you never integrate twice.
  • You own the money. VendStack never holds funds or validates PINs. On every purchase we pass the customer's PIN straight to your /vend endpoint — you validate it and debit the wallet.
  • The customer is identified by their phone number. The payer's number arrives as customer_msisdn on every /vend; the PIN and wallet debit apply to that account. For USSD it's the number they dial from; for WhatsApp it's the number they chat from.
  • Purchases are idempotent. Every order carries a unique reference; if you see the same one twice, treat it as one purchase.
  • We speak plain JSON over HTTPS. No SDK required.

Connecting channels

From Dashboard → Integrations:

Merchant API (do this first)

Open the Merchant API card, enter your backend's base URL, and save. We generate your signing secret (shown there to copy). This is the one backend every channel calls — set it up before turning on USSD or WhatsApp.

USSD

Click Set up, enter your business name, and tick the products you sell (Data, Airtime, Cable, Power, Betting). We assign you a dial code like *332*1#. Your customers can dial that code (or jump straight in, e.g. *332*1*1*08012345678#).

WhatsApp

Click Set up and paste your Meta WhatsApp details (Phone Number ID, Access Token, App ID & Secret). We wire up the webhook with Meta for you — you never touch Meta's webhook screens.

Next

Merchant API reference — the endpoints you implement, with request/response examples you can copy.