Onboarding

Setup and get started easily

To onboard as a POS service owner, you would need to signup on via the mobile App. You can find the Flutterwave POS app at this link.

Once you have completed signup, your credentials will enable you access the APIs below.

  1. Login

  2. Get Account Profile and Balance

  3. Initiate Transfer

  4. Initiate Bills Payments

  5. Receive Notification on balance activity

Login

The Login API accepts valid credentials and returns an access token. This token is passed as authorization in the request header for subsequent requests. Tokens last for 1 hour before expiry.

Login

POST https://staging.moneywaveapp.com/app/v1/auth

Returns authorization token

Request Body

NameTypeDescription

identifier*

String

Email or username

password*

String

Password credential

device_id*

String

Device ID

{
    "status": "success",
    "data": {
        "name": "test user",
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTE2OTgsImlhdCI6MTY2OTA1Mzc0MCwiZXhwIjoxNjY5MDYwOTQwfQ.ZrK65oDZ4vAIpdQv-3--yxJ0_wH-gFk_oc_5grgYvm0",
    }
}

Account Profile & Balance

The Profile API returns key information about your account and also the current balance.

Fetch Profile

POST https://staging.moneywaveapp.com/app/v1/me

Returns Profile and Balance

Headers

NameTypeDescription

Authorization*

String

Authorization token

{
    "status": "success",
    "data": {
        "user": {
            "id": 11698,
            "name": "test user",
            "email": "test user@email.com",
            "phonenumber": "08011122233"
        },
        "transactions": [],
        "wallet": {
            "Naira Wallet": {
                "id": 22,
                "name": "Naira Wallet",
                "balance": 4880,
                "enabled": true,
                "currency": "NGN",
                "createdAt": "2020-06-11T18:11:01.000Z",
                "updatedAt": "2022-11-15T12:36:27.000Z",
                "uref": "0"
            }
        },
        "businessName": "BlauPOS",
        "posId": "160816",
        "merchantCode": "ML11698",
        "merchantId": 13038,
        "flutterAccount": "7824013038",
        "verifiedcac": "verified",
        "verifiedaddress": "verified",
        "verifiedofficerent": "verified",
        "verifiedid": "verified",
        "verifiedemail": null,
        "devicepin": true,
        "hassecret": false,
        "posenabled": false,
        "pricing": {
            "funding": {
                "card": {
                    "p": 1.4,
                    "c": 2500
                },
                "banktransfer": {
                    "p": 0.7,
                    "c": 1500
                },
                "bankdebit": {
                    "p": 0.7,
                    "c": 1500
                },
                "ussd": {
                    "p": 0.7,
                    "c": 1500
                },
                "pos": {
                    "p": 0.5,
                    "c": 1500
                }
            },
            "spend": {
                "payout": {
                    "f": 10
                }
            }
        },
        "flutterBank": "WEMA BANK"
    }
}

Transfers

Request transfer to local banks.

Initiate Transfer

POST https://staging.moneywaveapp.com/app/v1/payout

Headers

NameTypeDescription

Authorization*

String

Authorization token

Request Body

NameTypeDescription

account_number*

String

Account number

bank_code*

String

Bank Code

amount*

String

Amount

currency*

String

Currency

narration*

String

Narration

custom_sender_phonenumber*

String

Sender Phone number

ref*

String

Transaction Reference

pin*

String

Device PIN

wallet_uref

String

Wallet user reference - Sub wallet

lock

String

Sub wallet lock code

{
    // Response
}

Resolve account number

GET https://staging.moneywaveapp.com/app/v1/account/resolve

Returns Beneficiary Name

Headers

NameTypeDescription

Authorization*

String

Authorization token

Request Body

NameTypeDescription

account_number

String

Account Number

bank_code

String

Bank code

currency

String

Currency

{
    "status": "success",
    "data": {
        "account_name": "JOHN GREENE"
    }
}

Bill Payments

Request Value added payments such as Airtime and Utility bill payments.

Fetch available bill payments / VAS

GET https://staging.moneywaveapp.com/app/v1/bill/category

Returns an array of available bill payments

Headers

NameTypeDescription

Authorization

String

Authorization

{
    "status": "success",
    "data": {
        "default": [
            {
                "id": 1,
                "BillerCode": "BIL099",
                "Name": "MTN VTU",
                "DefaultCommission": 0.025,
                "Country": "NG",
                "IsAirtime": 1,
                "BillerName": "AIRTIME",
                "ItemCode": "AT099",
                "ShortName": "MTN VTU",
                "Fee": 0,
                "CommissionOnFee": 0,
                "RegExpression": "^[+]{1}[0-9]+$",
                "LabelName": "Mobile Number",
                "Amount": 0,
                "IsResolvable": 1,
                "GroupName": "MTN",
                "CategoryName": "Airtime",
                "IsData": null,
                "confluence_id": 1,
                "createdAt": "2020-03-04T10:27:09.000Z",
                "updatedAt": "2022-07-25T10:39:52.000Z",
                "deletedAt": null
            },
            {
                "id": 2,
                "BillerCode": "BIL099",
                "Name": "GLO Nigeria",
                "DefaultCommission": 0.03,
                "Country": "NG",
                "IsAirtime": 1,
                "BillerName": "AIRTIME",
                "ItemCode": "AT099",
                "ShortName": "GLO",
                "Fee": 0,
                "CommissionOnFee": 0,
                "RegExpression": "^[+]{1}[0-9]+$",
                "LabelName": "Mobile Number",
                "Amount": 0,
                "IsResolvable": 1,
                "GroupName": "GLO",
                "CategoryName": "Airtime",
                "IsData": null,
                "confluence_id": 2,
                "createdAt": "2020-03-04T10:27:09.000Z",
                "updatedAt": "2022-07-25T10:39:52.000Z",
                "deletedAt": null
            },
            {
                "id": 3,
                "BillerCode": "BIL099",
                "Name": "9Mobile",
                "DefaultCommission": 0.03,
                "Country": "NG",
                "IsAirtime": 1,
                "BillerName": "AIRTIME",
                "ItemCode": "AT099",
                "ShortName": "9mobile",
                "Fee": 0,
                "CommissionOnFee": 0,
                "RegExpression": "^[+]{1}[0-9]+$",
                "LabelName": "Mobile Number",
                "Amount": 0,
                "IsResolvable": 1,
                "GroupName": "9mobile",
                "CategoryName": "Airtime",
                "IsData": null,
                "confluence_id": 3,
                "createdAt": "2020-03-04T10:27:09.000Z",
                "updatedAt": "2022-07-25T10:39:52.000Z",
                "deletedAt": null
            },
            ...
        }
    }
}

Initiate Bill payment

POST https://staging.moneywaveapp.com/app/v1/bill/order

Headers

NameTypeDescription

Authorization

String

Authorization code

Request Body

NameTypeDescription

country

String

Bill payment Country

customerId

String

Customer ID

billerName

String

Biller Name - from bills.billername

shortName

String

Short Name - from bills.name

amount

Number

Transaction amount

ref

String

Transaction Reference

balPassword

String

Balance password / Device pin

{
    // Response
}

Notifications

Receive notification for credit and debit activities on your balance.

A callback url is required for pushing notifications, please see here for additional information

Status Checks

Verify transaction status and fetch full transaction information using the status check API.

Last updated