Card
When Card is enabled for your integration, your customer enters card details on the bank’s hosted payment page. Quid confirms the bank result before issuing a receipt. Test mode uses a simulation.
Confirm the final statusHosted checkout
Your server creates a checkout session. Quid Payments guides the customer through payment. Your webhook confirms the final checkout status.
Invoice data
Use one invoice_ref for the full payment journey. Add invoice lines when you want each item or service to appear in your records.
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
Send your customer to checkout_url. They choose an available payment method, while Quid Payments collects payment details and keeps them updated.
When Card is enabled for your integration, your customer enters card details on the bank’s hosted payment page. Quid confirms the bank result before issuing a receipt. Test mode uses a simulation.
Confirm the final statusYour customer selects a network and approves the payment on their phone.
View checkout endpointsYour customer receives the account details needed to complete the transfer.
Confirm the final statusCash deposit is not available. Checkout does not offer it. Cash listed with another rail is dropped; a request for cash only returns RAIL_UNAVAILABLE.
Your customer can choose a payment method.
The payment is in progress. Keep the order open while confirmation arrives.
Confirm the amount, currency, and invoice reference, then fulfil the order.
Ask your customer to start a new payment journey.
Return and lookup
Use signed webhooks to confirm the final checkout status. If a customer returns before the webhook arrives, look up the session from your server.
curl https://api.quiddpayments.com/api/v1/sessions/cs_example \
-H "Authorization: Bearer ak_test_example"checkout.session.completed, a successful checkout status, and matching amount, currency, and invoice reference.
Keep the order open when the payment is still being confirmed, failed, expired, mismatched, or has an invalid signature.