Payment webhook channel. Ko-fi issues an HTTP POST to your configured URL
when a payment occurs. The POST is `application/x-www-form-urlencoded`
with a single `data` field whose value is a JSON string. The `type` field
inside that JSON selects one of the message variants below. Your service
"subscribes" (receives) these events; Ko-fi is the publisher.
A recurring membership payment. Fires on each payment, including the first.
Content-Type: application/json
ShopOrder
A purchase from your Ko-fi Shop. Includes shop_items and, for physical goods, shipping.
Content-Type: application/json
Commission
A paid commission request. Ko-fi documents Commission as a webhook type but does not publish an example payload; it follows the same base shape as other payment events.
Content-Type: application/json
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.