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

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

Если между оплатой товара и отгрузкой есть временной разрыв, то закон требует формировать минимум 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" : "#"
}

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

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