Payouts

TransactPay’s Payouts API enables fast, secure disbursements to bank accounts. It includes tools to validate recipients, initiate payments (single or bulk), and track payout status.


🔍 1. Name Enquiry – Validate Recipient Account

Use this endpoint to verify a recipient’s account name before sending money.

  • Method: POST

  • Endpoint:

    https://payment-api-service.transactpay.ai/payout/name-enquiry

🛠 Required Headers

HeaderTypeRequiredDescription
api-keystring✅ YesYour Transactpay public API key
encryptionstring✅ YesUse RSA (PKCS#1 v1.5) to encrypt data

📦 Sample Payload for NGN

{
  "bankCode": "000033", //6 digit NIP Bank Code
  "accountNumber": "0000000000"
}

✅ Sample Response for NGN

{
    "bankCode": "000033",
    "accountNumber": "0000000000",
    "accountName": "ACCOUNT NAME"
}

📦 Sample Payload for KES

{
  "bankCode": "MPESA", 
  "accountNumber": "+254123456789"
}

✅ Sample Response for KES

{
    "bankCode": "MPESA",
    "accountNumber": "254123456789",
    "accountName": "ACCOUNT NAME"
}
⚠️

Note:

Ensure the payload is encrypted using RSA/PKCS#1 v1.5.


🚀 2. Initiate Payout – Send Money to Bank Account(s)

This endpoint allows single or multiple payouts in one request.

  • Method: POST

  • Endpoint:

    https://payment-api-service.transactpay.ai/payout/initiate

📦 Sample Payload for NGN Payouts

{
    "payoutDetails": [
        {
            "clientReference": "yourReference", //for merchant reference
            "accountNumber": "0000000000",
            "bankCode": "000033", //6 digit NIP Bank Code
            "amount": 5000,
            "description": "Vendor Payment",
            "accountName": "John Doe",
            "creditCurrency": "NGN",
            "debitCurrency": "NGN"
        }
    ]
}

📦 Sample Payload for KES Payouts

{
    "payoutDetails": [
        {
            "clientReference": "YourReference", //for merchant reference
            "accountNumber": "254111111111",
            "bankCode": "KES",
            "amount": 5000,
            "description": "Vendor Payment",
            "accountName": "John Doe",
            "creditCurrency": "KES",
            "debitCurrency": "KES"
        }
    ]
}

📦 Sample Payload for GHS Payout

{
    "payoutDetails": [
        {
            "clientReference": "YourReference", //for merchant reference
            "accountNumber": "0240000000",
            "bankCode": "GHS",
            "amount": 5000,
            "description": "Vendor Payment",
            "accountName": "John Doe",
            "creditCurrency": "GHS",
            "debitCurrency": "GHS"
        }
    ]
}
ℹ️

GHS Payout Providers

Use the following codes when initiating payouts in Ghanaian Cedis (GHS).

CodeProvider NameDescription
MTNMTN Mobile MoneyMTN Ghana mobile money wallet
VODTelecel Cash (formerly Vodafone Cash)Telecel Ghana mobile money wallet
ATMAirtelTigo MoneyAirtelTigo mobile money wallet


✅ Sample Response

{
    "data": [
        {
            "accountName": "John Doe",
            "accountNumber": "0000000000",
            "bankCode": "000033",
            "bankId": 0,
            "amount": 5000.0,
            "description": "Payout Description",
            "category": null,
            "payoutReference": "PGW-PAYOUT-123BFF4569804335B4E649FAB51F3D42",
            "creditCurrency": "NGN",
            "debitCurrency": "NGN",
            "beneficiayAddress": null
        }
    ],
    "batchId": 13726,
    "batchReference": "PGW-BATCH-1A238E91B41230A4A9C080456E805B79",
    "status": "success",
    "statusCode": "00",
    "message": "Your payout has been logged for processing"
}
👍

Supports bulk disbursements using multiple objects in payoutDetails.


🔄 3. Payload Status – Track Payout Progress

Use this endpoint to check the status of a previously submitted payout.

  • Method: GET

  • Header Value: Your-Secret-Key

  • Endpoint Format:

    https://payment-api-service.transactpay.ai/payout/requery?clientReference=yourReference

Replace {yourReference} with the actual reference from the initiate response.

✅ Sample Response

{
    "message": "Payout details received successfully",
    "code": "00",
    "status": true,
    "data": {
        "accountNumber": "0000000000",
        "accountName": "John Doe",
        "bankName": "Transactpay Bank",
        "providerReference": "999999200617171025595259900000",
        "amount": 5000.00,
        "responseMessage": "Transaction successful",
        "responseCode": "00",
        "clientReference": "yourReference",
        "status": "Successful"
    }
}

Best Practice:

Always verify the status before confirming success in your application.