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

Compare with Current View Page History

« Previous Version 52 Next »

1.    Назначение и основные особенности счетов

Предприятие вызывает веб-сервис создания счета (с указанием номера счета, суммы, допустимого срока оплаты и т. д.), АПК Ассист формирует счет на оплату и платежный токен, соответствующий данному счету. Создание счета также возможно вручную из личного кабинета (https://account.paysecure.ru). Ссылка с платежным токеном отправляется системой АПК Ассист покупателю по электронной почте или предприятие формирует URL с использованием полученного платежного токена и переадресовывает покупателя на страницу оплаты счета. Также предприятие самостоятельная может отправить ссылку покупателю с помощью E-mail, SMS или других средств связи. Ссылка на оплату счета имеет следующий вид: https://<SERVER_NAME>/bill/paybill.cfm?ID=c2RmZ2UzNXkyNXR5MjU0

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

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

Порядок действий предприятия при подключении сервисов выставления и оплаты счетов

  • сделать заявку для подключения к функционалу выставления и оплаты счетов в службу технической поддержки АПК Ассист support@assist.ru;
  • получить подтверждение от службы технической поддержки АПК Ассист о том, что все необходимые технические настройки для функционирования сервисов выставления и оплаты счетов при оплате товаров и услуг данному предприятию выполнены.

2.    Cоздание счета (createbill)

Веб-сервис для создания счета принимает параметры счета (форматы HTTP POST/SOAP) и возвращает (в случае успешного создания счета) платежный токен/ID, соответствующий данному счету. На основе этого платежного токена предприятие может сформировать ссылку на своей стороне для переадресации покупателя на страницу оплаты счета или для самостоятельной отправки ее покупателю (E-mail, SMS или другие средства связи), или АПК Ассист может отправить ее по E-mail адресу покупателя, указанному в параметрах.

URL запроса для создания счета:

https://<SERVER-NAME>/bill/createbill.cfm

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

Название

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

Принимаемые значения

Значение по умолчанию

Описание

Merchant_ID

Да

Число


Идентификатор предприятия в АПК Ассист

Login

Да

8 - 20 символов 


Логин (лат. буквы и цифры, символ _)

Password

Да

8 - 20 символов


Пароль (лат. буквы и цифры)

Bill

Да/Нет1

Строка


Номер счета (при создании заказа будет использован в качестве OrderNumber)

Bill_amount

Да

Число


Сумма счета (OrderAmount в заказе)

Bill_currency

Да

Строка


Валюта счета (OrderCurrency)

Bill_comment

Нет

Строка


Комментарий (OrderComment в заказе)

Customer_Name

Нет

Строка


Имя плательщика (FirstName в заказе)

Customer_Lastname

Нет

Строка


Фамилия плательщика (LastName в заказе)

Customer_Middlename

Нет

Строка


Отчество плательщика (MiddleName в заказе)

Customer_Email

Да/Нет2

Строка


E-mail плательщика (Email в заказе)

Customer_Phone

Нет

Строка


Телефон плательщика (HomePhone в заказе)

Customer_Mobile

Нет

Строка


Мобильный телефон плательщика (MobilePhone в заказе)

Language

Нет

RU

EN

Настройка базового языка аккаунта мерчанта

Язык платежных страниц

Pay_until

Нет

Дата/время

1 сутки

Крайний срок оплаты счета (дата и время в GMT): YYYYMMDDThhmm, если не передано - вычисляется на основе настройки мерчанта

DelayPayment

Нет

Число

0

Флаг двустадийного платежа (параметр delay в заказе): 0- одностадийный, 1 - двустадийный режим оплаты.

SendNotification

Нет

Число

В зависимости от настроек мерчанта

Признак отправки счета: 0 - не отправлять, 1 – отправлять ссылку по Email, 2 – отправлять ссылку в SMS, 3 – отправлять ссылку и по Emai, и в SMS.

Checkvalue

Да

Строка


Контрольная сумма3

CustomerNumber

Нет

Строка


Идентификационный номер клиента магазина (для организации платежей в режиме OneClick).

Chequeitems**

Да/Нет4

Структура данных (строка в формате JSON)


Позиции чека согласно документу «Работа с чеком».

GenerateReceipt*

Нет

0 или 1

1

Разрешение формирования фискального чека. При значении параметра 0 формирование фискального чека запрещено для данного заказа.

Tax*

Да/Нет4

10 символов

Определяется настройкой предприятия "Ставка налога по умолчанию" и используется в режиме без передачи позиций чека (вся сумма должна проводится с одной ставкой).

Идентификатор ставки налога, значение из справочника (novat, vat0, vat10, vat18, vat110, vat118).

ReceiptLine*

Да/Нет4

128 символов

Определяется настройкой предприятия "Шаблон строки чека по умолчанию" и используется в режиме без передачи позиций чека).

