Docs

Get started

Create your first hosted checkout.

Set up your integration, create a checkout session from your server, then send your customer to the hosted payment page.

Your first payment flow

Complete these steps in order.

  1. 1Choose Test mode

    Turn on the Test mode switch in Developers.

  2. 2Add an API key

    Name the key and enter its paired HTTPS webhook URL.

  3. 3Copy both secrets

    Save the API key and webhook signing secret in your server configuration.

  4. 4Create checkout

    Call POST /api/v1/sessions from your server.

  5. 5Confirm payment

    Verify a signed webhook before you fulfil the order.

Authentication

Authenticate your API requests.

Use an API key when your server creates and manages checkout sessions.

Authorization header

Authorization: Bearer ak_test_example

Use a Test mode key while you build.

First request

Create a checkout session.

Send this request from your server. Use one idempotency key for each payment request so a retry cannot create a second checkout.

curl
curl https://api.quiddpayments.com/api/v1/sessions \
  -H "Authorization: Bearer ak_test_example" \
  -H "Idempotency-Key: checkout-INV-2026-001" \
  -H "Content-Type: application/json" \
  -d '{
    "invoice_ref": "INV-2026-001",
    "amount_minor": 307038,
    "currency": "GHS",
    "description": "Order payment",
    "customer": { "name": "Ama Mensah", "email": "ama@example.com" },
    "callback_url": "https://merchant.example.com/payments/return"
  }'
Expected response
{
  "id": "cs_example",
  "status": "open",
  "amount_minor": 307038,
  "currency": "GHS",
  "invoice_ref": "INV-2026-001",
  "description": "Order payment",
  "checkout_url": "https://checkout.quiddpayments.com/pay/cs_example",
  "expires_at": "2026-06-14T12:30:00Z"
}

Next

Send your customer to checkout_url.

Store the session ID, invoice reference, and your order ID. Confirm payment with a signed webhook before you fulfil the order.