Getting started
Kasera Pay API
Create payment requests from your code, get a checkout link, and know for certain when the money arrives.
https://pay.kasera.id/v1OpenAPI spec — the machine-readable description of every endpoint below.
Every request uses HTTPS and returns JSON. All amounts are whole rupiah (no decimals): amount = fee + net, always. Timestamps use ISO-8601 with a +07:00 offset.
Six endpoints, bearer authentication, and a payment.paid webhook. Need an account? Sign up in the dashboard, then create an API key under Developer.
Quickstart
Create your first payment request:
curl https://pay.kasera.id/v1/transactions \
-H "Authorization: Bearer kp_live_..." \
-H "Idempotency-Key: order-1234" \
-H "Content-Type: application/json" \
-d '{
"amount": 150000,
"description": "Kaos komunitas",
"external_id": "ORD-1234"
}'Send the checkout_url from the response to the buyer — that is Kasera Pay Checkout, and it is the whole integration. To render the payment inside your own screens instead, see Direct API. To learn when it's paid, set up a webhook — don't poll.
Never put kp_live_ in frontend code or a public repository. Call the API only from your own server.