Docs

Hosted checkout

Give every customer a simple way to pay.

Your server creates a checkout session. Quid Payments guides the customer through payment. Your webhook confirms the final checkout status.

Invoice data

Keep every payment easy to identify.

Use one invoice_ref for the full payment journey. Add invoice lines when you want each item or service to appear in your records.

Invoice lines request
POST /api/v1/invoice-lines
Authorization: Bearer ak_test_example
Idempotency-Key: invoice-INV-2026-001

{
  "invoice_ref": "INV-2026-001",
  "currency": "GHS",
  "lines": [
    { "code": "ORDER", "name": "Order payment", "amount_minor": 300000 },
    { "code": "DELIVERY", "name": "Delivery", "amount_minor": 7038 }
  ]
}

Customer payment flow

Let hosted checkout handle the payment experience.

Send your customer to checkout_url. They choose an available payment method, while Quid Payments collects payment details and keeps them updated.

Open

Your customer can choose a payment method.

Still being confirmed

The payment is in progress. Keep the order open while confirmation arrives.

Successful

Confirm the amount, currency, and invoice reference, then fulfil the order.

Failed or expired

Ask your customer to start a new payment journey.

Return and lookup

Confirm payment on your server.

Use signed webhooks to confirm the final checkout status. If a customer returns before the webhook arrives, look up the session from your server.

Session lookup
curl https://api.quiddpayments.com/api/v1/sessions/cs_example \
  -H "Authorization: Bearer ak_test_example"

Ready to fulfil

checkout.session.completed, a successful checkout status, and matching amount, currency, and invoice reference.

Wait for confirmation

Keep the order open when the payment is still being confirmed, failed, expired, mismatched, or has an invalid signature.