Skip to content
Paybeta Checkout

Developers

An API you can integrate in an afternoon

Two endpoints, predictable JSON and amounts in naira. Use the live API key from your Paybeta console.

Test and live on one key
Send "mode": "test" to pay with test cards, and "mode": "live" for real money.
Safe to retry
The same reference always returns the same payment, so a timed-out request can be sent again.
Signed webhooks
Paybeta's standard webhook format, signed with your secret key, retried until you answer, and listed in your console.
Check any payment
GET /api/v1/payments/{reference} returns its current status at any time.
Read the full documentation
Request POST /api/v1/payments
curl https://checkout.paybeta.ng/api/v1/payments \
  -H "P-API-KEY: $PAYBETA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "test",
    "reference": "ORDER-1001",
    "amount": 25000,
    "description": "Pro plan, monthly",
    "customer": { "email": "ada@example.com" },
    "redirect_url": "https://shop.example/thanks"
  }'
Response 201 Created
{
  "status": "successful",
  "message": "Payment created",
  "data": {
    "id": "GTW-K3J9X2…",
    "reference": "ORDER-1001",
    "status": "pending",
    "mode": "test",
    "amount": 25000,
    "fee": 375,
    "checkout_url": "https://checkout.paybeta.ng/pay/GTW-K3J9X2…"
  }
}

Integration

Redirect to the checkout, or open it on your page

Both use the same payment you create on your server. Pick per page.

Redirect

Send the customer to checkout_url. When they've paid, we bring them back to your redirect_url. No front-end code at all.

// After creating the payment
return redirect($payment['data']['checkout_url']);

Popup

Keep the customer on your site. Add paybeta.js and open the checkout over your page from a button.

<script src="https://checkout.paybeta.ng/v1/paybeta.js"></script>

new PaybetaPop().resumeTransaction('GTW-K3J9X2…', {
  onSuccess: (tx) => confirmOnServer(tx.reference),
  onCancel: () => {},
});

You only pay on successful payments

Take your first payment today

Already on the Paybeta API? Use your live API key and start with "mode": "test".