Transfer Funds

/transfer/verify

  • Checks if the recipient has a Wallet Engine account and returns their client ID for use in a transaction. If the recipient is not a user an invitation can be sent to join the same App community.

/transfer/query

  • Returns the current session transfer limit and the charges for a transfer.

/transfer/confirm

  • This is where the transfer of funds from one wallet to another actually takes place.

Terminology

Term

Explanation

Limits

Limits help the user operate within the KYC level.

Tx

The transmitter of transfer. The sender of money.

Rx

The receiver of the transfer. The recipient of money.

Invitation

A link to download the app or a deep link to a specific feature of the app after download.

Flow

/transfer/verify

POST https://sandbox.walletengine.io/api/transfer/verify

The aim of /transfer/verify is to return the account details of the receiver side of the transfer. If the receiver does not hold a Wallet Engine account then they are sent a link to download the app and become a customer.

Headers

Name
Type
Description

Content-Type

string

application/json

Authorization

string

Bearer {{token}}

Request Body

Name
Type
Description

app_id

string

This is the unique App ID assigned to you by Wallet Engine.

country_dial_code

number

The country code of the recipients phone number.

phone_number

number

The recipient's phone number.

{
  "client_id": "031452503"
}

Example Request

{
  "app_id": "86509b0699ae",
  "country_dial_code": "65",
  "phone_number": "909099999"
}

Errors This table lists the expected errors that this method could return. However, other errors can be returned in the case where the service is down or other unexpected factors affect processing.

Error

Description

invalid_arguments

The method was called with invalid arguments.

invalid_arg_name

The method was passed an argument whose name falls outside the bounds of accepted or expected values.

invalid_recipient_id

The recipient was not found. Rx_client_ID does not exist.

/transfer/query

POST https://sandbox.walletengine.io/api/transfer/query

This function is used to identify the maximum amount that can possibly be transferred between the sender and the receiver and the charges involved. The session transfer limit is calculated from the limit allowances of the sender (Tx) and the receiver (Rx). This is the maximum amount that could possibly be transferred between the Tx and the Rx taking into account their balances and their transactional limits.

Headers

Name
Type
Description

Content-Type

string

application/json

Authorization

string

Bearer {{token}}

Request Body

Name
Type
Description

app_id

string

This is the unique App ID assigned to you by Wallet Engine.

target_id

string

Client Id of the destination account. (Rx ClientID)

{
  "session_transfer_limit": 5,
  "fee": 1
}

Example Request

{
  "app_id": "86509b0699ae",
  "target_id": "931917458"
}

Errors This table lists the expected errors that this method could return. However, other errors can be returned in the case where the service is down or other unexpected factors affect processing.

Error

Description

invalid_arguments

The method was called with invalid arguments.

invalid_arg_name

The method was passed an argument whose name falls outside the bounds of accepted or expected values.

invalid_target_id

The recipient's deposit account was not found.

empty_wallet_balance

Zero wallet balance. Need to top-up. The sender does not have enough funds available to effect a transfer.

invalid_debit_allowed

Tx Debit remainder allowance zero. The sender has already sent the maximum amount possible in the last 12 months. Need to KYC level up in order to increase the limits.

invalid_credit_allowed

Target Balance remainder allowance zero. The receiver balance is already at their balance limit. Need to KYC level up in order to increase the limits.

/transfer/confirm

POST https://sandbox.walletengine.io/api/transfer/confirm

Here the actual transfer of funds between to accounts is confirmed by the customer and processed by Wallet Engine.

Headers

Name
Type
Description

Content-Type

string

application/json

Authorization

string

Bearer {{token}}

Request Body

Name
Type
Description

app_id

string

This is the unique App ID assigned to you by Wallet Engine.

target_id

string

Client Id of the destination account. Response from the previous step

amount

number

Transfer amount.

notes

string

external_id

string

External ID from Customer App. This field can be used to record the transaction number from an external system for reference against the transaction in the future. (For example a store receipt number for the purchase.)

{
  "valid": true
}

Example Request

{
    "app_id": "5db2a50be7626",
    "target_id": "296703508",
    "amount": "3",
    "notes": "string",
    "external_id": "5de0e9299a2b9"
}

Errors This table lists the expected errors that this method could return. However, other errors can be returned in the case where the service is down or other unexpected factors affect processing.

Error

Description

invalid_arguments

The method was called with invalid arguments.

invalid_arg_name

The method was passed an argument whose name falls outside the bounds of accepted or expected values.

invalid_transfer_amount

The transfer amount exceeds the allowed values.

Last updated

Was this helpful?