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

Compare with Current View Page History

« Previous Version 38 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>

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

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

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

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

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

Чек в отмене

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

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

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

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

<FORM ACTION="https://<SERVER-NAME>/cancel/cancel.cfm" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="BillNumber" VALUE="Номер платежа">
<INPUT TYPE="HIDDEN" NAME="Merchant_ID" VALUE="Ваш Merchant_ID">
<INPUT TYPE="HIDDEN"NAME="Login"VALUE="Ваш логин">
<INPUT TYPE="HIDDEN"NAME="Password"VALUE="Ваш пароль"
<INPUT TYPE="HIDDEN" NAME="Amount"VALUE="Сумма"> 
<INPUT TYPE="HIDDEN" NAME="Currency"VALUE="Валюта"> 
<INPUT TYPE="HIDDEN" NAME= CancelReason"VALUE="1">
<INPUT TYPE="HIDDEN" NAME="Email" VALUE="test@test.ru">
<INPUT TYPE="HIDDEN" NAME="OrderComment" VALUE="тестовый платеж">
<INPUT TYPE="HIDDEN" NAME="Language" VALUE="RU">
<INPUT TYPE="HIDDEN" NAME="GenerateReceipt" ="1">
<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>