Список счетов
Чтение данных своего аккаунта с системным токеном доступа
Для пользователей из материкового Китая: используйте https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.
Аутентификация, пагинация и ошибки описаны в разделе Начало работы.
Поведение
Только основной аккаунт может читать собственные платежные данные. Для субаккаунта возвращается HTTP 403. Данные участников недоступны через этот метод.
По умолчанию 31 день, максимум 366 дней. Охватывается только текущий проверенный Customer: meta.coverage=current_customer_only. Изменение связи Customer аннулирует старые курсоры. Суммы являются десятичными строками по правилам Stripe: 2 знака для USD/CNY, 0 для JPY, 3 для KWD, совместимые 2 для ISK/UGX. subtotal/total: промежуточная/общая сумма; amount_due/amount_paid/amount_remaining: к оплате/оплачено/остаток. Без надежной связи с локальным заказом platform_trade_no=null; number и paid_at также могут быть null. ID Customer, email, адрес и URL счета не возвращаются. Нет связи: 409/15045, ошибка чтения: 503/15046, конфликт: 503/15047, а не выдуманный пустой список. Счет не равен локальному зачислению credits.
Аутентификация
AuthorizationstringзаголовокобязательноИспользуйте Bearer YOUR_SYSTEM_ACCESS_TOKEN. API-ключ модели не подходит. Заголовок X-User-Id не требуется.
Параметры
fromstringзапросНачало диапазона включительно, RFC 3339 с часовым поясом. Передавайте вместе с to.
Ограничения: date-time.
tostringзапросКонец диапазона не включается, RFC 3339 с часовым поясом. Должен быть позже from.
Ограничения: date-time.
cursorstringзапросПередавайте предыдущий next_cursor без изменений и сохраняйте фильтры. При изменении условий начните заново.
Ограничения: maxLength=2048.
limitintegerзапроспо умолчанию: 20Максимальное число элементов на странице.
Ограничения: minimum=1; maximum=100; По умолчанию: 20.
Пример запроса
curl --request GET \
--url 'https://toapis.com/api/v1/account/billing/invoices?from=2026-11-01T00:00:00Z&to=2026-11-02T00:00:00Z&limit=20' \
--header 'Authorization: Bearer YOUR_SYSTEM_ACCESS_TOKEN'import requests
response = requests.get(
"https://toapis.com/api/v1/account/billing/invoices",
headers={"Authorization": "Bearer YOUR_SYSTEM_ACCESS_TOKEN"},
params={
"from": "2026-11-01T00:00:00Z",
"to": "2026-11-02T00:00:00Z",
"limit": "20"
},
timeout=30,
)
response.raise_for_status()
print(response.json())const url = new URL("https://toapis.com/api/v1/account/billing/invoices");
url.search = new URLSearchParams({
"from": "2026-11-01T00:00:00Z",
"to": "2026-11-02T00:00:00Z",
"limit": "20"
}).toString();
const response = await fetch(url, {
headers: { Authorization: "Bearer YOUR_SYSTEM_ACCESS_TOKEN" },
signal: AbortSignal.timeout(30_000),
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
console.log(await response.json());Поля ответа
Данные примеров вымышлены и предполагают credits_per_usd="100". Используйте коэффициент из ответа API.
Результаты находятся в data.items. Используйте has_more и next_cursor для пагинации. Последний курсор равен null. Общее число записей не возвращается.
codeintegerЧисловой код результата; 0 означает успех.
messagestringСообщение ответа; пустое при успехе. Сообщения об ошибках локализуются.
dataobjectОбъект результата текущего запроса.
data.itemsobject[]Записи текущей страницы; [] при отсутствии результатов.
data.items[].idstringID счета Stripe для получения деталей.
data.items[].providerstringПровайдер платежных услуг. Фиксированное значение: "stripe".
data.items[].numberstring | nullНомер счета Stripe, отличный от ID счета. null, если значение неизвестно или неприменимо.
data.items[].statusstringСтатус счета, возвращенный Stripe.
data.items[].created_atstring | nullВремя создания. Время в RFC 3339 с часовым поясом. null, если значение неизвестно или неприменимо.
data.items[].currencystringИсходная валюта сумм.
data.items[].subtotalstringПромежуточная сумма счета в исходной валюте currency. Десятичная строка для сохранения точности.
data.items[].totalstringИтоговая сумма счета в исходной валюте currency. Десятичная строка для сохранения точности.
data.items[].amount_duestringСумма к оплате в исходной валюте currency. Десятичная строка для сохранения точности.
data.items[].amount_paidstringОплаченная сумма в исходной валюте currency. Десятичная строка для сохранения точности.
data.items[].amount_remainingstringОставшаяся сумма к оплате в исходной валюте currency. Десятичная строка для сохранения точности.
data.items[].paid_atstring | nullВремя оплаты счета по данным Stripe. Время в RFC 3339 с часовым поясом. null, если значение неизвестно или неприменимо.
data.items[].platform_trade_nonullНадежно связанный локальный номер пополнения; null, если связь не подтверждена.
data.has_morebooleanЕсть ли следующая страница.
data.next_cursorstring | nullПередавайте без изменений как cursor с теми же фильтрами. На последней странице равен null.
data.metaobjectМетаданные об источнике, диапазоне и принципах учета.
data.meta.sourcestringИсточник данных. Локальная конфигурация или реестр не означают актуальное состояние Stripe.
data.meta.coveragestringОхват счетов: только текущий проверенный Stripe Customer, не вся история.
data.meta.scopestringОбласть владельца данных: сам аутентифицированный аккаунт.
data.meta.fetched_atstringВремя получения данных из Stripe в этом запросе, не время создания счета.
data.meta.fromstringНачало временного диапазона включительно.
data.meta.tostringКонец временного диапазона не включается.
Пример ответа
{
"code": 0,
"message": "",
"data": {
"items": [
{
"id": "in_example_01",
"provider": "stripe",
"number": "EXAMPLE-0001",
"status": "paid",
"created_at": "2026-11-01T08:00:00Z",
"currency": "USD",
"subtotal": "10",
"total": "10",
"amount_due": "10",
"amount_paid": "10",
"amount_remaining": "0",
"paid_at": "2026-11-01T08:01:00Z",
"platform_trade_no": null
}
],
"has_more": false,
"next_cursor": null,
"meta": {
"source": "stripe",
"coverage": "current_customer_only",
"scope": "self",
"fetched_at": "2026-11-02T01:00:00Z",
"from": "2026-11-01T00:00:00Z",
"to": "2026-11-02T00:00:00Z"
}
}
}