Partner checkout details
Overview
Returns a partner-level checkout preview for a plan: the plan pricing plus the count and list of the partner's active/pending stores (where the store's who_will_pay is partner) that the plan would apply to. cancel_plan filters the store set by whether the store's latest plan is already flagged for cancellation. Read-only preview — nothing is charged or written.
Prerequisites
- A bearer token in the
Authorizationheader.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/billing/checkout-details
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Bearer partner token.
-
partner_idmust be abundle_id = 1partner company inside the caller's hierarchy (exists+ an ownership check). -
Each
account_ids[]must be abundle_id = 3account company in the caller's hierarchy.
Rate limit
- No rate limit.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
plan_id | integer | Required | Must be an existing plan. |
partner_id | integer | Required | bundle_id = 1 partner company in caller's hierarchy. Matched as partner.id OR partner.company_id. |
all_account | integer (0|1) | Required | 1 = all accounts under the partner; 0 = only account_ids. |
account_ids | integer[] | Required if all_account = 0 | Each a bundle_id = 3 account company in caller's hierarchy. |
cancel_plan | integer (0|1) | Optional | 0/empty = only stores NOT flagged for cancellation; 1 = only stores whose latest plan has a cancel_subscription_at. |
{
"plan_id": 3,
"partner_id": 123,
"all_account": 0,
"account_ids": [
456
],
"cancel_plan": 0
}How it works
200— double-wrapped envelope{ data: { data: {.} } }(controller passes['data' =>.]into the{ data. }responder). Payload:plan_id,plan_name,plan_short_info,price,original_price,total_location(matched store count),plan_start(today),plan_end(end of month),store_ids(matched store ids).422— validation failure (missing/invalid plan, partner out of scope,account_idsrequired whenall_account = 0).
Response
200 OK · 200
200{
"data": {
"data": {
"plan_id": 3,
"plan_name": "ResponseScribe",
"plan_short_info": "Up to 50 responses/month",
"price": 100,
"original_price": 100,
"total_location": 3,
"plan_start": "2026-07-09",
"plan_end": "2026-07-31",
"store_ids": [
1,
2,
3
]
}
}
}422 Validation error · 422
422{
"message": "The account ids field is required when all account is 0.",
"errors": {
"account_ids": [
"The account ids field is required when all account is 0."
]
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | Validation error |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/billing/checkout-details" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"plan_id": 3, "partner_id": 123, "all_account": 0, "account_ids": [456], "cancel_plan": 0}'Updated 11 days ago
Did this page help you?
