Developers

One redirect in. One webhook out.

The entire merchant integration is two touchpoints. Everything else — provider routing, verification, retries, dedup — is Quazko's job, not yours.

Step 1

Send the buyer to the cashier.

A plain link or form redirect from your payment page. No API key needed in the browser — creating an unpaid order is harmless by design.

redirect.txt
# redirect the buyer with a plain link (GET)
https://api.quazko.com/pay
    ?project=<project_id>
    &login=<buyer_account>
    &amount=25
Cashier parameters
ParamDescription
projectYour project's public ID (issued at onboarding).
loginThe buyer's account in your system — game login or e-mail, 3–64 chars. Echoed back to you at crediting time.
amountOrder amount in EUR, e.g. 25 or 9.99. Validated server-side (1.00–10 000.00).
Step 2

Receive the crediting webhook.

When the payment settles, Quazko POSTs a signed notification to your Result URL. Verify, credit, respond 200.

POST /your/result-url
// Header
X-Quazko-Signature: hex(hmac_sha256(raw_body, your_api_key))

// Body
{
  "payment_id": "8f64ce4b-e63a-…",  // stable id = your idempotency key
  "amount_minor": 2500,            // 2500 = €25.00 (integer minor units)
  "currency": "EUR"
}
The three rules of the receiver. 1) Verify the signature over the raw request body before parsing. 2) Be idempotent by payment_id — credit at most once, acknowledge repeats with 200. 3) Respond 200 only after the credit is durably recorded. Delivery is at-least-once with exponential backoff.
Resolving who to credit
lookup.txt
# the buyer's login travels with the payment — fetch it by payment_id
GET https://api.quazko.com/v1/payments/<payment_id>
X-Merchant-Id: <your_merchant_id>
X-Api-Key: <your_api_key>

// response
{ "status": "credited", "order_payload": { "login": "alex_92" } }
Reference

A working receiver, ready to copy.

Onboarded merchants get an integration kit with a complete reference receiver (signature verification, idempotent ledger, ~100 lines) plus a sandbox project to test the full cycle end-to-end before going live.

EndpointPurpose
GET /payHosted cashier — buyer-facing, shows available methods.
POST /v1/paymentsServer-to-server payment creation with an idempotency key (alternative to the redirect flow).
GET /v1/payments/{id}Payment status + your order metadata. Merchant-authenticated.
POST → your Result URLSigned crediting notification, at-least-once.
Request sandbox access