ALAT Closed Wallet API
Introduction
Our closed wallet system provides an end-to-end solution for remittances. It enables agents pay daily sales proceeds to their betting merchants. It can be accessed using mobile and USSD payment variations.
The Closed Wallet Solution works for merchants intending to manage transactional wallets for their customers. Merchants can create and better manage the flow of funds across wallets.
Note:
Merchants are expected to be onboarded before they are able to make valid calls to this API. Kindly contact your liaison to the bank for this.
Authorization Header
Header Name
Description
Value
Authorization
Token generated for respective clients/merchants by Wema Bank.
As shared by Wema Bank.
Note:
Every request to the API must come with a token
in the authorization header. In view of this you are expected to have gotten your token from the Bank.
Security - Validate PIN
This endpoint is used as a means for validating the user. Users are not restricted from having wallets with multiple merchants. Thus, merchants are advised to perform this validation before granting access to their closed wallet systems.
{baseUrl}/api/Security/ValidatePin
{
"pin": "string",
"phoneNumber": "string"
}
The expected Response is a
SUCCESS.
Security - Forgot PIN
The merchant calls this endpoint when users intend to reset their PIN, after which the ResetPIN
endpoint is called.
A code
would be sent to the customers phone number tied to their wallet.
{baseUrl}/api/Security/ForgotPin
{
"phoneNumber": "string"
}
The expected Response is a
SUCCESS.
Security - Reset PIN
This endpoint is called after initiating the request using the ForgotPIN
endpoint. Customers are expected to provide the code
sent to their phone number from calling the ForgotPIN
endpoint.
{baseUrl}/api/Security/ResetPin
{
"pin": "string",
"phoneNumber": "string",
"code": "string"
}
The expected Response is a
SUCCESS.
Security - Change PIN
The merchant calls this endpoint when their users intend to change their transaction PIN.
{baseUrl}/api/Security/ChangePin
{
"oldPin": "sting",
"newPin": "string",
"phoneNumber": "string"
}
The expected Response is a
SUCCESS.
Wallet - Create Wallet
This endpoint is used by merchants to create/add new wallets to their closed wallet system.
|{baseUrl}/api/Wallets/CreateWallet
|{baseUrl}/api/WalletsV2/CreateSuperAgentWallet
|{baseUrl}/api/WalletsV2/CreateSubAgentWallet
{
"phoneNumber": "string",
"name": "string",
"email": "string",
"walletType": 0,
"accountNumber": "string",
"principalAgentWalletNo": "string",
"pin": "string"
}
Depending on the user category, the value for the walletType
parameter can be any one of the following:
SuperAgent = 1,
Agent = 2,
SubAgent = 3,
Customer = 4
Other things to note:
The
principalAgentWalletNo
belongs to thesuperAgent
, who in this case is the merchant creating the closed wallet system. As a result, when calling theCreateSuperAgentWallet
endpoint, it can be made empty.When calling the
CreateWallet
andCreateSubAgentWallet
, theprincipalAgentWalletNo
must provided for proper mapping.The wallet generated wallet generated must be mapped to an existing Wema/ALAT account, thus the value of the
accountNumber
parameter must be provided.
Wallet - Get Balance
This is a GET request for the retrieval of the balance in any given wallet. It accepts the query parameter, walletNumber.
{baseUrl}/api/WalletsV2/GetBalance[?walletNumber]
Wallet - Get Wallet Details
This is a GET request for the retrieval of the details of a given wallet ID. It accepts the query parameter, walletNumber
.
{baseUrl}/api/WalletsV2/WalletDetails[?walletNumber]
Expected Response
{
"phoneNumber": "string",
"walletNumber": "string",
"balance": "string",
"email": "string",
"name": "string",
"accountNumber": "string",
"status": "string"
}
Wallet - GetSubAgentsBySuperAgents
This is a GET request to fetch a list of sub-agents mapped to a specific super-agent or merchant. It accepts the query parameter, phoneNumber
of the superAgent
.
{baseUrl}/api/WalletsV2/GetSubAgentsBySuperAgent[?phoneNUmber]