Storefront Products
List your storefront's active products.
Storefront Products
The Storefront Products API lists products you created on the Uverus Payments dashboard. Useful for integrating into your custom frontend or ecommerce store, keeping your own catalog in sync with what's configured on Uverus, or feeding a third-party storefront without duplicating product data.
Headers
| Header | Required | Value |
|---|---|---|
Authorization | Yes | Bearer sk_test_... (test) or Bearer sk_live_... (live) — see Authentication |
List Storefront Products
Returns every active product for the authenticated merchant, most recently created first. Inactive and deleted products are not included, and this endpoint is not paginated.
GET /api/v1/storefront/productsExample Request
curl -X GET "https://api.uveruspayments.com/api/v1/storefront/products" \
-H "Authorization: Bearer sk_test_..."Example Response
Products can carry variants (different price/tax/shipping per option combination), custom checkout fields, and their own tax configuration — all of that is reflected here, not just the base fields:
[
{
"id": "b3e1f2a0-1234-4a5b-9c1d-0987654321ab",
"name": "Classic Crewneck T-Shirt",
"description": "100% cotton, unisex fit",
"price": 800000,
"currency": "NGN",
"sku": "TEE-CLASSIC",
"images": [
"https://.../tshirt-black.png",
"https://.../tshirt-white.png"
],
"inventory": 120,
"discount": 50000,
"tax": 750,
"taxType": "PERCENTAGE",
"shippingFee": 150000,
"isDigital": false,
"category": "Apparel",
"isActive": true,
"paymentChannels": ["card", "bank_transfer", "ussd"],
"variants": {
"options": [
{ "name": "Color", "options": ["Black", "White"] },
{ "name": "Size", "options": ["Small", "Large"] }
],
"combinations": [
{
"id": "combo_1",
"options": { "Color": "Black", "Size": "Small" },
"sku": "TEE-CLASSIC-BLK-S",
"inventory": 40,
"price": null,
"shippingFee": null,
"tax": null,
"taxType": null,
"isActive": true
},
{
"id": "combo_2",
"options": { "Color": "White", "Size": "Large" },
"sku": "TEE-CLASSIC-WHT-L",
"inventory": 30,
"price": 900000,
"shippingFee": 0,
"tax": 500,
"taxType": "PERCENTAGE",
"isActive": true
}
],
"shippingOptions": null,
"customFields": [
{ "id": "field_1", "name": "Gift note", "type": "text", "required": false },
{ "id": "field_2", "name": "Rush delivery", "type": "checkbox", "required": false }
]
}
}
]Field Notes
| Field | Description |
|---|---|
price, discount, shippingFee | In kobo — the smallest currency unit. |
tax / taxType | taxType: "FIXED" means tax is a flat kobo amount. taxType: "PERCENTAGE" means tax is the rate ×100 (e.g. 750 = 7.5%). |
inventory: null | Unlimited stock. |
variants.options | The variant groups (e.g. Color, Size) and their possible values, for rendering pickers. |
variants.combinations | One entry per specific option combination. Any of price, shippingFee, tax, taxType set to null means that combination inherits the product's base value — only non-null fields override it. |
variants.shippingOptions | Named shipping choices (e.g. pickup vs. delivery) a buyer selects at checkout, when configured. null if the product only uses the flat shippingFee. |
variants.customFields | Extra questions collected from the buyer at checkout (e.g. a gift note). type is one of text, textarea, number, checkbox, select. |
A product with no variants, custom fields, or shipping options configured simply returns "variants": null — use the base price/tax/taxType/shippingFee fields directly in that case.
This endpoint is read-only — creating, updating, and deleting products is currently only available from the merchant dashboard.