Skip to main content

Создание чеков для интернет-магазинов и удалённых оплат

Если между оплатой товара и отгрузкой есть временной разрыв, то закон требует формировать минимум 2 чека. Первый чек создаётся в момент получения предоплаты, а второй — после передачи товара или оказания услуги покупателю. Если платежей или отгрузок несколько, то соответствующих чеков тоже будет несколько. Рассказываем, как реализовать эту логику через API Облачной кассы.

Чек предоплаты

Создайте чек предоплаты. Для этого отправьте POST-запрос по адресу:

{base_url}/cloud-print-ffd1_2/create-receipt

base_url – адрес сервиса. Возможные значения:

  • https://sapitest1.life-pay.ru — тестовый API,
  • https://sapi.life-pay.ru — рабочий API.

В теле запроса в массиве purchase.products для каждой позиции передайте реквизиты:

  • type — тип предоплаты. Вам подойдут:
    • 1 - Полная предоплата. Указывается, когда явно известен товар или услуга и предоплата за эту позицию вносится в полном объеме.
    • 2 - Частичная предоплата. Указывается, когда явно известен товар или услуга, но клиент не оплачивает полную стоимость.
    • 3 - Аванс. Указывается когда, не известен конечный набор товаров и услуг, которые в итоге будут проданы клиенту.
  • item_type — признак предмета расчета (товар, услуга и проч.). Это актуально, например, если вы добавляете в чек доставку. Чаще всего это будут значения:
    • 1 — товар,
    • 4 — услуга.

Сумму предоплаты передайте в параметре, соответствующем способу оплаты. Если покупатель платил картой, это будет card_amount. Если передать #, система сама посчитает сумму, сложив стоимости позиций.

Полное описание запроса

Пример запроса на создание чека c признаком полной предоплаты по позициям:

{
"login": "75551111117",
"apikey": "579b9878cf4973699a7aea7d37562a3f",
"customer_name":"Иванов Иван",
"purchase":{
"products": [
{
"key": 0,
"name": "Детская игрушка",
"type":1,
"price": 2600,
"quantity": 1,
"item_type": 1
},
{
"key": 0,
"name": "Доставка",
"type":1,
"price": 500,
"quantity": 1,
"item_type": 4
}
]
},
"card_amount" : "#"
}

Чек предоплаты нужно формировать на каждый платёж от покупателя. На сколько сумм разбита предоплата, столько и будет чеков.

Чек полного расчёта

В момент отгрузки товара (это может быть выдача в ПВЗ или передача курьером) создайте чек полного расчёта. Для этого отправьте POST-запрос по адресу:

base_url}/cloud-print-ffd1_2/create-receipt

Адреса сервиса

В теле запроса в параметре purchase.products.[].type передайте признак полного расчёта: 4 — Полная оплата, в том числе с учётом аванса, полученного на момент передачи предмета расчёта.

Сумму оплаты передайте в реквизите prepayment_amount. Это деньги, которые вы получили ранее и зачитываете в счёт оплаты. Если передать #, система сама посчитает сумму, сложив стоимости позиций.

Пример чека полного расчёта:

{
"login": "75550003313",
"apikey": "30c4d82887e305ef6d90600b318a7a47",
"customer_name":"Иванов Иван",
"purchase":{
"products": [
{
"key": 0,
"name": "Детская игрушка",
"type":4,
"price": 2600,
"quantity": 1,
"item_type": 1
},
{
"key": 0,
"name": "Доставка",
"type":4,
"price": 500,
"quantity": 1,
"item_type": 4
}
]
},
"prepayment_amount" : "#"
}

Чек полного расчёта нужно формировать каждый раз, когда вы отгружаете товар. Если отгрузок было несколько, то и чеков будет столько же, с соответствующими суммами.

Вот и всё, что нужно знать о формировании чеков для интернет-магазина. В следующей статье разберём добавление в чек маркированных товаров.