Skip to main content
POST
/
api
/
v2
/
batch
/
invoices
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"
{
  "success": true,
  "summary": {
    "total": 100,
    "successful": 98,
    "failed": 2
  },
  "results": [
    {
      "row": 1,
      "success": true,
      "invoiceId": "550e8400-e29b-41d4-a716-446655440000",
      "invoiceNumber": "BATCH-20240123-001"
    },
    {
      "row": 2,
      "success": true,
      "invoiceId": "550e8400-e29b-41d4-a716-446655440001",
      "invoiceNumber": "BATCH-20240123-002"
    },
    {
      "row": 3,
      "success": false,
      "error": "Invalid amount: must be greater than 0"
    }
  ]
}

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.

Заголовки

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

Тело запроса (multipart/form-data)

file
file
required
CSV или JSON файл со списком счетов (максимум 1000 записей)
format
string
default:"csv"
Формат файла: csv или json
{
  "success": true,
  "summary": {
    "total": 100,
    "successful": 98,
    "failed": 2
  },
  "results": [
    {
      "row": 1,
      "success": true,
      "invoiceId": "550e8400-e29b-41d4-a716-446655440000",
      "invoiceNumber": "BATCH-20240123-001"
    },
    {
      "row": 2,
      "success": true,
      "invoiceId": "550e8400-e29b-41d4-a716-446655440001",
      "invoiceNumber": "BATCH-20240123-002"
    },
    {
      "row": 3,
      "success": false,
      "error": "Invalid amount: must be greater than 0"
    }
  ]
}
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"

Формат CSV

email,name,phone,amount,description,expiresInHours
client1@example.com,Иван,+79991234567,1500,Заказ 1,24
client2@example.com,Мария,+79991234568,2500,Заказ 2,48

Формат JSON

[
  {
    "email": "client1@example.com",
    "name": "Иван",
    "phone": "+79991234567",
    "amount": 1500,
    "description": "Заказ 1",
    "expiresInHours": 24
  },
  {
    "email": "client2@example.com",
    "name": "Мария",
    "phone": "+79991234568",
    "amount": 2500,
    "description": "Заказ 2",
    "expiresInHours": 48
  }
]

Ограничения

ПараметрЗначение
Максимум записей1000
Максимум размер файла5MB
Поддерживаемые форматыCSV, JSON
Для multipart/form-data запросов при вычислении HMAC подписи используйте пустую строку как тело запроса.

Лучшие практики

Валидация

Проверяйте данные перед отправкой

Обработка ошибок

Анализируйте results для повторной отправки

Логирование

Сохраняйте результаты для отладки

Пагинация

Разбивайте большие файлы на части по 1000