Endpoints · Billing
GET/v1/billing
The organisation's plan and this month's fees, for an app that bills through its platform.
What it does
For a platform app that bills its shop through the platform (the Shopify app): the organisation's billing provider (stripe or shopify), status, trial_ends_at, the plan with its fee tiers, and month -- this calendar month's designer sales and fees per currency. unreported lists the fees not yet put on the shop's platform bill, oldest first (always empty unless the organisation is billed through Shopify): report each as usage, then mark them with POST /v1/billing.
Send the key: Authorization: Bearer sk_test_… or sk_live_….
curl "https://printwisp.com/v1/billing" \
-H "Authorization: Bearer $PRINTWISP_KEY"
# 200
{
"provider": "shopify",
"status": "active",
"trial_ends_at": null,
"shop": "harbour-prints.myshopify.com",
"subscription": "gid://shopify/AppSubscription/1029384756",
"plan": {
"code": "growth",
"name": "Growth",
"monthly_price": "29.00",
"currency": "AUD",
"fee_percent": "3.00",
"tiers": []
},
"month": { "AUD": { "sales": 1170, "fees": 35.1, "lines": 4 } },
"unreported": [
{
"id": 812,
"order_ref": "#1042",
"sales": "345.00",
"currency": "AUD",
"fee_percent": "3.00",
"fee": "10.35",
"placed_at": "2026-10-05T04:31:02+00:00"
}
]
}<?php
$ch = curl_init('https://printwisp.com/v1/billing');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('PRINTWISP_KEY'), 'Content-Type: application/json'],
]);
$answer = json_decode(curl_exec($ch), true);// Node (your server). The key never reaches a browser.
const r = await fetch('https://printwisp.com/v1/billing', {
headers: { Authorization: 'Bearer ' + process.env.PRINTWISP_KEY },
});
const answer = await r.json();import os, requests
r = requests.get(
"https://printwisp.com/v1/billing",
headers={"Authorization": f"Bearer {os.environ['PRINTWISP_KEY']}"},
)
answer = r.json()Response
200 application/json. The organisation's billing.
{
"provider": "shopify",
"status": "active",
"trial_ends_at": null,
"shop": "harbour-prints.myshopify.com",
"subscription": "gid://shopify/AppSubscription/1029384756",
"plan": {
"code": "growth",
"name": "Growth",
"monthly_price": "29.00",
"currency": "AUD",
"fee_percent": "3.00",
"tiers": []
},
"month": { "AUD": { "sales": 1170, "fees": 35.1, "lines": 4 } },
"unreported": [
{
"id": 812,
"order_ref": "#1042",
"sales": "345.00",
"currency": "AUD",
"fee_percent": "3.00",
"fee": "10.35",
"placed_at": "2026-10-05T04:31:02+00:00"
}
]
}Errors
| HTTP | error | message |
|---|---|---|
| 401 | unauthorized | Send Authorization: Bearer <secret key>. Keys are made in PrintWisp, on your store's Overview → API keys. |