Чек в заказе

Чек передается в авторизационном запросе . Для этого необходимо в запросе передать дополнительный параметр ChequeItems, в котором передаётся структура в формате JSON, как в следующем примере.

Пример структуры чека в параметре ChequeItems:

{"items":[
{"id": 1,
    "product": "123460176",
    "name": "Первый товар",
    "price": 201.45,
    "quantity": 42.345,
    "amount": 8530.40,
    "tax": "vat10",
    "fpmode": 1},
{"id": 2,
    "product": "123460189",
    "name": "Второй товар",
    "price": 15301.01,
    "quantity": 0.128,
    "amount": 1958.53,
    "tax": "vat18",
    "fpmode": 1}
]}

В структуре передаются следующие параметры позиций чека:

Название

Обязательное поле

Тип значения

Описание

id

Да

int

Позиция в чеке (уникальное число для чека)

product

Да/Нет*

string(50)

Код товара по справочнику товаров магазина

name

Да/Нет*

string(250)

Наименование товара

price

Да

float(10.2)

Стоимость единицы товара (услуги)

quantity

Да

float

Количество/объем товара/услуги в единицах измерения товара (может быть дробным числом)

amount

Да

float(15.2)

Стоимость позиции price*quantity

tax

Да**

string(10)

Идентификатор ставки налога,

fpmode

Нет**

int

Способ расчета

*Должен быть определен один из параметров -  код товара или его наименование, либо оба параметра должны быть переданы (при формировании чека они объединяются в одну строку).

**Параметры tax и fpmode не передаются в запросе на отмену или возврат средств.


Значения параметров price и amount всех позиций в чеке должны быть в одной валюте, и эта валюта должна совпадать с валютой заказа (параметр OrderCurrency в авторизационном запросе).

Сумма всех позиций чека (по параметру amount) должна быть равна сумме заказа (параметр OrderAmount в авторизационном запросе).

Если указанные выше условия не соблюдаются, чек признается неверным и происходит ошибка авторизационного запроса.

Чек при подтверждении

При двустадийном механизме работы финансовое подтверждение интернет-магазин может осуществить в течение 4 дней в Личном кабинете либо с помощью веб-сервиса.

Для подтверждения оплаты нужно отправить запрос на сервер АПК Ассист методом HTTP POST или SOAP (в кодировке UTF-8).

URL запроса для передачи финансового подтверждения и список параметров запроса подтверждения оплаты совпадают с указанными здесь. Для передачи чека подтверждения в запросе HTTP POST добавляется лишь дополнительный параметр ChequeItems, в котором передаётся структура в формате JSON, как в следующем примере.

Пример структуры чека в параметре ChequeItems:

{"items":[
{"id": 1,
    "product": "123460176",
    "name": "Первый товар",
    "price": 201.45,
    "quantity": 21.12,
    "amount": 8530.40,
    "tax": "vat10",
    "fpmode": 1}
{"id": 2,
    "product": "123460189",
    "name": "Второй товар",
    "price": 15301.01,
    "quantity": 0.064,
    "amount": 979.26,
    "tax": "vat18",
    "fpmode": 1}
]}

Для передачи чека подтверждения в SOAP запросе добавляется лишь дополнительная повторяющаяся структура ChequeItem, в которой передаются позиции чека, как в следующем примере.

Пример структуры позиций чека ChequeItem:

<chequeitem>
  <id>1</id>
  <product>123460176</product>
  <name>Первый товар</name>
  <price>201.45</price>
  <quantity>21.12</quantity>
  <amount>8530.40</amount>
  <tax>vat10</tax>
  <fpmode>1</fpmode>
</chequeitem>
<chequeitem>
  <id>2</id>
  <product>123460176</product>
  <name>Первый товар</name>
  <price>15301.01</price>
  <quantity>0.064</quantity>
  <amount>979.26</amount>
  <tax>vat18</tax>
  <fpmode>1</fpmode>
</chequeitem>

Подтверждение может быть проведено как на всю сумму оплаты, так и на часть суммы. Допускается совершение частичного подтверждения на сумму, не превышающую суммы оплаты, если операция оплаты по кредитной карте была совершена через процессинг, имеющий соответствующие настройки.

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

Для каждой позиции чека подтверждения параметры product, name, price должны быть безусловно эквивалентны этим параметрам соответствующей позиции чека оплаты.

Сумма параметров amount всех позиций чека подтверждения должна быть равна сумме подтверждения из поля Amount запроса на подтверждение.

В случае подтверждения на полную сумму не обязательно передавать набор структур ChequeItem соответствующий всему чеку, переданному в заказе. Для подтверждения на полную сумму чек не является обязательным.

Чек в отмене

Отмена отдельных позиций чека может быть выполнена оператором в личном кабинете или посредством обращения к веб-сервису wscancel.

Для отмены оплаты по отдельным позициям чека через веб-сервис нужно выполнить SOAP запрос (в кодировке UTF-8) к серверу АПК Ассист.

URL запроса для отмены или возврата средств и список параметров запроса отмены оплаты совпадают с указанными здесь значениями . Для передачи чека отмены добавляется лишь повторяющаяся структура ChequeItem, в которой передаются позиции чека, как в следующем примере.

Пример структуры позиции чека ChequeItem:

<chequeitem>
  <id>1</id>
  <product>123460176</product>
  <name>Первый товар</name>
  <price>201.45</price>
  <quantity>21.12</quantity>
  <amount>8530.40</amount>
</chequeitem>

В случае проведения отмены на полную сумму не обязательно передавать набор структур ChequeItem соответствующий всему чеку, переданному в заказе. Для отмены на полную сумму чек не является обязательным.

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

Для каждой позиции чека отмены параметры product, name, price должны быть безусловно эквивалентны этим параметрам соответствующей позиции чека оплаты или чека подтверждения при двустадийном механизме работы.

Сумма параметров amount всех позиций чека отмены должна быть равна сумме отмены из поля Amount запроса на отмену.

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

Значения параметров price и amount всех позиций в чеке должны быть в одной валюте, и эта валюта должна совпадать с валютой запроса (параметр Currency в запросе).

Если указанные выше условия не соблюдаются, чек признается неверным и происходит ошибка запроса.

Чек в рекуррентных платежах

Для инициации рекуррентного платежа необходимо в первоначальном запросе на авторизацию передать значение параметра RecurringIndicator=1 и значения параметров, задающих диапазон сумм последующих рекуррентных платежей, периодичность оплат (в днях) и дату окончания подписки.

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

URL запроса для рекуррентного платежа и список параметров запроса совпадают с указанными здесь значениями .

Для передачи чека рекуррентного платежа в запросе HTTP POST добавляется лишь дополнительный параметр ChequeItems, в котором передаётся структура в формате JSON, как в следующем примере.

Пример структуры чека в параметре ChequeItems:

{"items":[
{"id": 1,
    "product": "123460176",
    "name": "Первый товар",
    "price": 201.45,
    "quantity": 21.12,
    "amount": 8530.40,
    "tax": "vat10",
    "fpmode": 1}
{"id": 2,
    "product": "123460189",
    "name": "Второй товар",
    "price": 15301.01,
    "quantity": 0.064,
    "amount": 979.26,
    "tax": "vat18",
    "fpmode": 1}
]}