Skip to main content

Overview

The Collections API handles money coming in to your platform. It’s the opposite of Payments, which handles money going out. When a customer wants to pay you, you use the Collections API to:
  1. Create a collection reference (a payment link or account number) for the customer.
  2. The customer sends money to that reference from any bank in Nigeria.
  3. The platform credits your virtual account and fires a webhook to notify you instantly.
  4. You query the Collections API to reconcile and confirm the credit.
Collections work over the NIP network, so funds arrive in near real-time.

Base URL


Authentication


How Collections Work


Endpoints

Create Collection Intent

POST /v1/collections/intent Generate a unique payment reference for a customer to send you money. You can set an exact expected amount (for invoices) or leave it open (for top-ups). What you send: What you get back: Example request:
Example response:
Show the customer the destination_account_number, destination_bank_code, and collection_reference. Instruct them to include the reference in the transfer narration so the payment is automatically matched to their order.

Get Collection Status

GET /v1/collections/{collection_id} Check whether a payment has been received for a specific collection intent. Status values: What you get back:

List Collections

GET /v1/collections Returns all collection intents for your business, with filtering options. Query parameters:

Cancel Collection Intent

DELETE /v1/collections/{collection_id} Cancel an outstanding collection intent. Once cancelled, any payment arriving with this reference will be rejected and returned to the sender.

Webhooks for Collections

The fastest way to know a payment arrived is via a webhook. When a collection intent is paid, the platform immediately sends a collection.paid event to your webhook URL. Webhook payload example:
See the Webhooks product guide for how to set up your webhook endpoint and verify the signature.

Simulating Payments in Sandbox

In the sandbox environment, incoming payments do not arrive automatically. Use the simulation endpoint to trigger a test credit: POST /v1/collections/{collection_id}/simulate-payment What you send: This triggers the full webhook flow as if a real payment arrived. Useful for testing your webhook handler end-to-end.

Error Codes


Full API Reference

Open API Playground

Try Collections endpoints live in the browser