Getting started

Kasera Pay API

Create payment requests from your code, get a checkout link, and know for certain when the money arrives.

Base URLhttps://pay.kasera.id/v1

OpenAPI 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.