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.

Specification Details

This service supports only REST requests.

Go to API Reference.

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 aSUCCESS.

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 aSUCCESS.

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 aSUCCESS.

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 aSUCCESS.

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:

  1. The principalAgentWalletNobelongs to the superAgent, who in this case is the merchant creating the closed wallet system. As a result, when calling the CreateSuperAgentWallet endpoint, it can be made empty.

  2. When calling the CreateWallet and CreateSubAgentWallet, the principalAgentWalletNo must provided for proper mapping.

  3. 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]

Go to API Reference

Click here to view the Closed Wallet API.