Environments
One integration, two keys. The key you send decides whether money actually moves.
A single URL
The API has one address, identical in test and production. You never change a URL between your trials and your launch.
Base URL
https://test.admin.kpay.siteNothing to reconfigure
Going live means swapping one key. The rest of your code stays put.
The two keys
Each application gets one key pair per environment. The prefix tells you which one you are using.
Test
kpay_test_…
Simulated payments, test wallet, no real money. Verification caps do not apply.
Production
kpay_live_…
Real payments with the operators: the customer is charged and funds land in your wallet.
Never mix your keys
A production key charges for real from the very first call. Check the prefix before every test run.
What separates the two worlds
The two environments never touch. In practice:
- Each application has a test wallet and a production wallet, with separate balances.
- Money earned in test can never be withdrawn.
- Caps tied to your verification level apply in production only.
- Every transaction carries an `isTest` field, all the way through to webhooks.
How the outcome is decided
In test, no operator is called: the data you supply determines the outcome.
- Mobile Money: the phone number decides (success, failure, or a transaction left in progress).
- Card: the customer lands on our test payment page, where the card number entered decides.
Where to find this data
Test numbers and cards are gathered on the Test data page.
Going live
Once your tests pass:
- Get your verification file approved from your dashboard.
- Swap your test keys for production keys.
- Check that your webhook and return URLs point to your real domain.
- Take one small real payment before opening up traffic.
Related resources
Was this page helpful?