API Reference · Billing
Products & Prices
Reusable catalog products and flat, per-seat, tiered, or metered prices.
The price object
Represents a price entity in the rafiqPay system.
| Field | Type & Flags | Description |
|---|---|---|
| id | string | Price ID (price_...). |
| productId | string | Associated product ID (prod_...). |
| unitAmount | string | Price in Naira. |
| interval | enum | month | quarter | year. |
Example price JSON
price example payload
{
"id": "price_kanzu_pro",
"productId": "prod_kanzu",
"unitAmount": "75000.00",
"interval": "month"
}Endpoints & Operations
POST/v1/productsProposed
Create a product
Creates a billing product.
Request Example
POST /v1/products
cURL · v1
curl -X POST "https://api.rafiqpay.net/v1/products" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a" \
-H "Idempotency-Key: idem_create-product_01" \
-H "Content-Type: application/json" \
-d '{
"name": "Kanzu Academy Seat"
}'Response (200 OK)
Response payload
{
"id": "prod_kanzu",
"name": "Kanzu Academy Seat"
}GET/v1/productsProposed
List products
Lists products.
Request Example
GET /v1/products
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/products" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"object": "list",
"data": [],
"hasMore": false,
"nextCursor": null
}POST/v1/pricesProposed
Create a price
Creates a recurring or metered price.
Request Example
POST /v1/prices
cURL · v1
curl -X POST "https://api.rafiqpay.net/v1/prices" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a" \
-H "Idempotency-Key: idem_create-price_01" \
-H "Content-Type: application/json" \
-d '{
"productId": "prod_kanzu",
"unitAmount": "75000.00",
"interval": "month"
}'Response (200 OK)
Response payload
{
"id": "price_kanzu_pro",
"unitAmount": "75000.00"
}GET/v1/pricesProposed
List prices
Lists prices.
Request Example
GET /v1/prices
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/prices" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"object": "list",
"data": [],
"hasMore": false,
"nextCursor": null
}