> For the complete documentation index, see [llms.txt](https://developer.providusbank.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.providusbank.com/transfer-services.md).

# Transfer Services

{% hint style="info" %}
The Third party generic api requires api key.
{% endhint %}

[Request API Key](/quick-start.md)

**Base Url:**\
<http://154.113.16.142:8882/postingrest>

***

The interface is implemented as a RESTful web service, exposing the following methods:

* GetBVNDetails
* GetNIPAccount
* NIPFundTransfer
* GetNipBank
* ProvidusTransactionsStatus
* ProvidusFundsTransfer
* NIPFundTransferMultipleDebitAccounts

***

API Endpoints

### Get NIP Account

Reserved accounts are static accounts assigned to a specific user. They do not expire, but should be used judiciously, as there is a limit to the number of virtual accounts that can be created.

{% content-ref url="/pages/fQJhiKvpOjodZ4P6968t" %}
[GetNIPAccount](/transfer-services/getnipaccount.md)
{% endcontent-ref %}

***

### Create Dynamic Account

*Dynamic accounts are designed for one-time payments and can be assigned to different users. By default, they expire 10 minutes after creation (this can be extended up to a maximum of 48 hours) before being reassigned to another user. They must be used for a single payment before expiration.*

{% content-ref url="/pages/7KGmTmouxvVsvLyPySrC" %}
[Create Dynamic Account Number](/digital-collection-services/create-dynamic-account-number.md)
{% endcontent-ref %}

***

### Update Account Name

*The /PiPUpdateAccountName endpoint is used exclusively for reserved accounts. It allows you to update the account name. In most cases, if a reserved account has been assigned to a user who does not utilize it for transactions, you can reassign the account to another user by updating the account name—helping you manage your limited pool of virtual accounts efficiently.*

{% content-ref url="/pages/743lH3YkegL7OdVMQK4B" %}
[Broken mention](broken://pages/743lH3YkegL7OdVMQK4B)
{% endcontent-ref %}

***

### Blacklist / Whitelist Account

*The /PiPBlacklistAccount endpoint is used when you suspect that a user is using an account for fraudulent transactions. To prevent funds transferred to such an account from eventually entering your settlement account, you can call this endpoint to blacklist the account.*

*Please note that virtual accounts cannot be deleted—they can only be blacklisted using the /PiPBlacklistAccount endpoint. Also, blacklisted accounts can still receive funds; however, payment notifications will not be processed successfully until the blacklist flag is removed.*

*To remove a blacklist (i.e., to whitelist an account), use the /PiPBlacklistAccount endpoint with the appropriate flag.*

{% content-ref url="/pages/ksR2RABQImHvbNHnNM1P" %}
[Blacklist/Whitelist Account](/digital-collection-services/blacklist-whitelist-account.md)
{% endcontent-ref %}

***

### Verify Transaction by Session ID

*The verification endpoints are used to confirm that transactions sent to your webhook originate from Providus Bank and to retrieve detailed information about those transactions.*

*Typically, when our system sends a webhook notification, the fintech first calls the appropriate verification endpoint to validate the transaction before responding to the webhook.*

*You can verify a transaction using either the Session ID or Settlement ID provided in the webhook request or previously shared with the fintech, to confirm the transaction exists on our system.*

This endpoint is to verify a transaction by supplying the session id and credentials.

{% content-ref url="/pages/YCwNCIF7AvPztPz32iGc" %}
[Broken mention](broken://pages/YCwNCIF7AvPztPz32iGc)
{% endcontent-ref %}

***

### Verify Transaction by Settlement ID

This endpoint is to verify a transaction by supplying the session id and credentials.

{% content-ref url="/pages/YCwNCIF7AvPztPz32iGc" %}
[Broken mention](broken://pages/YCwNCIF7AvPztPz32iGc)
{% endcontent-ref %}

***

### Fintech Webhook

Fintech Webhook Endpoint (Your system should expose this endpoint to receive notifications)

{% content-ref url="/pages/M9CKQIMbxzS2alYSxQmS" %}
[Webhook Specification](/digital-collection-services/webhook-specification.md)
{% endcontent-ref %}

Notes

·      Dynamic accounts expire after 10 minutes (configurable up to 48 hours).

·      Reserved accounts do not expire but have a creation limit.

·      Funds are swept to your settlement account only upon successful webhook acknowledgment.

·      Duplicate settlement IDs must not be reprocessed.

·      Blacklisted accounts can still receive funds, but no notifications will be sent until whitelisted.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.providusbank.com/transfer-services.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
