1. Webhook Events
Kutanapay Merchant API
  • Getting Started
  • Authentication
  • Use the API in your application
  • Webhooks
    • Webhooks Events
  • Merchant Checkout
    • Create checkout
      POST
    • List checkouts
      GET
    • Get checkout
      GET
    • Cancel checkout
      POST
    • Create checkout button embed session
      POST
  • Webhook Events
    • Checkout created
    • Checkout paid
    • Customer says they paid
    • Checkout approved
    • Checkout rejected
    • Checkout failed
    • Checkout timed out
    • Checkout expired
    • Checkout refunded
    • A second collection arrived
    • Test event
  • Schemas
    • RequestBodies
      • CheckoutEvent
    • DetailError
    • WebhookEnvelope
    • CheckoutEventData
  1. Webhook Events

Checkout failed

Webhook
POST
checkout.failed
The mobile money prompt was declined or the provider reported a failure.

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200
Any 2xx marks the delivery as successful. The response body is stored (first 1000 characters) and otherwise ignored.
This response does not have a body.
⚪default
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://your-api-server.com' \
--header 'X-Webhook-Signature: sha256=5d41402abc4b2a76b9719d911017c5925d41402abc4b2a76b9719d911017c592' \
--header 'X-Webhook-Event: checkout.paid' \
--header 'X-Webhook-Idempotency-Key: 3b1f6c2e-8a4d-4f7b-9c1e-2d5a6b7c8d9e' \
--header 'User-Agent;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "version": "v1",
    "event_type": "checkout.paid",
    "timestamp": "2026-03-26T12:41:07.512345Z",
    "idempotency_key": "3b1f6c2e-8a4d-4f7b-9c1e-2d5a6b7c8d9e",
    "merchant_id": "7a9c2e4b-1d3f-4a6b-8c0e-5f2a1b3c4d5e",
    "data": {
        "id": "c4e8b1a2-9f3d-4e7a-b6c5-1d2e3f4a5b6c",
        "payment_reference": "PAY-K7M2Q9X4",
        "checkout_url": "https://app.kutanaafrica.com/public/checkouts/PAY-K7M2Q9X4",
        "amount": 150,
        "currency_code": "GHS",
        "status": "paid",
        "customer_email": "customer@example.com",
        "customer_name": "Ama Mensah",
        "customer_phone": "+233200000000",
        "customer_phone_editable": false,
        "description": "Order #ORD-7842",
        "payment_method": "mobile_money",
        "telco": "MTN",
        "expires_at": "2026-03-27T12:30:00",
        "paid_at": "2026-03-26T12:41:05",
        "created_at": "2026-03-26T12:30:00",
        "meta_data": {
            "embed": {
                "source": "checkout_button",
                "signed": {
                    "order_id": "ORD-7842",
                    "plan": "pro"
                }
            }
        }
    }
}'
Modified at 2026-10-13 22:36:35
Previous
Checkout rejected
Next
Checkout timed out
Built with