Keys that start with sk_test_ run everything against test money. The key decides the environment, and every object carries livemode. The base URL is the same as live, https://api.ketapay.com/v1. Get a test key in the business dashboard: switch it to Test and create one in Settings > API keys. No account yet? Use the public key on the Playground.

What’s different in test mode

No codes are sent

Every one-time code is 123456. Other emails your test deals cause go out with [TEST] in the subject.

Pay from code

Fund a session with the test helper, exactly like a real payment, without opening the checkout.

Move escrows on

Simulate what the buyer, seller or KetaPay would do, and get the same webhooks.

Payouts that fail

Test payout accounts succeed or fail on purpose, so you can handle payout.failed.
Test helpers return 404 test_mode_only with a live key.

One-time codes

Paying a checkout session

After a payment, Test again on the checkout makes a copy of the same session to pay again.

Payout accounts

Moving an escrow

POST /test_helpers/escrows/{id}/simulate does what the buyer, the seller or KetaPay would do, and sends the same webhooks.

Going live

Live keys (sk_live_) move real money. They’re issued once your business is verified in the dashboard, and nothing else in your code changes. Work through the go-live checklist first.