Текстовое описание позиции чека, если по чеку проводится одна единственная позиция.

FPMode*

Да/Нет4

Число

Определяется настройкой предприятия "Признак способа расчета по умолчанию" и используется в режиме без передачи позиций чека.

Признак способа расчета

TaxationSystem**

Нет5

Число

Из настроек предприятия или ККТ

Система налогообложения.

1 Номер счета может не передаваться, если включена автоматическая генерация номера счета.

2 Если не передано значение адреса E-mail, то отправка счета по E-mail невозможна. Если не передан номер телефона, то отправка SMS невозможна. Примечание. Если признак отправки равен 3, то при отсутствии номера телефона ссылка на счет будет отправлена только по E-mail, а при отсутствии адреса E-mail нотификация вообще не будет выполнена.

3 Контрольная сумма формируется на основе формулы:

uppercase(md5(uppercase(md5(SALT) + md5(Х)))), где SALT – секретное слово; Х – результат строковой склейки всех переданных параметров счета (в последовательности по порядку следования параметров в таблице сверху вниз, не включая DelayPayment, SendNotification, Checkvalue и CustomerNumber) через разделитель - точка с запятой(";"), '+' – строковая склейка.

4 Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.

  1. Если в запросе передана структура ChequeItems (см. раздел «Работа с чеком»), то формируется чек с количеством позиций по числу переданных в ChequeItems строк, в каждой позиции должны быть обязательно указаны параметры:
    • product и/или name;
    • price;
    • quantity;
    • amount;

при этом:

название каждой из позиций формируется как объединение параметров product и name через пробел (если переданы оба) или как один из параметров product или name соответственно (если передан только один);

если параметры Tax или FPmode не переданы в позициях, то они могут быть переданы в параметрах запроса (в этом случае значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);

если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия (значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);

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

2. Если в запросе не передана структура ChequeItems, то формируется чек с одной позицией, в которой:

    • название позиции подставляется из параметра ReceiptLine, если он передан в запросе; если параметр ReceiptLine не передан в запросе, то название позиции подставляется из настроек предприятия; если настройки предприятия для этих параметров отсутствуют, то в качестве названия подставляется строка "Оплата заказа";
    • стоимость единицы товара/услуги подставляется из параметра запроса Amount;
    • количество всегда равно 1;

если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия;

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

5 Параметр TaxationSystem задается для всего чека в целом (не передается в позициях чека). Если параметр не передан, то его значение берется из настроек предприятия. Если у предприятия не настроено значение параметра TaxationSystem по умолчанию, то в ККТ этот параметр (тег 1055) не отправляется и ККТ будет проводить чек по собственным настройкам. Это возможно только в том случае, если в ККТ настроена только одна система налогообложения, в противном случае ККТ выдаст ошибку.

*    параметры, необходимые при использовании сервиса фискализации АПК Ассист.

**  параметры, необходимые при передаче позиций чека, подробное описание в разделе «Работа с чеком».


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

Если в запросе не переданы обязательные параметры или нарушены форматы передачи данных, то счет не создается и выдается сообщение об ошибке (аналогично ошибке при создании заказа с неверными/недостающими параметрами).

Если не удается создать уникальный платежный токен/ID, то счет не создается и выдается сообщение об ошибке "Не удалось сформировать уникальный платежный токен".

