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.

FieldType & FlagsDescription
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
}