Skip to content
FFastPay Docs

Developers

Build payments into your product

Start a checkout from your server, send your customer to it, and hear about the payment through a signed webhook. Try everything with test keys first.

POST/api/v1/checkout/sessions
curl -X POST "https://api.vervapay.com/api/v1/checkout/sessions" \
  -H "Authorization: Bearer $FASTPAY_SECRET_KEY" \
  -H "Content-Type: application/json"
  -d '{
    "amount_minor": 500000,
    "currency": "NGN",
    "email": "ada@example.com",
    "first_name": "Ada",
    "last_name": "Obi",
    "reference": "order-1001"
  }'

API basics

Architecture
REST
Data format
JSON, UTF-8
Money
Whole numbers in the smallest unit of the currency, such as kobo for naira
Dates
RFC 3339 timestamps, such as 2026-10-28T09:00:00Z

Test mode

Base URL

https://api.vervapay.com/api/v1

Secret key

sk_test_…

Never moves real money.

Live mode

Base URL

https://api.vervapay.com/api/v1

Secret key

sk_live_…

Real payments, once your business is approved.

Test and live use the same address. The key you send decides which one you are in, so there is no separate sandbox URL to switch to.

Request headers

  • AuthorizationAlwaysBearer followed by your secret key.
  • Content-TypeWhen you send a bodyapplication/json
  • Idempotency-KeyWhen creating a customer, link or invoiceA unique value of at least 8 characters, to retry safely.

What you can integrate

Everything is available with your secret key, in test mode or live.

Test first, then go live

Test keys never move real money. Live keys switch on once your business is verified.

Get your test keys