Redirect checkout

Create a charge on your server, then send the customer to our hosted checkout page — or keep them on your site with inline embed.

Payment flow

  1. Customer chooses to pay on your site.
  2. Your backend calls Initialize and stores the reference.
  3. You redirect (or open) authorization_url.
  4. Customer pays via MoMo using the details on checkout.
  5. On success, if you set callback_url, we redirect the browser to {callback_url}?reference=wa-…&status=success.
  6. Your server fulfills after webhook or verify — never trust the browser redirect alone.

Initialize from your server

curl -X POST https://waaguan.com/api/v1/transaction/initialize \
  -H "Authorization: Bearer sk_live_YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50,
    "email": "customer@email.com",
    "customer_name": "AMA MENSAH",
    "callback_url": "https://yoursite.com/payment/callback",
    "description": "Order #1001",
    "metadata": { "order_id": "1001" }
  }'

Redirect the customer

After a successful initialize response, redirect with something like:

What the customer sees

  • Your business name and logo (if set)
  • Exact amount and currency (GHS)
  • MoMo number, network, and account name to pay
  • Countdown until the charge expires (default ~30 minutes)

Checkout updates while the charge is pending or partial. When the full amount is confirmed, status becomes paid.