Skip to main content
POST
/
api
/
v2
/
invoices
curl -X POST "https://loveandpay.io/api/v2/invoices" \
  -H "Content-Type: application/json" \
  -H "x-api-key: pk_live_xxx" \
  -H "x-timestamp: 1712000000000" \
  -H "x-signature: a1b2c3d4e5f6..." \
  -d '{
    "amount": 1500,
    "description": "Оплата услуги",
    "customerName": "Иван Иванов",
    "customerPhone": "+79991234567",
    "createdByUserId": "clxxx...user-id-здесь"
  }'
{
  "success": true,
  "invoice": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "invoiceNumber": "INV-1234567890-abc123",
    "amount": 1500,
    "currency": "RUB",
    "description": "Оплата услуги",
    "status": "PENDING",
    "expiresAt": "2024-01-24T12:00:00.000Z",
    "createdAt": "2024-01-23T12:00:00.000Z",
    "createdById": "clxxx...user-id",
    "qrCode": "data:image/png;base64,...",
    "qrPayload": "https://qr.nspk.ru/...",
    "externalOrderId": "550e8400-e29b-41d4-a716-446655440001",
    "kycRequired": false,
    "kycVerified": false,
    "receiptRequired": false,
    "paymentLink": "https://loveandpay.io/pay/INV-1234567890-abc123",
    "customer": null
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.loveandpay.io/llms.txt

Use this file to discover all available pages before exploring further.

Позволяет создавать счета от имени конкретного пользователя, используя единый API ключ родительского партнёра. Для этого передайте опциональное поле createdByUserId в теле запроса.
Если поле createdByUserId не передано — счёт создаётся от имени системного пользователя партнёра (стандартное поведение).

Заголовки

x-api-key
string
required
Ваш API ключ
x-timestamp
string
required
Unix timestamp в миллисекундах
x-signature
string
required
HMAC-SHA256 подпись

Тело запроса

amount
number
required
Сумма в рублях (не в копейках!). Пример: 1500.50
description
string
Описание платежа. Пример: Оплата заказа #12345
customerEmail
string
Email клиента
customerName
string
Имя клиента
customerPhone
string
Телефон клиента в формате +7XXXXXXXXXX
expiresInHours
number
default:"1"
Срок действия счёта в часах
kycRequired
boolean
default:"false"
Требовать KYC верификацию перед оплатой
createdByUserId
string
ID пользователя (суб-аккаунта), от имени которого создаётся счёт. Если не передан — счёт создаётся от имени системного пользователя партнёра.

Валидация createdByUserId

СитуацияОтвет
Пользователь не найден400 — User not found
Пользователь из другого партнёра403 — User does not belong to this partner
Пользователь неактивен400 — User is inactive
Поле не переданоРаботает как раньше (стандартное поведение)
ID пользователей можно получить в панели партнёра: Сотрудники (/dashboard/employees) — у каждого пользователя есть уникальный ID.
{
  "success": true,
  "invoice": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "invoiceNumber": "INV-1234567890-abc123",
    "amount": 1500,
    "currency": "RUB",
    "description": "Оплата услуги",
    "status": "PENDING",
    "expiresAt": "2024-01-24T12:00:00.000Z",
    "createdAt": "2024-01-23T12:00:00.000Z",
    "createdById": "clxxx...user-id",
    "qrCode": "data:image/png;base64,...",
    "qrPayload": "https://qr.nspk.ru/...",
    "externalOrderId": "550e8400-e29b-41d4-a716-446655440001",
    "kycRequired": false,
    "kycVerified": false,
    "receiptRequired": false,
    "paymentLink": "https://loveandpay.io/pay/INV-1234567890-abc123",
    "customer": null
  }
}
curl -X POST "https://loveandpay.io/api/v2/invoices" \
  -H "Content-Type: application/json" \
  -H "x-api-key: pk_live_xxx" \
  -H "x-timestamp: 1712000000000" \
  -H "x-signature: a1b2c3d4e5f6..." \
  -d '{
    "amount": 1500,
    "description": "Оплата услуги",
    "customerName": "Иван Иванов",
    "customerPhone": "+79991234567",
    "createdByUserId": "clxxx...user-id-здесь"
  }'

Batch — создание от имени суб-аккаунта

При пакетном создании счетов (POST /api/v2/batch/invoices) вы также можете указать createdByUserId — все счета в батче будут созданы от указанного пользователя.
cURL
TIMESTAMP=$(date +%s%3N)
BODY_HASH=$(echo -n "" | sha256sum | cut -d' ' -f1)
MESSAGE="POST/api/v2/batch/invoices${TIMESTAMP}${BODY_HASH}"
SIGNATURE=$(echo -n "$MESSAGE" | openssl dgst -sha256 -hmac "sk_live_xxx" | cut -d' ' -f2)

curl -X POST "https://loveandpay.io/api/v2/batch/invoices" \
  -H "x-api-key: pk_live_xxx" \
  -H "x-timestamp: ${TIMESTAMP}" \
  -H "x-signature: ${SIGNATURE}" \
  -F "file=@invoices.csv" \
  -F "format=csv" \
  -F "createdByUserId=clxxx...user-id-здесь"
Для batch-запросов createdByUserId передаётся как отдельное поле формы (multipart/form-data), а не в JSON-теле.