Introduction

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

🛠️

Prerequisite

You need a Transactpay account to access the API.👉 Create one here

Once registered:

  1. Log in to the Dashboard
  2. Go to Settings > API Keys & Webhooks
  3. 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 Environment

Use 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
⚠️

Note:

Sandbox and Live API keys are not interchangeable.


API Basics

HTTP Methods

MethodPurpose
GETFetch data
POSTCreate new records
PUTUpdate existing items
DELETERemove data

Request Format

All requests should:

  • Include an api-key header with your Public or Secret Key
  • Include Content-Type: application/json in headers
  • Use a JSON-formatted request body

Example:

POST /invoice
api-key: YOUR_PUBLIC_KEY or YOUR_SECRET_KEY
Content-Type: application/json

Response 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 Policy

Excessive requests will return a 429 Too Many Requests error. 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.