API

  1. Домой
  2. API
  3. Вспомогательные запросы
  4. Создание чека

Создание чека

Перед настройкой необходимо связаться с менеджером.

Послать данные в ОФД можно как из личного кабинета магазина, так и в автоматическом режиме путем вызова скрипта https://www.platron.ru/receipt.php

Создавать данные для чека можно сразу после создания операции. Чек в ОФД и покупателю отправится только после успешного завершения операции. Для тестирования нужно связаться с менеджером. Параметры передаются одним из методов прямого запроса (см. Способы прямого взаимодействия между магазином и Platron). Максимальное время ожидания ответа – 30 секунд.

Если оплата в иностранной валюте или используется платежная система в которой настроена комиссия сверху платежа, то необходимо выписывать чек после получения запроса на result об успешном платеже. Данный запрос не работает для заявок на возврат и возвратов без платежа (moneyback) не привязанных к транзакции.

Список параметров запроса:

Параметр Описание
pg_merchant_id Идентификатор магазина
pg_operation_type Тип операции (enum) payment — оплата refund – возврат по API moneyback – выплата
pg_payment_id * Номер платежной транзакции (int)
pg_order_id * Номер заказа магазина
pg_salt Случайная строка
pg_sig Подпись
pg_items Массив позиций в чеке. См. таблицу ниже
pg_customer_name Имя покупателя (string). Заполняется вместе с pg_customer_inn. Обязательны только для определенных мерчантов.
pg_customer_inn ИНН покупателя
pg_additional_payment_type Дополнительная оплата. Возможные значения:
  • prepayment
  • credit
pg_additional_payment_amount Сумма дополнительной оплаты. Параметр обязателен в случае, если передается параметр pg_additional_payment_type

* Требуется либо pg_payment_id, либо pg_order_id. В случае с pg_order_id, если он не уникальный, то чек будет создан к последнему заказу.

Поля pg_items:
pg_label Наименование товара (string) Максимальная длина составляет 128 символов
pg_nomenclature_code Маркировка товара по формату (string)
pg_price Цена товара с учетом всех скидок и наценок (float, 2 знака после запятой)
pg_quantity Количество (float)
pg_vat Ставка НДС (enum):
  • 0 – ставка НДС 0%
  • 10 – ставка НДС 10%
  • 20 – ставка НДС 20%
  • 110 – ставка НДС 10/110
  • 120 – ставка НДС 20/120
  • none — не облагается НДС
pg_type Тип услуги/товара.Возможные варианты:
  • product — товар, за исключением подакцизного товара
  • product_practical — подакцизный товар
  • work — работа
  • service — услуга
  • gambling_bet — прием ставок при осуществлении деятельности по проведению азартных игр
  • gambling_win — выплата денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр
  • lottery_bet — прием денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок при осуществлении деятельности по проведению лотерей
  • lottery_win — о выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей
  • rid — предоставление прав на использование результатов интеллектуальной деятельности или средств индивидуализации «ПРЕДОСТАВЛЕНИЕ РИД» или «РИД»
  • payment — об авансе, задатке, предоплате, кредите, взносе в счет оплаты, пени, штрафе, вознаграждении бонусе и ином аналогичном предмете расчета
  • commission — вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом
  • composite — о предмете расчета, состоящем из предметов, каждому из которых может быть присвоено значение от «0» до «11» (0-11 — это вышеперечисленные)
  • other — о предмете расчета, не относящемуся к предметам расчета, которым может быть присвоено значение от «0» до «12» (0-12 — это вышеперечисленные)

По умолчанию используется значение product

pg_payment_type Способ расчета. Возможные варианты:
  • pre_payment_full — полная предварительная оплата до момента передачи предмета расчета «ПРЕДОПЛАТА 100 %»
  • pre_payment_part — частичная предварительная оплата до момента передачи предмета расчета — «ПРЕДОПЛАТА»
  • full_payment — полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета — «ПОЛНЫЙ РАСЧЕТ»
  • advance — аванс
  • credit_part — частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит — «ЧАСТИЧНЫЙ РАСЧЕТ И КРЕДИТ»
  • credit_pay — оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) — «ОПЛАТА КРЕДИТА»
  • credit — передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит — «ПЕРЕДАЧА В КРЕДИТ»

