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": "MTN",
            "amount": 5000,
            "description": "Vendor Payment",
            "accountName": "John Doe",
            "creditCurrency": "GHS",
            "debitCurrency": "GHS"
        }
    ]
}

📦 Sample Payload for XOF Payout

📘

XOF Account Number Format

For XOF payouts, the accountNumber must not include the country calling code.

For example, if the full phone number is 22612345678, send only the local account number:

{
  "accountNumber": "012345678"
}

Do not send:

{
  "accountNumber": "22612345678"
}

The accountNumber should contain the local recipient number without the country calling code.

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

Payout Providers

GHS

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

XOF

Use the following provider codes when initiating payouts in West African CFA Franc (XOF).

CountryProvider CodeProvider Name
Benin286MTN Benin
Benin418Moov Benin
Burkina Faso238Moov Burkina Faso
Burkina Faso240Orange Burkina Faso
Côte d’Ivoire432MTN Côte d’Ivoire
Côte d’Ivoire434Moov Côte d’Ivoire
Côte d’Ivoire430Orange Côte d’Ivoire
Côte d’Ivoire428Wave Côte d’Ivoire
Mali354Moov Mali
Mali352Orange Mali
Senegal340Mix Senegal
Senegal620Orange Money Senegal
Senegal618Wave Senegal
Togo164TMoney Togo

✅ Sample Response

{
    "data": [
        {
            "accountName": "John Doe",
            "accountNumber": "0000000000",
            "bankCode": "000033",
            "bankId": 0,
            "amount": 5000.0,
            "description": "Vendor Payment",
            "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.