Skip to main content
GET
/
subscription
/
api
/
v1
/
invoices?status=
{status}
&subscriptionId=
{subscriptionId}
&from=
{from}
&to=
{to}
&page=
{page}
&size=
{size}
List Invoices
curl --request GET \
  --url 'https://api.payaza.africa/live/subscription/api/v1/invoices?status={status}&subscriptionId={subscriptionId}&from={from}&to={to}&page={page}&size={size}' \
  --header 'Authorization: <api-key>'
import requests

url = "https://api.payaza.africa/live/subscription/api/v1/invoices?status={status}&subscriptionId={subscriptionId}&from={from}&to={to}&page={page}&size={size}"

headers = {"Authorization": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};

fetch('https://api.payaza.africa/live/subscription/api/v1/invoices?status={status}&subscriptionId={subscriptionId}&from={from}&to={to}&page={page}&size={size}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.payaza.africa/live/subscription/api/v1/invoices?status={status}&subscriptionId={subscriptionId}&from={from}&to={to}&page={page}&size={size}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.payaza.africa/live/subscription/api/v1/invoices?status={status}&subscriptionId={subscriptionId}&from={from}&to={to}&page={page}&size={size}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.payaza.africa/live/subscription/api/v1/invoices?status={status}&subscriptionId={subscriptionId}&from={from}&to={to}&page={page}&size={size}")
.header("Authorization", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.payaza.africa/live/subscription/api/v1/invoices?status={status}&subscriptionId={subscriptionId}&from={from}&to={to}&page={page}&size={size}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "success": true,
  "message": "Success",
  "data": {
    "content": [
      {
        "id": 7,
        "invoiceNumber": "INV-21-C3",
        "subscriptionId": 21,
        "cycleNumber": 3,
        "chargeId": null,
        "amount": 1000,
        "currency": "NGN",
        "status": "DRAFT",
        "dueDate": "2026-07-09T20:20:32.893236",
        "issuedAt": null,
        "paidAt": null,
        "connectionMode": "Live",
        "createdAt": "2026-07-08T20:20:32.953095",
        "updatedAt": "2026-07-08T20:20:32.953097"
      },
      {
        "id": 6,
        "invoiceNumber": "INV-21-C2",
        "subscriptionId": 21,
        "cycleNumber": 2,
        "chargeId": 9,
        "amount": 20,
        "currency": "NGN",
        "status": "PAID",
        "dueDate": "2026-07-09T19:38:18.292411",
        "issuedAt": "2026-07-08T20:20:29.53358",
        "paidAt": "2026-07-08T20:20:32.903649",
        "connectionMode": "Live",
        "createdAt": "2026-07-08T20:20:29.48334",
        "updatedAt": "2026-07-08T20:20:32.910372"
      },
      {
        "id": 3,
        "invoiceNumber": "INV-21-C1",
        "subscriptionId": 21,
        "cycleNumber": 1,
        "chargeId": null,
        "amount": 1000,
        "currency": "NGN",
        "status": "PAID",
        "dueDate": "2026-07-08T19:38:15.229726",
        "issuedAt": null,
        "paidAt": "2026-07-08T19:38:18.339517",
        "connectionMode": "Live",
        "createdAt": "2026-07-08T19:38:18.325812",
        "updatedAt": "2026-07-08T19:38:18.341983"
      }
    ],
    "pageable": {
      "sort": {
        "sorted": true,
        "unsorted": false,
        "empty": false
      },
      "pageNumber": 0,
      "pageSize": 10,
      "offset": 0,
      "paged": true,
      "unpaged": false
    },
    "totalElements": 3,
    "totalPages": 1,
    "last": true,
    "numberOfElements": 3,
    "first": true,
    "size": 10,
    "number": 0,
    "sort": {
      "sorted": true,
      "unsorted": false,
      "empty": false
    },
    "empty": false
  }
}

Authorizations

Authorization
string
header
required

Payaza {{Public API Key in Base 64}}

Query Parameters

status
string
required

Filter invoices by status.

subscriptionId
integer
required

Filter invoices by subscription ID.

from
string<date-time>
required

Start date and time for the invoice search.

to
string<date-time>
required

End date and time for the invoice search.

page
integer
required

The page number to retrieve.

size
integer
required

The number of records per page.

Response

Request Successful

success
boolean

Indicates if the request was successful.

Example:

true

message
string

Descriptive message regarding the operation.

Example:

"Success"

data
object

The payload containing the detailed, paginated list of invoices.