По умолчанию используется значение full_payment

pg_agent_type Тип платежного агента. Возможные варианты:
  • commissionaire — осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером
  • bank_payment_agent — оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом
  • bank_payment_subagent — оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом
  • payment_agent — оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом
  • payment_subagent — оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом
  • solicitor — осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным
  • agent — осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером
pg_agent_phone Телефон поставщика (только цифры)
pg_agent_name Имя поставщика
pg_agent_inn ИНН поставщика (только цифры)

Если передано хотя бы одно из полей agent, необходимо запонение всех оставшихся полей.

Если у магазина нет необходимости передавать дополнительные параметры, никаких изменений вносить не нужно.

Пример GET запроса:

https://www.platron.ru/receipt.php?pg_merchant_id=123&pg_salt=your_salt&pg_sig=generated_sig&pg_operation_type=payment&pg_payment_id=payment_id&pg_additional_payment_amount=12.23&pg_additional_payment_type=credit&pg_customer_name=customer_name&pg_customer_inn=12345678901&pg_items[0][pg_label]=item1&pg_items[0][pg_price]=1.1&pg_items[0][pg_quantity]=2&pg_items[0][pg_vat]=20&pg_items[0][pg_type]=product&pg_items[0][pg_payment_type]=full_payment&pg_items[0][pg_agent_type]=agent&pg_items[0][pg_agent_name]=name&pg_items[0][pg_agent_inn]=12345678902&pg_items[0][pg_agent_phone]=79999999999

Пример XML запроса (передается POST’ом в параметре pg_xml):

<?xml version="1.0" encoding="utf-8"?>
<request>
	<pg_merchant_id>123</pg_merchant_id>
	<pg_salt>your_salt</pg_salt>
	<pg_sig>generated_sig</pg_sig>
	<pg_operation_type>payment</pg_operation_type>
	<pg_payment_id>payment_id</pg_payment_id>
	<pg_additional_payment_amount>12.23</pg_additional_payment_amount>
	<pg_additional_payment_type>credit</pg_additional_payment_type>
	<pg_customer_name>customer_name</pg_customer_name>
	<pg_customer_inn>12345678901</pg_customer_inn>
	<pg_items>
		<pg_label>item1</pg_label>
		<pg_price>1.1</pg_price>
		<pg_quantity>2</pg_quantity>
		<pg_vat>20</pg_vat>
		<pg_type>product</pg_type>
		<pg_payment_type>full_payment</pg_payment_type>
		<pg_agent_type>agent</pg_agent_type>
		<pg_agent_name>name</pg_agent_name>
		<pg_agent_inn>12345678902</pg_agent_inn>
		<pg_agent_phone>79999999999</pg_agent_phone>
	</pg_items>
</request>

Ответ на запрос представляет собой XML следующего вида в случае успешного выполнения запроса:

<?xml version="1.0" encoding="utf-8"?>
<response>
 	<pg_status>ok</pg_status>
 	<pg_receipt_id>135</pg_receipt_id>
 	<pg_salt>salt</pg_salt>
 	<pg_sig>60beff140b3c9c6dt87603522cc1c07f</pg_sig>
</response>

Здесь:

pg_receipt_id Номер созданного чека

В случае ошибки:

<?xml version="1.0" encoding="utf-8"?>
<response>
	<pg_salt>9865</pg_salt>
	<pg_status>error</pg_status>
	<pg_error_code>100</pg_error_code>
	<pg_error_description>Incorrect signature</pg_error_description>
	<pg_sig>4df0f9d237952f56bd05c602d2873ed0</pg_sig>
</response>

Здесь:

pg_status Результат обработки запроса
pg_error_code Код ошибки
pg_error_description Описание причины ошибки
pg_salt Случайная строка
pg_sig Подпись