API Explorer
Send Money
RTGS

To Mobile Wallets

Test URL

POSThttps://uat.finserve.africa/v3-apis/transaction-api/v3.0/remittance/rtgs

Live URL

POSThttps://api.finserve.africa/v3-apis/transaction-api/v3.0/remittance/rtgs

The Real Time Gross Settlement (RTGS) web-service enables an application to send money intra-country to other bank accounts.

❗️ CDD - KYC & CFT

In line with various banking regulations your send money transaction will be subjected to various verifications and you may be required to provide additional information.

🚧 Transaction Time

RTGS is available on weekdays between 9am and 3pm. If you send after these hours, your transaction will be queued and sent at the next available transaction window.

RTGS Remittance Request Fields

FieldTypeDescription
Source Fields
countryCodestringThe country code of the sender's bank account (e.g., "KE", "UG").
currencystringThe currency of the sender's account (e.g., "KES", "UGX").
namestringThe full name of the account holder (e.g., "John Doe").
accountNumberstringThe sender's bank account number (e.g., "0020100014605").
Destination Fields
typestringThe type of destination (e.g., "bank").
countryCodestringThe country code for the recipient's bank account (e.g., "KE").
namestringThe full name of the recipient (e.g., "Herr Sergius").
bankCodestringThe bank code of the recipient's bank (e.g., "61").
accountNumberstringThe recipient's bank account number (e.g., "1100194977404").
Transfer Fields
typestringThe type of transfer (e.g., "RTGS").
amountstringThe amount of money to be transferred (e.g., "200").
currencyCodestringThe currency code for the transfer amount (e.g., "KES").
referencestringA unique reference identifier for the transaction (e.g., "16110014834489833").
datestringThe date of the transaction (YYYY-MM-DD format, e.g., "2023-10-13").
descriptionstringAdditional remarks about the transaction (e.g., "Some remarks here").
purposeOfPaymentCodestringCode indicating the purpose of the payment (e.g., "OTHR").
Headers
AuthorizationstringBearer token for authentication (replace {access_token} with a valid token).
Content-TypestringMedia type of the resource (should be application/json).
signaturestringA cryptographic signature for request integrity.

200 Success Response Schema

Field NameField TypeField Description
transactionIdstringunique transaction id
statusstringtransaction status

Example Request

⚠️

In the example below, please remember to replace the variables enclosed within curly brackets {{ }} with the actual values.

Signature Formulae
transfer.reference+transfer.date+source.accountNumber+destination.accountNumber+transfer.amount
Example Request
curl -X POST \
	-d '{
            "source": {
                "countryCode": "KE",
                "currency":"KES",
                "name": "John Doe",
                "accountNumber": "0020100014605"
            },
            "destination": {
                "type": "bank",
                "countryCode": "KE",
                "name": "David Mwangi",
                "bankCode": "61",
                "accountNumber": "1100194977404"
            },
            "transfer": {
                "type": "RTGS",
                "amount": "200",
                "currencyCode": "KES",
                "reference": "16110014834489833",
                "date": "2023-10-13",
                "description": "Some remarks here",
                "purposeOfPaymentCode": "OTHR"
                }
        }'  \
	-H 'Authorization: Bearer {access_token}'  \
	-H 'Content-Type: application/json'  \
	-H 'signature: e967CLKebZyLfa73/YYltjW5M4cHoyWeHi/5VDKJ64gOwKBvzHJRqJJrBBc34v2m4jyKkDMBtfRJeFlxbNisMAeBtkw0TRcD2LThFK27EOqLM3m8rQYa+7CJ2FhPhK+iOa4RUY+vTfkRX5JXuqOW7a3GHds8qyPaPe19cKUY33eAJL3upXnGnA3/PEhzjhb0pqk2zCI7aRzvjjVUGwUdT6LO73NVhDSWvGpLEsP0dH/stC5BoTPNNt9nY8yvGUPV7fmaPSIFn68W4L04WgePQdYkmD1UPApGcrl+L2ALY3lPaRfI6/N+0Y3NIWQyLgix+69k7V4EGolqejWdion+9A=='  \
	-L 'https://uat.finserve.africa/v3-apis/transaction-api/v3.0/remittance'

Example Response

Example Response
{
    "status": true,
    "code": 0,
    "message": "success",
    "reference": "16110014834489833",
    "data": {
        "transactionId": "16110014834489833",
        "status": "SUCCESS"
    }
}

🚀 RTGS Payment Purpose

📥 GET /v3.0/rtgs/paymentPurpose
📋 Overview

This endpoint retrieves the purposes for RTGS (Real-Time Gross Settlement) payments.

🛠️ Request

🌐 Live url

GEThttps://api.finserve.africa/v3-apis/transaction-api/v3.0/rtgs/paymentPurpose

🔗 Test url

GEThttps://uat.finserve.africa/v3-apis/transaction-api/v3.0/rtgs/paymentPurpose
🔍 Response Fields Description
FieldDescription
statusIndicates the success of the request (true for success).
codeHTTP status code (200 for success).
messageDescriptive message of the response.
dataAn array containing the different RTGS payment purposes:
- code: A short identifier for the payment purpose.
- value: The full description of the payment purpose.

Sample Response
Payment purpose response
{
    "status": true,
    "code": 200,
    "message": "Success",
    "data": [
        {
            "code": "CUR/DEP",
            "value": "CASH DEPOSITS"
        },
        {
            "code": "CUR/WIT",
            "value": "CASH WITHDRAWALS"
        },
        {
            "code": "CSDK",
            "value": "Central Security Depository Payments"
        },
        {
            "code": "OTHR",
            "value": "Other"
        }
    ]
}