Payments platform with its own checkout
Accept Pix and card with one integration.
One API for charges, a hosted checkout that carries your name and colors, payment links, subscriptions and a webhook for every status change. Built for developers and founders selling in Brazil.
Test mode never moves real money.
Interactive checkout demo
This is the hosted checkout your payers see. Switch to card and simulate a payment.
What you can do right away
- An interactive checkout to try on this page
- cURL and fetch, nothing to install
- Test keys and test cards
No real payment is made.
Estúdio Jacarandá
Checkout by KrokoPay
Order summary
Visual identity course
R$497.00
Scan the QR code to pay
KROKOPAY-DEMO|PIX|chg_9Qs5MbT2kXn8Vd|BRL|49700|NOT-A-REAL-PIX-CODE|F597D6CDDemo control: marks this fictional charge as paid.

Chapter 01 · Accept
One charge. Pix or card.
Create the charge once and let the payer choose how to pay. Both methods share the same statuses and the same webhook events, so your order logic is written one time.
Life of a charge
Statuses your system reads, and the event sent for each one.
charge.createdCan end as
- Paid
charge.paid - Failed
charge.failed - Expired
charge.expired - Refunded
charge.refunded
Pix: the payer scans, your system knows
- QR code and copy-and-paste code on the same screen, with the expiry counting down.
- When the payment is confirmed,
charge.paidgoes to your endpoint and the dashboard updates. - Unpaid charges expire on their own and end in
charge.expired, so nothing stays open.
What the payer sees
Estúdio Jacarandá
Checkout by KrokoPay
Order summary
Visual identity course
Lifetime access · 32 lessons
R$497.00
What your system receives
Step 1 of 4
Created
Your system creates a charge through the API, a payment link or the dashboard. The payer is sent to the checkout.
- Charge status
- Pending
- Reference
chg_9Qs5MbT2kXn8Vd
Webhook event
{
"type": "charge.created",
"data": { "object": {
"id": "chg_9Qs5MbT2kXn8Vd",
"status": "pending"
} }
}Times shown are demo values, not commercial terms.
Interactive demo with fictional data. No real payment is made.
Chapter 02 · Sell
A checkout with your name on it.
Payers see your business, your color and your product, not a generic payment page. And when you don't want to write code, a payment link opens the same checkout.
Hosted checkout
Pick a sample brand or type your own name and color. The preview is the same component the payment page uses.
- Pix and card on one page
- In English or Portuguese for the payer
- Amounts always in reais (BRL)
Example brands
Accent color
Plum
Name, initials and color come from your checkout settings.
Ateliê Jacarandá
Checkout by KrokoPay
Order summary
Ceramics workshop
R$189.00
Scan the QR code to pay
Open your bank app, choose Pix and scan the code, or copy the code below.
KROKOPAY-DEMO|PIX|chg_9Qs5MbT2kXn8Vd|BRL|18900|NOT-A-REAL-PIX-CODE|E0B78FDDDemo control: marks this fictional charge as paid.
Payment links: charge with a URL
Name, amount and accepted methods. Share the link by chat, email or social media, and every payment lands in the same dashboard as your API charges.
- No code to start
- Pix, card or both
- Deactivate a link whenever you want
What your customer sees
Logo design with 2 revisions
R$350.00
krokopay.app/pay/plink_J1OIv2XZboI3Ag
Chapter 03 · Bill monthly
Subscriptions with states you can see.
Trial, active, renewed, past due, paused or canceled: each change is a status in the dashboard and an event your system receives. You decide what happens to access at every step.
Members club
Monthly plan · R$49.00/month
sub_5Hn2RtK8wPz4Bq- Current status
- Active
- Next charge
- Dec 3, 2026
Subscription history
Trial started
Aug 20, 2026The customer subscribed with a card. No charge during the trial.subscription.createdFirst charge paid
Sep 3, 2026Trial over: R$49.00 charged and the subscription is active.charge.paidRenewed
Oct 3, 2026R$49.00 charged for the new period.subscription.renewedRenewal declined
Nov 3, 2026The card had insufficient funds. The subscription is past due.subscription.past_duePayment recovered
Nov 5, 2026The customer updated the card and the renewal was paid.subscription.renewed
subscription.renewedandsubscription.past_duetell your product when to keep or limit access.- Pause, resume or cancel at the end of the period, from the dashboard or the API.
- Monthly or yearly prices on the same product.
For developers
Read the request. Send it. Watch the webhook.
The API is a provisional contract proposal, documented in the open: cURL and fetch examples, idempotency keys and signed webhooks. Nothing here calls a real server.
curl -X POST https://api.krokopay.app/v1/charges \ -H "Authorization: Bearer kp_test_sk_4f9a2c7e1b8d4a6f9c3e5d7b" \ -H "Idempotency-Key: order_1042" \ -H "Content-Type: application/json" \ -d '{ "amount": 49700, "currency": "BRL", "description": "Curso Identidade Visual do Zero", "customer_id": "cus_8Hq2LmZr4TxN1a", "methods": [ "pix", "card" ] }'{ "id": "chg_9Qs5MbT2kXn8Vd", "object": "charge", "amount": 49700, "currency": "BRL", "status": "pending", "method": null, "card": null, "description": "Curso Identidade Visual do Zero", "customer_id": "cus_8Hq2LmZr4TxN1a", "product_id": "prod_3Vb7QpK9sWd2Ee", "price_id": "price_5Kd1NcR8vYq3Hm", "link_id": null, "subscription_id": null, "refunded_amount": 0, "failure_code": null, "created_at": "2026-11-03T18:40:00.000Z", "paid_at": null, "expires_at": null, "available_at": null, "checkout_url": "https://krokopay.app/pay/chg_9Qs5MbT2kXn8Vd"}Press “Send test request” to simulate the customer paying and the charge.paid event arriving at your endpoint.
- Provisional API contract proposal — not an operational endpoint.
- Payloads abridged for this example.
- Simulated in your browser. Nothing is sent over the network.
Webhook deliveries
A delivery that fails stays in the log with its HTTP status and can be sent again. Make your handler accept the same event twice.
Webhook deliveries
Endpointhttps://example.com/webhooks/krokopay
- HTTP 200
payout.paidpo_6Jm3XcV9qLs1NdAttempt 187 msDelivered02:00 PM - HTTP 200
charge.failedchg_7Lc3PvN8yHd2WsAttempt 1111 msDelivered01:02 PM - HTTP 200
subscription.renewedsub_5Hn2RtK8wPz4BqAttempt 198 msDelivered12:00 PM - HTTP 200
charge.paidRetrychg_9Qs5MbT2kXn8VdAttempt 2126 msDelivered11:24 AM - HTTP 500
charge.paidchg_9Qs5MbT2kXn8VdAttempt 1318 msFailed11:23 AM - HTTP 200
charge.createdchg_9Qs5MbT2kXn8VdAttempt 1142 msDelivered11:21 AM
Times shown are demo values, not commercial terms.
Test keys
Test modeThese are the example keys from the docs. Your own test keys appear in the dashboard after you create an account.
kp_test_pk_8b1d3f5a7c9e2b4d6f8a0c2eHidden valueHidden valueDashboard
Every charge in one place.
Payments from the API, from links and from subscriptions sit side by side, with customers, balance, payouts and the webhook log for your team.
- Filter payments by status, method and period
- Refunds and payouts with a clear history
- Keys, webhooks and API logs in one tab
Address: krokopay.app/dashboard
Overview
Last 14 days
Gross volume
| Date | Gross volume per day over the last 14 days |
|---|---|
| Oct 21 | R$618 |
| Oct 22 | R$497 |
| Oct 23 | R$874 |
| Oct 24 | R$723 |
| Oct 25 | R$308 |
| Oct 26 | R$248 |
| Oct 27 | R$966 |
| Oct 28 | R$1.1K |
| Oct 29 | R$841 |
| Oct 30 | R$1.3K |
| Oct 31 | R$697 |
| Nov 1 | R$456 |
| Nov 2 | R$1.4K |
| Nov 3 | R$1.5K |
Recent payments
- Curso Identidade Visual do ZeroNot chosen yetR$497.00Pending
- Curso Identidade Visual do ZeroVisa ending in 0002R$497.00Failed
- Curso Identidade Visual do ZeroPixR$497.00Paid
- Clube Jacarandá — MensalMastercard ending in 5100R$49.00Paid
Fictional data. The preview shows gross amounts only; fees and payout terms are still to be announced.
How it works
From account to first paid charge.
Three steps, all of them in test mode first. You only move to live mode when you are ready.
Create your account
Your test keys are ready in the dashboard as soon as you sign up.
Create a charge
With one API call, a payment link or straight from the dashboard. The payer gets the hosted checkout.
Get paid and get notified
The payer pays by Pix or card, the charge turns paid and charge.paid reaches your endpoint.
Live mode activation: requirements and commercial terms are to be announced.
Create accountSolutions
Built for how you sell.
The same platform, arranged around four ways of doing business.
Pricing
Terms are still being defined.
We won't print numbers we can't stand behind. Fees, payout terms and limits will be published here and on the pricing page before live mode opens.
Commercial terms
Provisional- Pix fee
- To be announced
- Card fee
- To be announced
- Payout terms
- To be announced
- Monthly fee
- To be announced
Test mode in this demo: nothing is charged
What KrokoPay is
- A payments platform with its own checkout
- An API described as a provisional contract proposal
- A demonstration today: every payment on this site is fictional
What KrokoPay isn't
- A bank or a licensed financial institution
- An acquirer
- A merchant of record
Questions before you start
Straight answers, including what is still undefined.
Start with a test charge, not a sales call.
Create an account, copy your test keys and send your first charge. Live mode and commercial terms will be announced.
No real payment is made.
