Available REST Endpoints
All endpoints accept and return JSON. Authenticate every call using the X-FuturePay-Api-Key header.
| Method | Endpoint Path | Purpose | Status |
|---|---|---|---|
| POST | /api/v1/checkout/invoices | Creates an invoice & generates dynamic QR code base64 | 201 Created |
| GET | /api/v1/checkout/invoices/{invoiceReference} | Retrieves real-time payment status (pending, paid, cancelled) | 200 OK |
| POST | /api/v1/checkout/invoices/{invoiceReference}/cancel | Cancels an unpaid or abandoned pending checkout invoice | 200 OK |
| POST | /api/v1/checkout/invoices/{invoiceReference}/refund | Issues a full refund of a paid invoice back to the customer | 200 OK |
| GET | /api/v1/checkout/invoices | Queries merchant invoices filtered by status and date | 200 OK |
Live API Request & Response Playground
Send real HTTP requests against the FuturePayNG Staging API with instant responses.
Call this endpoint when the customer clicks "Pay with FuturePayNG" on your web storefront. It generates a unique invoice reference, checkout payment URL, and base64 PNG QR code for display.
Request Body Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| orderReference | String | Required | Your unique internal order/cart ID (e.g. ORDER-89421). |
| amount | Number | Required | Total payable amount in NGN (Minimum: 100). |
| currency | String | Optional | ISO currency code. Defaults to NGN. |
| webhookUrl | String | Optional | Your HTTPS endpoint for asynchronous payment notifications. |
| metadata | Object | Optional | Arbitrary key-value pairs stored and returned with webhooks. |
Use this endpoint if your server does not receive webhooks or if your frontend needs to poll payment confirmation every 3 seconds while the customer modal is open.
Cancels an unpaid invoice if the customer abandons checkout or closes the modal. Only invoices in pending status can be cancelled.
Refunds an already paid invoice in full directly back to the customer's FuturePayNG wallet. Only invoices in paid status can be refunded.
Fetches a paginated list of your merchant invoices. Supports filtering query parameters:
pending, paid, cancelled, or refunded_full.limit=20, maximum 100.