Счета и ссылки на оплату
Три способа принять оплату — и когда какой подходит:
| Что | Когда | Как создаётся |
|---|---|---|
| Платёж (POST /payments) | У вас есть сайт или приложение: вы сами создаёте заказ и отправляете плательщика на payment_url | Только через API |
| Счёт (POST /invoices) | Разовая оплата конкретному покупателю: известны сумма и получатель, есть срок. Ссылку отправляете письмом или в мессенджере | В кабинете (Счета → Выставить) или через API |
| Ссылка на оплату (POST /payment_links) | Многоразовая ссылка или QR-код на товар или услугу: платят многие, сумма фиксированная или свободная | В кабинете (Ссылки на оплату) или через API |
Счёт и ссылка не создают платёж заранее: платёж появляется, когда покупатель открывает страницу, поэтому срок жизни заказа в ПЦ не расходуется впустую. По каждой попытке оплаты создаётся отдельный объект платежа с payment_link_id.
Счета
POST /invoices — выставить счёт
| Параметр | Тип | Описание |
|---|---|---|
| amount | integer, обязателен | Сумма в копейках |
| description | string ≤ 120 | Назначение: видно покупателю и в чеке |
| customer | {email, phone} | Получатель; на email уходит письмо со счётом (при send_email: true) и чек |
| expires_at | datetime | Оплатить до; без него счёт бессрочный |
| capture | auto | manual | Списание сразу или холд |
| items | array | Позиции чека, как у платежа |
| comment, return_url, send_email | Комментарий покупателю, куда вернуть после оплаты, отправить ли письмо сразу |
{
"id": "pl_9kZ1x9QmT0aBcDeFgHiJkL",
"object": "invoice",
"shop_id": "723612",
"status": "sent",
"amount": 150000,
"currency": "RUB",
"description": "Заказ 1001",
"capture": "auto",
"customer": {
"email": "buyer@example.com"
},
"items": [],
"url": "https://platezhka.online/l/pl_9kZ1x9QmT0aBcDeFgHiJkL",
"sent_at": "2026-09-25T12:00:00+03:00",
"expires_at": "2026-10-25T23:59:59+03:00",
"created_at": "2026-09-25T12:00:00+03:00"
}
Статусы: issued → sent → paid | canceled | expired. Когда счёт оплачен, в объекте появляется payment_id. GET /invoices, GET /invoices/{id}, POST /invoices/{id}/cancel.
Ссылки на оплату
POST /payment_links
{
"title": "Консультация",
"amount": 300000,
"description": "Онлайн-консультация 1 час",
"expires_at": null,
"success_url": "https://shop.example/thanks"
}
Без amount плательщик вводит сумму сам. Ответ содержит url — многоразовая страница; payments_count — сколько раз по ней заплатили. GET /payment_links/{id} — получить. Ссылку нельзя удалить, только отключить в кабинете.