Перейти к содержимому

Клиенты

Управляй платёжными пользователями своего приложения. Просматривай клиентов на вкладке Dashboard > Commerce > Customers или через SDK.

Клиент — это сущность в твоём приложении, с которой снимается оплата: как правило, пользователь, организация или проект. Ты создаёшь её в Proyecta сразу после того, как соответствующая запись появляется в твоей базе данных, и сохраняешь возвращённый id, чтобы ссылаться на него в дальнейшем.

Открой Dashboard > Commerce и перейди на вкладку Customers, чтобы увидеть всех платёжных клиентов текущего приложения. Каждая строка содержит:

  • Email
  • Полное имя
  • Дату создания

Поиск и фильтрация по email или дате создания доступны через SDK; более широкие элементы управления в панели появятся позже.

import Proyecta from '@proyecta-ai/sdk';
const proyecta = new Proyecta({ apiKey: process.env.PROYECTA_API_KEY });
const customer = await proyecta.commerce.customers.create({
email: 'alice@example.com',
name: 'Alice Liddell',
phone: '+14155551234', // E.164 format
address: {
line1: '123 Wonderland Ave',
city: 'San Francisco',
state: 'CA',
postal_code: '94110',
country: 'US',
},
});
// Single customer
const customer = await proyecta.commerce.customers.get({ customerId: 'cus_123' });
// Paginate
const result = await proyecta.commerce.customers.list({ limit: '20' });
for (const customer of result.data) {
console.log(customer.name, customer.email);
}
await proyecta.commerce.customers.update({ customerId: 'cus_123', email: 'new@example.com', address: { ... } });

Создание клиента Proyecta при регистрации пользователя

When a new user finishes signup, call proyecta.commerce.customers.create
with their email and name. Store the returned id on the user record as
proyecta_customer_id.

Создание страницы администратора для просмотра клиентов

Build an admin page at /admin/customers that lists every Proyecta customer
with their email, name, created date, and a link to view their detail page.
Use proyecta.commerce.customers.list to paginate through all customers.

Нужно ли создавать клиента Proyecta для каждого пользователя или только для платящих?

Создавай для каждого. Это бесплатно, идемпотентно (повторные вызовы с одним и тем же email возвращают того же клиента) и означает, что ты будешь готов в тот же момент, когда пользователь перейдёт на платный тариф, — никакой спешки с ретроактивным заполнением данных.

Может ли у клиента быть несколько подписок?

Да. Подписки принадлежат клиентам, а не наоборот. Используй commerce.checkout(), чтобы создать новую сессию оформления подписки.

Как посмотреть, на что подписан клиент?

На данный момент — через встроенный дашборд Stripe или вызывая commerce.check() для каждой нужной тебе функции. Отображение истории подписок в панели запланировано в roadmap.