Account validation

The account validation APIs allow merchants to confirm the authenticity of a beneficiary's account number before sending money to the customer.

Introduction

Before creating a beneficiary, you need to ensure the customer’s account details are correct. This is to ensure you aren’t sending money to the wrong person. In order to achieve this, we provide the following APIs:

NameCountriesDescription
Resolve Account NumberNigeria, GhanaUsed for the confirmation of personal bank accounts

Account number verification allows you to:

  • Confirm a customer’s bank details before creating a transfer recipient
  • Automate your KYC process

Resolve Account Number

The Resolve Account Number API takes the customer’s account number, bank code, and country code and returns the account details of the customer. To resolve an account number, make a GET request to the /accounts/banks/validate endpoint:

curl --request POST \
     --url https://api.waza.co/api/accounts/banks/validate \
     --header 'accept: application/json' \
     --header 'x-waza-key: your-api-key' \
     --header 'content-type: application/json'
     --data '
{
     "code": "044",
     "accountNumber": "0001234567",
     "accountName": "Johnny Depp",
     "countryCode": "NGA"
}
'
const https = require('https')

const params = JSON.stringify({
     "code": "044",
     "accountNumber": "0001234567",
		 "accountName": "Johnny Depp"
     "countryCode": "NGA"
})

const options = {
  hostname: 'api.waza.co',
  port: 443,
  path: '/api/accounts/banks/validate',
  method: 'POST',
  headers: {
    'x-waza-key': 'YOUR-API-KEY',
    'Content-Type': 'application/json'
  }
}

const req = https.request(options, res => {
  let data = ''

  res.on('data', (chunk) => {
    data += chunk
  });

  res.on('end', () => {
    console.log(JSON.parse(data))
  })
}).on('error', error => {
  console.error(error)
})

req.write(params)
req.end()

A successful account resolve should return:

{
    "status": "success",
    "message": "Account validated successfully.",
    "data": {
        "statusCode": "01",
        "accountNumber": "0001234567",
        "accountName": "Johnny Depp",
        "isVerified": true,
        "verifiedName": "Jack Sparrow"
    }
}

Resolve Mobile Money Number

The Resolve Mobile Money Number API takes the customer’s account number, bank code, and country code and returns the account details of the customer. To resolve an account number, make a GET request to the /accounts/mobile/validate endpoint:

curl --request POST \
     --url https://api.waza.co/api/accounts/mobile/validate \
     --header 'accept: application/json' \
     --header 'x-waza-key: your-api-key' \
     --header 'content-type: application/json'
     --data '
{
     "network": "MTN",
     "phoneNumber": "233123345832",
     "accountName": "Sylvester Stallone",
     "countryCode": "GHA"
}
'
const https = require('https')

const params = JSON.stringify({
     "network": "MTN",
     "phoneNumber": "233123345832",
	 	 "accountName": "Sylvester Stallone",
     "countryCode": "GHA"
})

const options = {
  hostname: 'api.waza.co',
  port: 443,
  path: '/api/accounts/mobile/validate',
  method: 'POST',
  headers: {
    'x-waza-key': 'YOUR-API-KEY',
    'Content-Type': 'application/json'
  }
}

const req = https.request(options, res => {
  let data = ''

  res.on('data', (chunk) => {
    data += chunk
  });

  res.on('end', () => {
    console.log(JSON.parse(data))
  })
}).on('error', error => {
  console.error(error)
})

req.write(params)
req.end()

A successful account resolve should return:

{
    "status": "success",
    "message": "Account validated successfully.",
    "data": {
        "network": "MTN",
        "statusCode": "01",
        "phoneNumber": "233123345832",
        "accountName": "Sylvester Stallone",
        "isVerified": true,
        "verifiedName": "Rambo"
    }
}