# Transfer API

{% hint style="warning" %}
It is very important to note that all transfer request must be authenticated with your authentication token.&#x20;
{% endhint %}

### Possible transfer responses and their meaning

**Handling Transaction Response**

<details>

<summary>IsSuccessful</summary>

This response parameter is used to determine the status of the initiated request.<br>

* If response is **`False`**, a possible system error or invalid request occurred. Transaction should be initiated again and can be initiated with the same transaction reference.
* If response is **`True`**, proceed to check the response code to determine the status of the transaction.<br>

</details>

<details>

<summary>ResponseCode</summary>

This response parameter is used to determine the status of the transaction.

* If respond code is **`00`**, then the transaction is successful
* If any of the “pending” response codes is gotten, then a TSQ is required to determine the actual status of the transaction after the interval time stated for each transaction type
* If any other response code is received, the transaction failed, and the request can be initiated with a new transaction reference.
* If No Response is received, a transaction status query is required to determine the status of the transaction after the interval time stated for each transaction type.

</details>

#### Handling TSQ Response

<details>

<summary>IsSuccessful</summary>

* This response parameter is used to determine the status of the initiated TSQ request.
* If response is **`False`**, possible system error or invalid request occurred. The TSQ request should be initiated again.&#x20;
* If response is **`True`**, proceed to check the “Status” to determine the actual status of the initiated funds transfer request.

</details>

<details>

<summary>Status</summary>

This response parameter is used to determine the status of the initiated funds transfer request

* If status is **`Successful`**, then the initiated funds transfer request was processed successfully
* If status is **`Failed`**, then the initiated funds transfer request failed, a new request can be initiated with a new transaction reference.
* If status is **Pending**, then we are unable to determine the status of the transaction. Kindly initiate another TSQ request after the interval time stated for each transaction type. if outcome persists, please contact support

</details>

{% hint style="warning" %}
A reversal request should NEVER be initiated for INTERBANK transfer irrespective of the transfer or TSQ status, while reversals for other transaction types such as (DEBIT, CREDIT, LOCALFUNDSTRANSFER) can be initiated after 90 seconds of a successful transaction)
{% endhint %}

#### Handling Reversal Response&#x20;

<details>

<summary>IsSuccessful </summary>

This response parameter is used to determine the status of the initiated reversal request.

* If response is **`False`**, a possible system error or invalid request occurred. The reversal request should be initiated again.
* If response is **`True`**, proceed to check the “Status” to determine the actual status of the reversal.

</details>

<details>

<summary>Status</summary>

This response parameter is used to determine the status of the reversal

If status is **`Successful`**, then the reversal was processed successfully.

If status is **`Failed`**, then the reversal should be initiated again.

</details>
