В АПК Ассист предусмотрен функционал, позволяющий реализовать оплату с передачей чека. Этот режим позволяет перейти к детализации в заказе на уровне перечня позиций, по которым осуществляется оплата в рамках заказа.
Чек в заказе
Чек передается в авторизационном запросе . Для этого необходимо в запросе передать дополнительный параметр ChequeItems, в котором передаётся структура в формате JSON, как в следующем примере.
В структуре передаются следующие параметры позиций чека:
Название | Обязательное поле | Тип значения | Описание |
id | Да | int | Позиция в чеке (уникальное число для чека) |
product | Да/Нет1 | string(50) | Код товара по справочнику товаров магазина |
name | Да/Нет1 | string(250) | Наименование товара |
price | Да | float(10.2) | Стоимость единицы товара (услуги) |
quantity | Да | float | Количество/объем товара/услуги в единицах измерения товара (может быть дробным числом) |
measure | Нет3 | string | |
amount | Да | float(15.2) | Стоимость позиции price*quantity |
tax | Да/Нет2 | string(10) | |
taxes | Да/Нет2 | Array[string] | Массив идентификаторов используемых ставок налога |
gs1code | Нет | string(30) | GS1 DataMatrix код маркировки товара (номер акцизной марки). Примечание. Код должен быть преобразован в BASE64 (URL safe). |
1Должен быть определен один из параметров - код товара или его наименование, либо оба параметра должны быть переданы. В зависимости от переданного значения в ОФД в качестве кода товара будет отправлено число (если было передано число не больше 9223372036854775807), либо в качестве наименования будет отправлена склейка переданного значения с значением наименования в поле name (если была передана строка или число больше 9223372036854775807).
2Обязательным является один из двух параметров Tax (если при платеже использовалась единственная ставка налога) и Taxes (если для платежа использовались несколько ставок налога). Параметр Tax (Taxes) не передаются в запросе на отмену или возврат средств.
3Если параметр не передан, то его значение берется из настроек предприятия.
Значения параметров price и amount всех позиций в чеке должны быть в одной валюте, и эта валюта должна совпадать с валютой заказа (параметр OrderCurrency в авторизационном запросе).
Сумма всех позиций чека (по параметру amount) должна быть равна сумме заказа (параметр OrderAmount в запросе).
Если указанные выше условия не соблюдаются, чек признается неверным и происходит ошибка запроса.
Пример запроса в формате POST:
<FORM ACTION="https://<SERVER-NAME>/pay/order.cfm" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="Merchant_ID" VALUE="Ваш Merchant_ID"> <INPUT TYPE="HIDDEN" NAME="OrderNumber" VALUE="A20042011_28"> <INPUT TYPE="HIDDEN" NAME="OrderAmount" VALUE="2672.01"> <INPUT TYPE="HIDDEN" NAME="OrderCurrency" VALUE="KZT"> <INPUT TYPE="HIDDEN" NAME="Email" VALUE="test@test.kz"> <INPUT TYPE="HIDDEN" NAME="OrderComment" VALUE="тестовый платеж"> <INPUT TYPE="HIDDEN" NAME="URL_RETURN_OK" VALUE="http://www.URL.kz/yes"> <INPUT TYPE="HIDDEN" NAME="URL_RETURN_NO" VALUE="http://www.URL.kz/no"> <INPUT TYPE="HIDDEN" NAME="CardPayment" VALUE="1"> <INPUT TYPE="HIDDEN" NAME="Delay" VALUE="0"> <INPUT TYPE="HIDDEN" NAME="Language" VALUE="RU"> <INPUT TYPE="HIDDEN" NAME="TaxationSystem" ="1"> <INPUT TYPE="HIDDEN" NAME="CashierINN" ="2147483646"> <INPUT TYPE="HIDDEN" NAME="Cashier" ="Иванов Иван Иванович"> <INPUT TYPE="HIDDEN" NAME="PaymentPlace" ="А345"> <INPUT TYPE="HIDDEN" NAME="TaxpayerID" ="123456789113"> <INPUT TYPE="HIDDEN" NAME="ChequeItems" = "{[{"id":"1" "name":"name1", "product":"2147483646", "price":"150.82", "quantity":"2.37", "measure":"кг", "amount":"357.44", "taxes":"[{'name':'vat12','value':12},{'name':'vat0','value':0}]", }, {"id":"2", "name":"Товар 2", "product":"1212", "price":"128.12", "quantity":"5.76", "measure":"кг", "amount":"737.97", "tax":"vat12", }, {"id":"3", "name":"Товар 3", "price":"370.6789", "product":"131415", "quantity":"2.658", "measure":"кг", "amount":"985.24", "tax":"vat0", }, {"id":"4", "name":"Name 4", "product":"5432", "price":"49.56788", "quantity":"6", "measure":"кг", "amount":"297.36", "taxes":"[{'name':'vat0','value':0}]", }, {"id":"5", "name":"Товар 5", "product":"11223344", "price":"49", "quantity":"6", "measure":"кг", "amount":"294", }]}" <INPUT TYPE="HIDDEN" NAME="Lastname" VALUE="Тестов"> <INPUT TYPE="HIDDEN" NAME="Firstname" VALUE="Тест"> <INPUT TYPE="HIDDEN" NAME="Middlename" VALUE="Тестович"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Купить"> </FORM>
Чек при подтверждении
При двустадийном механизме работы финансовое подтверждение интернет-магазин может осуществить в течение 4 дней в Личном кабинете либо с помощью веб-сервиса.