Раздел протокола «Платежи» предназначен для работы с платежами. С помощью запросов можно получать информацию о платежах, загружать различные реестры платежей с применением фильтрации по датам, статусам, платёжным системам, осуществлять поиск, а также полностью или частично возвращать платежи и подтверждать списание.
Для инициализации платежа нужно использовать выставление счёта, HTML-Форму, IFRAME-Форму или получение прямой ссылки на оплату.
Статусы платежей изменяются в соответствии с диаграммой состояний. Статусы «получен» (obtained), «совершён без оповещения» (stuck), «совершён» (success) эквивалентны с точки зрения поступления средств на расчётный счёт предприятия. Все они означают, что у держателя была списана сумма транзакции, и она либо уже зачислилась, либо в ближайшее время зачислится на расчётный счёт предприятия. Статусы «отменён» (canceled) и «не состоялся» (failed) означают, что платёж провести не удалось.
Раздел протокола содержит следующие запросы:
URI | Назначение | |
---|---|---|
2.1 | URI:/info/payments/bydate/ | Назначение:Получение реестра платежей за период с фильтром по статусам и платёжным системам. |
2.2 | URI:/info/payments/bydatecount/ | Назначение:Получение количества платежей за период, сгруппированное по статусам и по платёжным системам |
2.3 | URI:/info/payments/byid/ | Назначение:Получение информации о платеже по идентификатору |
2.4 | URI:/info/options/byid/ | Назначение:Получение дополнительной информации об опциях платежа |
2.5 | URI:/info/params/byid/ | Назначение:Получение дополнительных необязательных параметров платежа |
2.6 | URI:/info/httplog/byid/ | Назначение:Отображает информацию об HTTP-запросе по идентификатору платежа |
2.7 | URI:/info/refunds/bypaymentid/ | Назначение:Отображает информацию по возвратам для данного платежа |
2.8 | URI:/change/payment/reverse/ | Назначение:Полный или частичный возврат платежа |
2.9 | URI:/change/payment/repeatcnt/ | Назначение:Сброс счётчика повтора оповещений для платежа |
2.10 | URI:НЕ ПОДДЕРЖИВАЕТСЯ | Назначение:Запрос на инициализацию платежа |
2.11 | URI:/info/payments/search/ | Назначение:Поиск платежа по значениям параметров в диапазоне дат |
2.12 | URI:/change/payment/capture/ | Назначение:Подтверждение списания средств по ранее авторизованной операции |
2.13 | URI:/change/payment/post-sale-receipt/ | Назначение:Сгенерировать чек окончательного расчёта |
Запрос возвращает реестр платежей за период. Для удобства вывода в таблицу можно указать максимальное число объектов в выборке и пропустить первые сколько-то значений. Также можно выбрать платежи только с определёнными статусами. Для получения данных необходимо выполнить GET-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:GET | Формат запроса:/info/payments/bydate/?limit=100&from=0&start=2016-04-14&end=2017-03-14& status[]=success&status[]=canceled&status[]=failed&payment_system_id[]=9&payment_system_id[]=1 |
Параметр | Назначение | |
1. | Параметр:start | Назначение:Дата начала периода в формате YYYY-MM-DD |
2. | Параметр:end | Назначение:Дата конца периода в формате YYYY-MM-DD |
3. | Параметр:payment_system_id[] | Назначение:Идентификатор платёжной системы. Применяется для фильтрации по платёжной системе. Обязательный параметр. |
4. | Параметр:status[] | Назначение:Статус платежей. Применяется для фильтрации платежей по статусам. Может принимать значения: ‘pending’, ‘obtained’, ‘canceled’, ‘success’, ‘failed’, ‘stuck’, ‘refunded’, ‘refunding’, ‘partially_refunded’. Обязательный параметр. |
5. | Параметр:from | Назначение:Пропускает первые N значений. Обязательный параметр. |
6. | Параметр:limit | Назначение:Количество возвращаемых значений. Обязательный параметр. |
Таблица 2.1.1. Параметры запроса |
В ответ возвращается объект следующего вида:
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа |
2. | Параметр:pay_amount | Назначение:Сумма платежа |
3. | Параметр:refund_amount | Назначение:Возвращённая часть платежа |
4. | Параметр:clientid | Назначение:Идентификатор клиента в системе магазина |
5. | Параметр:orderid | Назначение:Номер заказа в системе магазина |
6. | Параметр:payment_system_id | Назначение:Идентификатор платёжной системы |
7. | Параметр:unique_id | Назначение:Уникальный идентификатор транзакции |
8. | Параметр:status | Назначение:Статус платежа |
9. | Параметр:repeat_counter | Назначение:Количество отправленных запросов при проведении платежа в систему магазина |
10. | Параметр:pending_datetime | Назначение:Дата/Время создания платежа |
11. | Параметр:obtain_datetime | Назначение:Дата/Время проведения платежа |
12. | Параметр:success_datetime | Назначение:Дата/Время информирования магазина о проведённом платеже |
Таблица 2.1.2 Параметры ответа на запрос |
Пример ответа на запрос:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[ { "id": "136641", "pay_amount": "1000.00", "refund_amount": "0.00", "clientid": null, "orderid": null, "payment_system_id": "6", "unique_id": "Rj5er56P5ItOLxi0uuptDER7NM=", "status": "canceled", "repeat_counter": "0", "pending_datetime": "2017-03-17 16:44:30", "obtain_datetime": null, "success_datetime": null }, { "id": "136640", "pay_amount": "2150.00", "refund_amount": "0.00", "clientid": "Оплата за кресло-качалку", "orderid": "Петров Иван Сергеевич", "payment_system_id": "6", "unique_id": "xONlvdy91aB+N3I21n1WE5/5ZqEg=", "status": "success", "repeat_counter": "0", "pending_datetime": "2017-03-15 16:54:49", "obtain_datetime": "2017-03-15 16:56:26", "success_datetime": "2017-03-15 16:56:30" }, ... ] |
Запрос возвращает количество платежей за период. Запрос возвращает данные, сгруппированные по статусам и сгруппированные по платежным системам. Также запрос возвращает полную сумму платежей за этот период. Для получения данных необходимо выполнить GET-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:GET | Формат запроса:/info/payments/bydatecount/?start=2014-04-14&end=2014-05-14& status[]=success&status[]=canceled&status[]=failed&payment_system_id[]=6&payment_system_id[]=1 |
Параметр | Назначение | |
1. | Параметр:start | Назначение:Дата начала периода в формате YYYY-MM-DD |
2. | Параметр:end | Назначение:Дата конца периода в формате YYYY-MM-DD |
3. | Параметр:payment_system_id[] | Назначение:Идентификатор платёжной системы. Применяется для фильтрации по платёжной системе. |
4. | Параметр:status[] | Назначение:Статус платежей. Применяется для фильтрации платежей по статусам. Может принимать значения: ‘pending’, ‘obtained’, ‘canceled’, ‘success’, ‘failed’, ‘stuck’, ‘refunded’, ‘refunding’, ‘partially_refunded’. |
Таблица 2.2.1. Параметры запроса |
В ответ возвращается составной объект следующего вида:
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:statuses | Назначение:Массив, сгруппированный по различным статусам, состоящий из элементов [status=>”value”,count=>”value”] |
2. | Параметр:payment_systems | Назначение:Массив, сгруппированный по различным платёжным системам [payment_system_id=>”value”,count=>”value”] |
3. | Параметр:fullcount | Назначение:Полное количество платежей |
Таблица 2.2.2 Параметры ответа на запрос |
Пример ответа на запрос:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[ { "statuses": [ {"status":"canceled","count":"14"}, {"status":"success","count":"71"}, {"status":"failed","count":"3"} ] }, { "payment_systems": [ {"payment_system_id":"1","count":"47"}, {"payment_system_id":"6","count":"41"} ] }, { "fullcount": [ {"count":"88"} ] } ] |
Запрос возвращает информацию о платеже по его идентификатору в PayKeeper. Для получения данных необходимо выполнить GET-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:GET | Формат запроса:/info/payments/byid/?id=11186 |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа в системе PayKeeper |
2. | Параметр:advanced | Назначение:Флаг для получения дополнительных опций платежа. Может принимать значение «true». |
Таблица 2.3.1. Параметры запроса |
В ответ возвращается объект следующего вида:
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа |
2. | Параметр:pay_amount | Назначение:Сумма платежа |
3. | Параметр:refund_amount | Назначение:Возвращённая часть платежа |
4. | Параметр:clientid | Назначение:Идентификатор клиента в системе магазина |
5. | Параметр:orderid | Назначение:Номер заказа в системе магазина |
6. | Параметр:payment_system_id | Назначение:Идентификатор платёжной системы |
7. | Параметр:site_description | Назначение:Системное название платёжной системы |
8. | Параметр:system_description | Назначение:Название платёжной системы |
9. | Параметр:unique_id | Назначение:Уникальный идентификатор транзакции |
10. | Параметр:status | Назначение:Статус платежа |
11. | Параметр:repeat_counter | Назначение:Количество отправленных запросов при проведении платежа в систему магазина |
12. | Параметр:pending_datetime | Назначение:Дата/Время создания платежа |
13. | Параметр:obtain_datetime | Назначение:Дата/Время проведения платежа |
14. | Параметр:success_datetime | Назначение:Дата/Время информирования магазина о проведённом платеже |
Таблица 2.3.2 Параметры ответа на запрос |
Если передан флаг advanced, дополнительно возвращаются следующие параметры:
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:APPROVAL_CODE | Назначение:Код авторизации успешной оплаты. |
2. | Параметр:CARD_NUMBER | Назначение:Замаскированный номер карты плательщика |
3. | Параметр:RESULT | Назначение:Результат выполнения операции оплаты |
4. | Параметр:RESULT_CODE | Назначение:Код результата выполнения операции оплаты |
5. | Параметр:3DSECURE | Назначение:Информация о том, была ли использована процедура проверки безопасности 3DSECURE в процессе оплаты. |
6. | Параметр:RRN | Назначение:RRN успешной оплаты. |
Таблица 2.3.2 Параметры ответа на запрос |
Пример ответа на запрос:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[ { "id": "11186", "pay_amount": "12000.00", "refund_amount": "0.00", "clientid": "ivan.petrov@mail.ru", "orderid": "7916", "payment_system_id": "40", "site_description": "Сбербанк", "system_description": "SberBank", "unique_id": "8613d9ab-1234-4678-9014-0f3489dcaba4", "status": "success", "repeat_counter": "0", "pending_datetime": "2017-03-21 14:25:33", "obtain_datetime": "2017-03-21 14:29:48", "success_datetime": "2017-03-21 14:30:02", "APPROVAL_CODE" : "933921", "CARD_NUMBER" : "400011xxxxxx1111", "RESULT" : null, "RESULT_CODE" : null, "3DSECURE" : "Y", "RRN" : "16560565471" } ] |
Запрос возвращает дополнительную информацию об опциях платежа по его идентификатору в PayKeeper. Для получения данных необходимо выполнить GET-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:>GET | Формат запроса:/info/options/byid/?id=11186 |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа в системе PayKeeper |
Таблица 2.4.1. Параметры запроса |
Ответ на запрос может содержать различные параметры, в зависимости от платёжной системы и статуса платежа. Мы рекомендуем использовать эти данные только в качестве дополнительной информации и не строить логику работы информационной системы в зависимости от их значений.
Пример возвращаемого объекта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[ { "orderid": "7916", "client_ip": "109.252.85.68", "service_name": "Uslugi po perevodu", "client_email": "info@example.com", "client_phone": "+79112511000", "qiwi_phone": "", "msgtype": "Visa", "RRN": "304756189111", "APPROVAL_CODE": "186111", "CARD_NUMBER": "472732**2524", "actionCode": "0", "actionCodeDescription": "", "orderStatus": "2", "preauth": "false" } ] |
Запрос возвращает дополнительные параметры платежа, передаваемые платёжными системами. Для получения данных необходимо выполнить GET-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:GET | Формат запроса:/info/params/byid/?id=11186 |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа в системе PayKeeper |
Таблица 2.5.1. Параметры запроса |
Ответ на запрос содержит массив параметров платежа в следующем формате.
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор |
2. | Параметр:payment_id | Назначение:Идентификатор платежа |
3. | Параметр:field | Назначение:Ключ |
4. | Параметр:value | Назначение:Значение |
Таблица 2.5.2 Параметры ответа на запрос |
Пример возвращаемого объекта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
[ { "id": "282", "payment_id": "11186", "field": "0/value", "value": "86ead1ab-111d-4aa6-8daf-01119bbaaa1" }, { "id": "283", "payment_id": "11186", "field": "1/name", "value": "service_name" }, { "id": "284", "payment_id": "11186", "field": "1/value", "value": "null" }, { "id": "285", "payment_id": "11186", "field": "2/name", "value": "client_email" }, { "id": "286", "payment_id": "11186", "field": "2/value", "value": "null" }, { "id": "287", "payment_id": "11186", "field": "cardAuthInfo/expiration", "value": "202109" }, { "id": "288", "payment_id": "11186", "field": "cardAuthInfo/cardholderName", "value": "Ivan Petrov" } ] |
Запрос возвращает HTTP параметры запросов платежа по его идентификатору в системе PayKeeper. Для получения данных необходимо выполнить GET-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:GET | Формат запроса:/info/httplog/byid/?id=11186 |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа в системе PayKeeper |
Таблица 2.6.1. Параметры запроса |
Ответ на запрос содержит массив параметров платежа в следующем формате.
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор |
2. | Параметр:payment_id | Назначение:Идентификатор платежа |
3. | Параметр:request_method | Назначение:Тип HTTP запроса |
4. | Параметр:request_uri | Назначение:URI Запроса |
5. | Параметр:ip | Назначение:IP Адрес запроса |
6. | Параметр:body | Назначение:Тело запроса |
7. | Параметр:datetime | Назначение:Дата/Время запроса |
Таблица 2.6.2 Параметры ответа на запрос |
Пример возвращаемого объекта:
1 2 3 4 5 6 7 8 9 10 11 12 |
[ { "id": "176325", "payment_id": "11186", "request_method": "POST", "request_uri": "/order/inline/", "ip": "187.145.22.11", "body": "orderid=7916&clientid=ivanivanov%40mail.ru&sum=120000&phone=891112345678", "datetime": "2017-03-21 14:25:20" } ] |
Запрос возвращает информацию о возвратах, выполненных по данному платежу. Для получения данных необходимо выполнить GET-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:GET | Формат запроса:/info/refunds/bypaymentid/?id=124076 |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа в системе PayKeeper |
Таблица 2.7.1. Параметры запроса |
По одному платежу может быть несколько возвратов. Ответ на запрос содержит массив параметров платежа в следующем формате.
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор возврата |
2. | Параметр:payment_id | Назначение:Идентификатор платежа |
3. | Параметр:refund_number | Назначение:Порядковый номер возврата по данному платежу |
4. | Параметр:user | Назначение:Пользователь, инициировавший возврат |
5. | Параметр:amount | Назначение:Сумма возврата |
6. | Параметр:reminder | Назначение:Остаток после возврата |
7. | Параметр:datetime | Назначение:Дата/Время проведения возврата |
8. | Параметр:status | Назначение:Статус возврата. Принимает значения «started», «done», «failed» |
Таблица 2.7.2 Параметры ответа на запрос |
Пример возвращаемого объекта:
1 2 3 4 5 6 7 8 9 10 11 12 |
[ { "id": "1", "payment_id": "124076", "refund_number": "1", "user": "admin", "amount": "9730.00", "remainder": "0.00", "datetime": "2017-02-10 10:58:36", "status": "done" } ] |
Данный метод автоматически определяет, будет выполнен полный возврат или отмена авторизации, частичный возврат или частичное списание в зависимости от состояния платежа на момент выполнения возврата и возможностей банка-эквайера.
Если система работает в режиме автоматической генерации фискальных чеков 54-ФЗ, то в этом запросе может дополнительно передаваться информация о товарах к возврату. В случае, если у исходного платежа была указана корзина с товарами, то при полном возврате корзину можно не указывать, а при частичном возврате корректная корзина необходима для формирования корректного чека 54-ФЗ. Если корзина товара указана неверно, на проведение возврата это не повлияет, но чек сгенерирован не будет. Если платёж на момент выполнения запроса был авторизован, то чек будет сгенерирован только на сумму частичного списания.
Запрос возвращает платеж полностью или частично. Возврат могут делать только пользователи с включённой функцией возврата. Для возврата платежа необходимо выполнить POST-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:POST | Формат запроса:/change/payment/reverse/ |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа в системе PayKeeper. |
2. | Параметр:amount | Назначение:Возвращаемая сумма, разделитель точка. |
3. | Параметр:partial | Назначение:Признак частичного возврата, может принимать значения true/false. ВАЖНО! Значения именно true/false! Значения 1/0 не воспринимаются системой. |
4. | Параметр:sbp_refund_to | Назначение:Используется только в определённых случаях. Передавать не нужно. |
5. | Параметр:token | Назначение:Токен безопасности. |
6. | Параметр:refund_cart | Назначение:Массив товаров к возврату. JSON-строка в таком же формате, что и при инициализации платежа. |
Таблица 2.8.1. Параметры запроса |
В случае успешного выполнения результатом данного запроса будет json массив:
1 2 3 4 5 |
[ { "result" : "success" } ] |
В случае возникновения ошибки будет возвращен json объект с расшифровкой ошибки:
1 2 3 4 5 |
{ "result": "fail", "msg": 'Нельзя сделать возврат по платежу, статус которого не "совершён", "получен" или "превышено число повторов"' } |
Возврат происходит в асинхронном режиме, поэтому сама по себе инициализация возврата не является гарантией его успешного выполнения. Для автоматического контроля возвратов рекомендуется использовать поисковый метод 2.1 (с выбором платежей со статусом refunding ), чтобы отслеживать появление незавершённых возвратов, либо контролировать проведение возврата по конкретному платежу запросом 2.7. На выполнение возврата обычно требуется до нескольких минут, поэтому рекомендуется проверять результат выполнения возврата через 3 минуты. Также PayKeeper может отправлять callback-запрос с уведомлением о состоявшемся возврате. Эта возможность включается в конфигурации сервера с PayKeeper.
Запрос сбрасывает счетчик оповещений для платежа и инициирует работу информера PayKeeper. Для сброса счетчика необходимо выполнить POST-запрос со следующими параметрами.
Тип | Формат запроса | |
Тип:POST | Формат запроса:/change/payment/repeatcnt/ |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Идентификатор платежа в системе PayKeeper. |
2. | Параметр:token | Назначение:Токен безопасности. |
Таблица 2.9.1. Параметры запроса |
В случае успешного выполнения результатом данного запроса будет объект:
1 2 3 4 5 |
[ { "result" : "success" } ] |
Подробнее о работе информера можно прочесть в разделе Приём POST оповещений
В настоящее время не используется
Запрос возвращает платежи, чьи номера, параметры оплаты, номера карт или коды авторизаций содержат указанную в запросу подстроку. Поиск осуществляется в пределах диапазона дат, который задаётся параметрами запроса.
Тип | Формат запроса | |
Тип:GET | Формат запроса:/info/payments/search/?query=4038*9682&beg_date=2016-01-01&end_date=2017-04-04 |
Параметр | Назначение | |
1. | Параметр:query | Назначение:Подстрока для поиска в параметрах платежа id и clientid, а также в опциях orderid, service_name, client_email, client_phone, CARD_NUMBER, APPROVAL_CODE. Поиск поддерживает синтаксис MySQL like. Символ * заменяется на %. |
2. | Параметр:beg_date | Назначение:Дата начала периода в формате YYYY-MM-DD. |
3. | Параметр:end_date | Назначение:Дата конца периода в формате YYYY-MM-DD. |
Таблица 2.11.1. Параметры запроса |
Ответ на запрос содержит массив объектов следующего вида.
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Номер платежа |
2. | Параметр:clientid | Назначение:Идентификатор плательщика |
3. | Параметр:orderid | Назначение:Номер заказа |
4. | Параметр:unique_id | Назначение:Идентификатор транзакции, назначенный Банком |
5. | Параметр:pay_amount | Назначение:Сумма платежа |
6. | Параметр:status | Назначение:Статус платежа |
7. | Параметр:payment_system_id | Назначение:Идентификатор платёжной системы |
8. | Параметр:repeat_counter | Назначение:Количество попыток оповещения ТСП об успешности платежа |
9. | Параметр:pending_datetime | Назначение:Дата/время начала операции |
10. | Параметр:obtain_datetime | Назначение:Дата/Время проведения платежа |
11. | Параметр:success_datetime | Назначение:Дата/Время информирования магазина о проведенном платеже |
Таблица 2.11.2 Параметры ответа на запрос |
Пример возвращаемого массива:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[ { "id": "124134", "pay_amount": "1.00", "clientid": "Иванов Петр Семенович", "orderid": "325009", "payment_system_id": "6", "unique_id": "Nhf+fl3l8Rz/rvCEtMNCVm12Ew=", "status": "success", "repeat_counter": "0", "pending_datetime": "2017-03-30 13:20:59", "obtain_datetime": "2017-03-30 13:21:43", "success_datetime": "2017-03-30 13:21:47" }, ... ] |
В случае, если необходимо списать средства по ранее выполненной авторизации, не дожидаясь автосписания, следует воспользоваться данным запросом. Для выполнения частичного списания нужно использовать запрос 2.8.
Тип | Формат запроса | |
Тип:POST | Формат запроса:/change/payment/capture/ |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Номер платежа к списанию |
2. | Параметр:token | Назначение:Токен безопасности. |
Таблица 2.12.1. Параметры запроса |
Ответ на запрос содержит объект с результатом операции, либо объект ошибки. Успешный результат операции в случае status = queued (при работе с Промсвязьбанком) означает принятие запроса Банком, но не его исполнение. Проверку успешности списания необходимо выполнить спустя несколько минут при помощи запроса 2.4.
Тип | Формат ответа | |
Параметр | Назначение | |
1. | Параметр:result | Назначение:Номер платежа |
Таблица 2.12.2 Параметры ответа на запрос |
Пример возвращаемого объекта:
1 2 3 4 5 |
[ { "result" : "success" } ] |
Согласно закону 54-ФЗ о применении контрольно-кассовой техники при передаче товара, предварительно оплаченного через Интернет, необходимо выдать кассовый чек. Также, согласно закону, если при передаче товара не происходит дополнительного расчёта, чек может быть выдан в электронном виде. Данный метод предназначен для простого оформления чека при передаче товара.
Если у всех товарных позиций в чеке по платежу код признака расчёта был полной предоплатой, с помощью этого метода можно выдать соответствующий чек окончательного расчёта. Товарные позиции будут соответствовать товарным позициям в исходном чеке.
Тип | Формат запроса | |
Тип:POST | Формат запроса:/change/payment/post-sale-receipt/ |
Параметр | Назначение | |
1. | Параметр:id | Назначение:Номер платежа, по которому выдаётся чек окончательного расчёта |
Таблица 2.13.1. Параметры запроса |
Все товарные позиции чека окончательного расчёта будут такими же, как и в первом чеке по данному платежу. Для чеков окончательного расчёта по авансовому платежу эту функцию использовать нельзя, т.к. при окончательном расчёте должен быть указан точный перечень товаров или услуг. Сумма чека «зачёт аванса» окончательного расчёта будет равна сумме чека «электронными» первого чека по платежу. Если платёж был частично возвращён, в качестве корзины товаров будут использоваться оставшиеся товары.
Чек формируется в асинхронном режиме. Если запрос был сформирован корректно и был принят, в ответ будет возвращён объект с полем result = success и номером сгенерированного запроса на чек receipt_id. Результат формирования чека нужно проверять запросом 8.4.
Рассмотренные выше запросы также используются в личном кабинете PayKeeper. Чтобы назначение запросов было более наглядным на приведенном ниже скриншоте отмечено, какие запросы используются для реализации функций личного кабинета.
Менеджер перезвонит вам и расскажет про детали подключения