You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »

В АПК Ассист предусмотрен функционал, позволяющий реализовать оплату с передачей чека. Этот режим позволяет перейти к детализации в заказе на уровне перечня позиций, по которым осуществляется оплата в рамках заказа.

Чек в заказе

Чек передается в авторизационном запросе . Для этого необходимо в запросе передать дополнительный параметр 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 дней в Личном кабинете либо с помощью веб-сервиса.

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

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

Пример запроса в формате POST:

<FORM ACTION="https://<SERVER-NAME>/charge/charge.cfm" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="Merchant_ID" VALUE="Ваш Merchant_ID">
<INPUT TYPE="HIDDEN" NAME="BillNumber" VALUE="Номер платежа">
<INPUT TYPE="HIDDEN"NAME="Login"VALUE="Ваш логин">
<INPUT TYPE="HIDDEN"NAME="Password"VALUE="Ваш пароль"
<INPUT TYPE="HIDDEN" NAME="Amount" VALUE="2672.01">
<INPUT TYPE="HIDDEN" NAME="Currency" VALUE="KZT"> 
<INPUT TYPE="HIDDEN" NAME="Type" VALUE="sell"> 
<INPUT TYPE="HIDDEN" NAME="Email" VALUE="test@test.kz">
<INPUT TYPE="HIDDEN" NAME="Paymenttype" VALUE="1">
<INPUT TYPE="HIDDEN" NAME="Format" VALUE="3">
<INPUT TYPE="HIDDEN" NAME="Language" VALUE="RU">
<INPUT TYPE="HIDDEN" NAME="Lastname" VALUE="Тестов">
INPUT TYPE="HIDDEN" NAME="Firstname" VALUE="Тест"
<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="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="SUBMIT" NAME="Submit" VALUE="Выполнить">
</FORM>

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