Transactions
Transactions are the core collection records in Kyshi. Use them when you want to initialize checkout, create a bank-transfer charge, verify payment status, or reconcile collections from your backend.
Recommended Flow
- Initialize a transaction from your server with
POST /v1/transactions/initialize. - Send the customer to the returned checkout URL.
- Listen for your webhook so your system is updated automatically.
- Verify the transaction by reference before giving value to the customer.
- Reconcile periodically with transaction history.
When To Use Transactions
Use Transactions when your application controls the order or invoice and needs a one-time payment result. Your backend creates the payment request, Kyshi returns the payment instructions or checkout URL, and your system verifies the final status before fulfilling the order.
Choosing Amount Currency
Use amountCurrency to tell Kyshi what the amount means.
| Value | Use When |
|---|---|
settlement | You price in your settlement currency and want Kyshi to convert to the customer's local currency. |
local | You already know the exact amount the customer should pay in localCurrency. |
Integration Notes
- Send amounts in major currency units, for example
1000for1000 NGN. - Use your own unique
referencewhen you need to reconcile against your order ID. - Always verify the transaction server-side after checkout or webhook receipt.
- Keep your secret key on your server. Do not initialize payments directly from a browser or mobile app.
- Treat webhooks as real-time notification and verification endpoints as final confirmation.
For exact request and response schemas, see Reference > Transactions.
Updated 2 days ago
