Transfers

STAGING_URL: https://switchapi3.azurewebsites.net
LIVE_URL: https://switchapi.azurewebsites.net

Bank list

GET https://switchapi3.azurewebsites.net/user/transfer/banks

Return all banks with their bank codes

Headers

Name
Type
Description

Authorization

string

The format for this is Authorization is Bearer token_string

{
    "message": "Banks retrieved successfully",
    "data": [
        {
            "name": "Access Bank",
            "code": "044"
        },
        {
            "name": "Access Bank (Diamond)",
            "code": "063"
        },
        {
            "name": "ALAT by WEMA",
            "code": "035A"
        },
        {
            "name": "ASO Savings and Loans",
            "code": "401"
        },
        {
            "name": "Citibank Nigeria",
            "code": "023"
        },
        {
            "name": "Ecobank Nigeria",
            "code": "050"
        },
        {
            "name": "Ekondo Microfinance Bank",
            "code": "562"
        },
        {
            "name": "Enterprise Bank",
            "code": "084"
        },
        {
            "name": "Fidelity Bank",
            "code": "070"
        },
        {
            "name": "First Bank of Nigeria",
            "code": "011"
        },
        {
            "name": "First City Monument Bank",
            "code": "214"
        },
        {
            "name": "Guaranty Trust Bank",
            "code": "058"
        },
        {
            "name": "Heritage Bank",
            "code": "030"
        },
        {
            "name": "Jaiz Bank",
            "code": "301"
        },
        {
            "name": "Keystone Bank",
            "code": "082"
        },
        {
            "name": "MainStreet Bank",
            "code": "014"
        },
        {
            "name": "Parallex Bank",
            "code": "526"
        },
        {
            "name": "Polaris Bank",
            "code": "076"
        },
        {
            "name": "Providus Bank",
            "code": "101"
        },
        {
            "name": "Stanbic IBTC Bank",
            "code": "221"
        },
        {
            "name": "Standard Chartered Bank",
            "code": "068"
        },
        {
            "name": "Sterling Bank",
            "code": "232"
        },
        {
            "name": "Suntrust Bank",
            "code": "100"
        },
        {
            "name": "Union Bank of Nigeria",
            "code": "032"
        },
        {
            "name": "United Bank For Africa",
            "code": "033"
        },
        {
            "name": "Unity Bank",
            "code": "215"
        },
        {
            "name": "Wema Bank",
            "code": "035"
        },
        {
            "name": "Zenith Bank",
            "code": "057"
        }
    ]
}

Transfer Recipients List

GET https://switchapi3.azurewebsites.net/user/transfer/recipients

Retrieves all recipients saved by user for easy transfer. It takes a transfer_typevalue of internal, external or all and defaults to all if transfer_type parameter is not passed.

Query Parameters

Name
Type
Description

transfer_type

string

internal, external, or all. Default value is all

Headers

Name
Type
Description

Authorization

string

The format for this Authorization is Bearer token_string

{
    "message": "Transfer recipients retrieved successfully",
    "data": [
        {
            "id": 1,
            "account_name": "OLAOLUWA AYOTUNDE OLURO",
            "account_number": "0069702289",
            "bank_name": "Sterling Bank",
            "bank_code": "232"
        }
    ]
}

Resolve Transfer Recipient

POST https://switchapi3.azurewebsites.net/user/transfer/resolve_recipient

This returns a recipient for an internal or external transfer

Headers

Name
Type
Description

Authorization

string

The format for this Authorization is Bearer token_string

Request Body

Name
Type
Description

transfer_amount_kobo

string

Required when transfer_type is external

bank_code

string

Required when transfer is external

account_number

string

Required when transfer is external

recipient_slug

string

Required when transfer is internal. The recipient's email or switch_id

transfer_type

string

Type of transfer a recipient resolution is being done for. Either internal or external

# EXTERNAL TRANSFER RESOLVE RECIPIENT
{
    "message": "Transfer recipient resolve successful",
    "data": {
        "transfer_type": "external",
        "transfer_request_id": 6,
        "account_name": "OLAOLUWA AYOTUNDE OLURO",
        "bank_code": "232",
        "account_number": "0069702289",
        "transfer_charge": "0.0",
        "transfer_charge_vat": "0.0"
    }
}



# INTERNAL TRANSFER RESOLVE RECIPIENT
{
    "message": "Transfer recipient resolve successful",
    "data": {
        "transfer_type": "internal",
        "transfer_request_id": 8,
        "account_name": "OLAOLUWA OLURO",
        "bank_code": null,
        "account_number": "2",
        "transfer_charge": null,
        "transfer_charge_vat": null
    }
}

External Transfer [Switch to Bank]

POST https://switch-api-staging.herokuapp.com/user/wallet/transfer/external

This call initiates a transfer out of a user's bank account to another bank account. Note: You either pass the transfer_recipient_id along with the amount or you pass the transfer_request_id along with the amount. The transfer_request_id can be gotten from the resolve_recipient ["external"] endpoint This call needs to be authenticated by either pin or otp

Headers

Name
Type
Description

auth_token

string

The format for this auth_token is Bearer token_string

Request Body

Name
Type
Description

otp

string

Authenticate transaction

pin

string

Authenticate transaction

remark

string

Any notes the user wishes to pass along with the transfer

save_recipient

boolean

This saves the recipient to the user's recipients list. Default is false.

transfer_recipient_id

string

id of a transfer recipient gotten from user's recipients list

transfer_request_id

string

Transfer request id gotten from resolve_recipient

transfer_amount_kobo

string

Amount to be transferred

{
    "message": "Transfer successful"
}

Internal Transfer [Switch to Switch]

POST https://switchapi3.azurewebsites.net/user/transfer/internal

This call initiates a transfer from one Switch user to another using the platform. Note: You either pass the transfer_request_id along with other information or you pass the transfer_recipient_id along with the amount. The transfer_request_id can be gotten from the resolve_recipient["internal"] endpoint. This call needs to be authenticated by either pin or otp

Headers

Name
Type
Description

Authorization

string

The format for this Authorization is Bearer token_string

Request Body

Name
Type
Description

source

string

wallet or account.

otp

string

Authenticate transaction

pin

string

Authenticate transaction

remark

string

Any notes the user wishes to pass along with the transfer

save_recipient

boolean

This saves the recipient to the user's recipients list. Default is false.

transfer_recipient_id

string

id of a transfer recipient gotten from a user's recipients list

transfer_request_id

string

Transfer request id gotten from resolve_recipient

transfer_amount_kobo

string

Amount to be transferred

{
    "message": "Transfer successful"
}

Self-transfer

POST https://switchapi3.azurewebsites.net/user/transfer/self

This endpoint transfers money from the user's wallet to account and vice-versa.

Headers

Name
Type
Description

Authentication

string

The format for Authentication is Bearer token_string

Request Body

Name
Type
Description

source

string

Either wallet or account.

destination

string

Either wallet or account.

amount_kobo

string

The amount in kobo.

{
  "message": "Transfer successful"
}

Delete beneficiary

DELETE https://switchapi3.azurewebsites.net/user/transfer/beneficiary/:id

This endpoint deletes a user's saved beneficiary.

Path Parameters

Name
Type
Description

id

string

The beneficiary's id.

Headers

Name
Type
Description

Authorization

string

Format is Bearer token

{
  "message": "Beneficiary deleted successfully"
}

Last updated

Was this helpful?