1. Definitions
Almara Pay Documentation
  • Introduction
  • Definitions
    • Data Types
    • Error Codes
    • MCCMNC Codes
  • Authorization
    • Overview
    • Token Request
      POST
    • Find Transaction Routes
      GET
    • Health Check
      GET
  • Payouts
    • Overview
    • Payment Order Request Information
    • Mobile Money Requests
      • Overview
      • Mobile Transfers- Safaricom (M-Pesa)
      • Mobile Transfers - Airtel Money
    • Payment Order Requests - Business Transfers
      POST
    • Payment Order Requests - Bank Transfers
      POST
    • Find Payment Order By OriginatorConversationId
      GET
    • Reject Order By OriginatorConversationId
      POST
  • Pay-Ins
    • Payment Links
      • Overview
      • Create Payment Link
      • Find Payment Links By Id
      • Update Payment Link
    • Express Deposits
      • Overview
      • Express Deposit Request
      • Find Express Deposit By OriginatorConversationId
    • C2B IPN (Callback)
      • C2B IPN Overview
  • Card Payments
    • Overview
    • Checkout Order Request
      POST
    • Query Checkout Request
      GET
    • Checkout Callback Request
      POST
  • Account Validation
    • Overview
    • Account Number Validation Request
      POST
    • Find KYC Status by SystemTraceAuditNumber
      GET
    • Account Validation
      POST
    • Find Account Validation Status by SystemTraceAuditNumber
      GET
  • Platform Services
    • Airtime Purchase
      • Overview
      • Airtime Purchase
      • Find Airtime Purchases By OriginatorConversationId
    • Customer Accounts
      • Balance Check
      • Find Charges By TransactionTypeId
    • Bill Payments
      • Overview
      • Bill Request Validation
      • Bill Request Payment
      • Find Bill Services
      • Find Bill Number By Service Id and Account Number
      • Find Bill Request By Originator Converstion Id
      • Bill Number
  1. Definitions

Data Types

📝 Data Definition for Payment Orders#

This table defines the mandatory and optional fields required for a payment order request.

These include supported Currencies, Channel Types, Category Types, Transaction Status Types and Field Definitions
Field NameData TypeMax LengthStateDescription
originatorConversationIdstring100MandatoryUnique identifier for the transaction.
paymentNotesstring255MandatoryNotes related to the payment.
remitterNamestring128MandatorySender's full name.
remitterAddressstring128MandatorySender's address.
remitterPhoneNumberstring13MandatorySender's phone number.
remitterIdTypestring13MandatoryType of sender's ID (e.g., National ID).
remitterIdNumberstring13MandatorySender's ID number.
remitterCountrystring50MandatorySender's country.
remitterCCYstring3MandatorySender's currency code.
remitterNationalitystring64MandatorySender's nationality.
remitterIdIssuePlacestring64OptionalPlace of ID issuance.
remitterIdIssueDatestring64OptionalDate of ID issuance.
remitterIdExpiryDatestring64OptionalDate of ID expiry.
recipientNamestring64MandatoryRecipient's full name.
remitterFinancialInstitutionstring64MandatorySender's financial institution.
remitterSourceOfFundsstring64MandatorySource of the sender's funds.
remitterPrincipalActivitystring64MandatorySender's principal activity/occupation.
remitterDateOfBirthstring64MandatorySender's date of birth.
recipientAddressstring64OptionalRecipient's address.
recipientEmailAddressstring64OptionalRecipient's email address.
recipientPhoneNumberstring13MandatoryRecipient's phone number.
recipientMCCMNCinteger6Required Mobile onlyMobile Country Code/Mobile Network Code.
recipientInstitutionIdentifierstring6Optional (Only for Mobile)Recipient's institution identifier.
recipientPrimaryAccountNumberstring50MandatoryRecipient's account number (e.g., mobile number).
recipientCCYinteger6MandatoryRecipient's currency code.
recipientCountrystring3MandatoryRecipient's country code.
recipientIdTypestring3MandatoryRecipient's ID type.
recipientIdNumberstring3MandatoryRecipient's ID number.
recipientPurposestring3MandatoryPurpose of the transaction.
transactionRouteIdguid6MandatoryThe ID of the transaction route.
transactionAmountdecimal6MandatoryThe amount of the transaction.
transactionChannelTypeinteger6MandatoryThe channel type of the transaction.
transactionReferencestring100MandatoryReference for the transaction.
transactionSystemTraceAudiNumberstring50MandatorySystem Trace Audit Number.
transactionCustomerAccountNostring50OptionalCustomer Account Number.
Name Specification Note: The recipient and remitter names must adhere to the following specifications:
1.
Should contain at least two names.
2.
No capturing of initials.
3.
No input of numbers.
4.
A single space should be used between the names.

📊 Reference Codes#

Transaction Status Types#

Reference for the transactionStatus field on the Transfers callback payload.
TypeDescription
0Pending
1Queued
2Submitted
3Submit Acknowledged
4Success
6Failed
7Rejected
8Timed Out

Category Types#

Reference for the category field from the Find Transaction Routes request. Describes the transaction type for a particular route.
TypeDescription
0Mobile Wallet Transfer
1Bank Transfer
4Bill Payments
6Business Transfers

Channel Types#

Reference for the channel field from the Find Transaction Routes request. Describes the available transaction routes.
TypeDescription
1Mpesa
2Pesalink
3EFT
4RTGS
6B2B
8Bill Payments
13Business Buy Goods
14Business PayBill
15Business Deposit
16Business To Business Transfer
17Business Transfer From MMF To Utility
18Business Transfer From Utility To MMF
19Express Bank Transfer (via Paybill)
23Business PayBill

Currencies#

The API supports the following currencies:
NameCodeDescription
Kenyan Shillings404KES
Naira566NGN
Ghana Cedi936GHS
Tanzanian Shilling834TZS
Ugandan Shilling800UGX
U.S. Dollar (For Liberia)840USD
United Arab Emirates dirham784AED
Modified at 2026-04-30 05:53:25
Previous
Introduction
Next
Error Codes
Built with