Welcome to the Transactpay API — your toolkit for building fast, secure, and flexible payment solutions.
Use our APIs to accept payments, process payouts, manage transactions, and receive real-time updates through webhooks.
What Can You Do?
With the Transactpay API, you can:
- Accept payments via Accept payments via cards, bank transfers, QR codes, and Mobile Money
- Send payouts — individually or in bulk — to bank accounts or wallets
- Access transaction details and verify payment and payout statuses
- Subscribe to webhooks for events like payments and payouts
Before You Start
PrerequisiteYou need a Transactpay account to access the API.👉 Create one here
Once registered:
- Log in to the Dashboard
- Go to
Settings > API Keys & Webhooks - Copy your API keys to get started
Authentication
Transactpay authenticates API requests using an api-key header.
Depending on the endpoint, you may need to use your Public Key or Secret Key. Refer to the authentication requirements on each endpoint for the appropriate key.
api-key: YOUR_API_KEY
Security Warning
- Never expose your Secret Key in client-side code
- Never commit it to Git or public repositories
- Store it securely in environment variables
Sandbox: Test Without Real Money
Test EnvironmentUse the sandbox to simulate requests and test integrations without real transactions.
Sandbox base URL:
https://payment-api-service.transactpay.ai- Use test API keys (found in your dashboard)
- Simulate full payment and payout flows
- Test error handling and webhook delivery
API Basics
HTTP Methods
| Method | Purpose |
|---|---|
GET | Fetch data |
POST | Create new records |
PUT | Update existing items |
DELETE | Remove data |
Request Format
All requests should:
- Include an
api-keyheader with your Public or Secret Key - Include
Content-Type: application/jsonin headers - Use a JSON-formatted request body
Example:
POST /invoice
api-key: YOUR_PUBLIC_KEY or YOUR_SECRET_KEY
Content-Type: application/jsonResponse Format
Successful responses follow this structure:
{
"data": {},
"status": "success",
"statusCode": "00",
"message": "..."
}On failure:
{
"status": false,
"message": "Invalid input",
"errors": {
"field_name": "Error description"
}
}Rate Limiting
Rate Limit PolicyExcessive requests will return a
429 Too Many Requestserror. Use retries and exponential backoff in your implementation.
Webhooks
Stay informed in real time by subscribing to webhooks for:
- ✅ Payment success/failure
- 💸 Payout completion or failure
- 🔁 Other supported transaction events
See Setting Up Webhooks for configuration and sample payloads.
Next Steps
Start exploring the API:
Need Help?Contact Support or join the Developer Community for help and updates.