Пример запроса HTTP POST для создания счета:

<FORM ACTION="https://<SERVER-NAME>/bill/createbill.cfm" method="POST">
<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="Bill" VALUE="Номер счета">
<INPUT TYPE="hidden" NAME="Bill_amount" VALUE="Сумма счета">
<INPUT TYPE="hidden" NAME="Bill_currency" VALUE="Валюта счета">
<INPUT TYPE="hidden" NAME="Bill_comment" VALUE="Комментарий к счету">
<INPUT TYPE="hidden" NAME="Customer_Name" VALUE="Имя плательщика">
<INPUT TYPE="hidden" NAME="Customer_Lastname" VALUE="Фамилия плательщика">
<INPUT TYPE="hidden" NAME="Customer_Middleтame" VALUE="Отчество плательщика">
<INPUT TYPE="hidden" NAME="Customer_Email" VALUE="Email плательщика">
<INPUT TYPE="hidden" NAME="Customer_Phone" VALUE="Телефон плательщика">
<INPUT TYPE="hidden" NAME="Customer_Mobile" VALUE="Моб. телефон плательщика">
<INPUT TYPE="hidden" NAME="Language" VALUE="Язык платежных страниц">
<INPUT TYPE="hidden" NAME="Pay_until" VALUE="Срок оплаты счета">
<INPUT TYPE="hidden" NAME="SendNotification" VALUE="Флаг отправки счета">
<INPUT TYPE="hidden" NAME="Checkvalue" VALUE="Контрольная сумма">
<INPUT TYPE="hidden" NAME="GenerateReceipt" VALUE="1">
<INPUT TYPE="hidden" NAME="Tax" VALUE="Идентификатор ставки налога">
<INPUT TYPE="hidden" NAME="ReceiptLine" VALUE="Наименование позиции чека">
<INPUT TYPE="hidden" NAME="FPMode" VALUE="Признак способа расчета">
<INPUT TYPE="Submit"></FORM>

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

Название

Значение

Hash

Платежный токен/ID счета

Пример результата запроса для создания счета в формате CSV:

Hash: xKPWpz4ZzDe5A9anPhnN 

В формате XML:

<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<result 
   firstcode="0"
   secondcode="0" 
   count="1">
      <return>
          <Hash>akPWp08t84MTQ9anTy30</Hash>
      </return>
</result>

Описание веб-сервиса для формата SOAP:

https://<SERVER_NAME>/bill/createbill.wsdl

Пример запроса для создания счета:

<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header/>
    <Body>
        <WSCreateBill>
            <Bill>
                <merchant_id>423422</merchant_id>
                <login>login</login>
                <password>password</password>
                <bill>123456</bill>
                <bill_amount>23.23</bill_amount>
                <bill_currency>RUB</bill_currency>
                <bill_comment></bill_comment>
                <customer_name>Test</customer_name>
                <customer_lastname>Testov</customer_lastname>
                <customer_middlename>Testovich</customer_middlename>
                <customer_email>test@testpost.ru</customer_email>
                <customer_phone></customer_phone>
                <language>RU</language>
                <pay_until>20150611T1212</pay_until>
                <sendnotification>0</sendnotification>
                <checkvalue> AA3BC3F48B7FE23988044B53AA98F169</checkvalue>
            </Bill>
        </WSCreateBill>
    </Body>
</Envelope>

Пример результата запроса создания счета:

<soapenv:Envelope 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        <ASS-NS:BillResponse xmlns:ASS-NS="http://www.paysecure.ru/ws/">
            <return xsi:type="si:SOAPStruct" xmlns:si="http://www.paysecure.ru/type/">
                <Hash xsi:type="xsd:string">6CPV7F4a0aWQg9XsXhrS</Hash>
            </return>
        </ASS-NS:BillResponse>
    </SOAP-ENV:Body>

3.  Запрос статуса счета (billstatus)

Сервис позволяет получить полные данные о счете, его оплате и отменам по его номеру или параметру billnumber.