Для оповещения предприятия о результате платежа в режиме реального времени система АПК Ассист предоставляет сервис асинхронной отправки результатов платежа на сервер предприятия. После завершения покупателем оплаты заказа (при помощи банковской карты или одного из средств электронной наличности) на сервер предприятия методом HTTP POST или SOAP отправляется сообщение с параметрами платежа.

Если предприятие работает по программе лояльности «Спасибо от Сбербанка», то рекомендуемый тип протокола для отправки результатов – SOAP EXT (настраивается службой поддержки support@assist.ru).

Настроить отправку можно в Личном кабинете, указав URL для отправки результатов, тип протокола, тип подписи и секретное слово.

После активации и настройки сервиса на сервер предприятия будут отправляться результаты операций (оплат, подтверждений, отмен – в зависимости от настроек). Не отправляются результаты операций оплаты, завершенных по тайм-ауту.

Если при оплате заказа были использованы бонусные баллы от СберБанка, пакет результата будет содержать две вложенные операции заказа.

Внимание! По соображениям безопасности данные отправляются только на порты 443, 8443, 80, 8080. На другие порты данные отправляться не будут!

Для работы сервиса по протоколу HTTPS необходимо использовать сертификат доверенного центра сертификации.

Список отправляемых параметров:

Название

Значение

merchant_id

Идентификатор предприятия

ordernumber

Номер заказа

billnumber

Полный уникальный номер операции в системе

testmode

Тестовый режим

ordercomment

Комментарий

orderamount

Оригинальная сумма заказа

ordercurrency

Оригинальная валюта заказа

amount

Сумма операции

currency

Валюта операции

rate

Курс валюты

firstname

Имя плательщика

lastname

Фамилия плательщика

middlename

Отчество плательщика

email

Email плательщика

clientip

IP-адрес совершившего операцию

ipaddress

IP-адрес плательщика

meantype_id

ID платежного средства

meantypename

Тип платежного средства

meansubtype

Подтип платежного средства

meannumber

Номер платежного средства

cardholder

Держатель платежного средства

cardexpirationdate

Срок действия карты

issuebank

Название банка-эмитента

bankcountry

Страна банка-эмитента

orderdate

Дата заказа по Гринвичу (GMT)

orderstate

Cтатус заказа

responsecode

Код возврата

message

Сообщение

customermessage

Сообщение о результате для покупателя

recommendation

Рекомендации

approvalcode

Код авторизации

protocoltypename

Протокол

processingname

Процессинг

operationtype

Тип операции

operationdate

Дата и время операции (GMT)

authresult

Результат авторизации по 3DSecure (Y - успешно, N - неуспешно, A - Attempt, U – неизвестно, R- отказ, C – не завершено по каким-либо причинам, E - ошибка)

authrequired

Результат проверки вовлеченности карты (1 – вовлечена, 0 – не вовлечена, -1 – неизвестно, null – ошибка при определении вовлеченности)

packetdate

Дата формирования запроса по Гринвичу (GMT)

signature

1) Для типа подписи MD5 - пусто

2) Для типа PGP – значение X, подписанное закрытым ключом АПК Ассист, закодированное в BASE64

checkvalue

Контрольный код сообщения.

1) Для типа подписи MD5 вычисляется по формуле: uppercase(md5(uppercase(md5(SALT) + md5(Х)))), где SALT – секретное слово; Х – результат строковой склейки параметров merchant_id, ordernumber, amount, currency, orderstate (без разделителей); + - строковая склейка.

2) Для типа PGP  - пусто

errorcategory***

Категория ответов при неуспешных оплатах, полученная от VISA

merchantadvicecode***

Код уведомления покупателя, полученный от Mastercard

slipno

Номер финансовой транзакции, отправляемый в процессинг

payment_Id*

Идентификатор внешней операции

fiscalreceipt_Id*

Идентификатор чека

status*

Статус чека

fiscal_receipt_number*

Номер чека в смене

shift_number*

Номер смены

receipt_datetime*

Дата и время документа из ФН

total*

Итоговая сумма документа

fn_number

Номер ФН

ecr_registration_number*

Регистрационный номер ККМ

fiscal_document_number*

Фискальный номер документа

fiscal_document_attribute*

Фискальный признак документа

errortext*

Текст ошибки

taxationsystem*

Код системы налогообложения

chequeItems**

Строка с позициями чека в JSON формате согласно документу «Работа с чеком».

extrrn***

Уникальный номер платежа в процессинге

Параметры 3DSecure
versionВерсия протокола 3DSecure
alphaauthresultРезультат авторизации (Y - успешно, N - неуспешно, A - Attempt, U – невозможно провести аутентификацию, R- отказ, C – не завершено по каким-либо причинам, E - ошибка, I - для информации)
challengeВзаимодействие с держателем карты (C – было, F – не было. D - отложенная аутентификация
eciElectronic Commerce Indicator (5 – полная аутентификация, 6 – попытка аутентификации, 7 – без аутентификации)

*Параметры фискализации, передаются только при включенной настройке «Отправка результатов фискализации» в ЛК АПК Ассист.

** Позиции заказа, передаются только при включенной настройке «Отправлять позиции заказа» в ЛК АПК Ассист.

***Для передачи параметра необходимо обратиться в службу поддержки (support@assist.ru).


передается дополнительный параметр в формате SOAP EXT

rrn

Уникальный номер операции в клиринговом обмене между банками



<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://www.paysecure.ru/ws/"><soapenv:Body>
<ws:PushPaymentResult>
<merchant_id>500001</merchant_id>
<ordernumber>18062012_SDR</ordernumber>
<billnumber>550000110000001.1</billnumber>
<testmode>1</testmode>
<ordercomment>тестовый платеж</ordercomment> 
<orderamount>21.00</orderamount> 
<ordercurrency>RUB</ordercurrency>
<amount>21.00</amount> 
<currency>RUB</currency> 
<rate>1</rate> 
<firstname>Test</firstname> 
<lastname>Testov</lastname> 
<middlename>T.</middlename> 
<email>test@test.ru</email> 
<clientip>10.10.10.10</clientip> 
<ipaddress>0.0.0.0</ipaddress> 
<meantype_id>2</meantype_id> 
<meantypename>MasterCard</meantypename>
<meansubtype>Standart</meansubtype>
<meannumber>546792****4128</meannumber>
<cardholder>TEST</cardholder> 
<cardexpirationdate>12/20</cardexpirationdate>
<issuebank>Bank</issuebank> 
<bankcountry>RUS</bankcountry> 
<orderdate>18.06.2018 11:10:06</orderdate> 
<orderstate>Approved</orderstate> 
<responsecode>AS000</responsecode>
<message /> 
<customermessage>Завершено успешно.</customermessage>
<recommendation>SUCCESSFUL AUTHORIZATION</recommendation> 
<approvalcode>X40334</approvalcode>
<protocoltypename>NET</protocoltypename>
<processingname>Fake</processingname>
<operationtype>100</operationtype>
<operationdate>18.06.2018 11:10:07</operationdate> 
<authresult /> 
<authrequired>0</authrequired> 
<slipno>0363521111X31457</slipno>
<packetdate>18.06.2018 11:11:02</packetdate> 
<signature /> 
<checkvalue>45A33F800F2BD16C02E3D2F5C81557A0</checkvalue>
<threedsdata>
    <version>1.0.0</version>
    <alphaauthresult>Y</alphaauthresult>
    <challenge>C</challenge>
    <eci>5</eci>
</threedsdata>
</ws: PushPaymentResul></soapenv:Body></soapenv:Envelope>
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://www.paysecure.ru/ws/"><soapenv:Body>
<ws:PushPaymentResult>
<merchant_id>747514</merchant_id>
<ordernumber>220620181337400_ChequeItems</ordernumber>
<billnumber>5747514233327433.1</billnumber>
<testmode>0</testmode>
<ordercomment></ordercomment>
<orderamount>2272.96</orderamount>
<ordercurrency>RUB</ordercurrency>
<amount>2272.96</amount>
<currency>RUB</currency>
<rate>1</rate>
<firstname>Тест</firstname>
<lastname>Тестов</lastname>
<middlename>Тестович</middlename>
<email>null@assist.ru</email>
<clientip>10.20.10.85</clientip>
<ipaddress>10.20.10.99</ipaddress>
<meantype_id>2</meantype_id>
<meantypename>MasterCard</meantypename> 
<meansubtype>MasterCard BusinessCard Card</meansubtype>
<meannumber>545301****4468</meannumber>
<cardholder>TEST</cardholder>
<cardexpirationdate>12/20</cardexpirationdate>
<issuebank>Bank</issuebank>
<bankcountry> RUS </bankcountry>
<orderdate>22.06.2018 10:37:08</orderdate>
<orderstate>Approved</orderstate>
<responsecode>AS000</responsecode>
<message /> 
<customermessage>Завершено успешно.</customermessage> 
<recommendation>SUCCESSFUL AUTHORIZATION</recommendation> 
<approvalcode>X38229</approvalcode> 
<protocoltypename>NET</protocoltypename>
<processingname>Fake</processingname>
<operationtype>100</operationtype>
<operationdate>22.06.2018 10:37:08</operationdate>
<authresult /> 
<authrequired>0</authrequired>
<slipno>1930534468X38229</slipno>
<packetdate>22.06.2018 10:37:10</packetdate> 
<signature /> 
<checkvalue>45A33F800F2BD16C02E3D2F5C81557A0</checkvalue>
<payment_Id></payment_Id>
<fiscalreceipt_id>245949</fiscalreceipt_id>
<status>Success</status>
<fiscal_receipt_number>17</fiscal_receipt_number>
<hift_number>526</hift_number>
<receipt_datetime>{ts &apos;2018-06-22 13:39:00&apos;}</receipt_datetime>
<total>2272.96</total>
<fn_number>9999078900003221</fn_number>
<ecr_registration_number>1234567891032303</ecr_registration_number>
<fiscal_document_number>5053</fiscal_document_number>
<fiscal_document_attribute>2940732125</fiscal_document_attribute>
<errortext></errortext>
<taxationsystem>0</taxationsystem>
<chequeitems><items>
  <item id="1">
    <price>150.00</price>
    <quantity>2.37</quantity>
    <amount>355.50</amount>
    <tax>vat20</tax>
    <product>8702059</product>
    <name>творог</name>
    <fpmode>3</fpmode>
  </item>
  <item id="2">
    <price>128.00</price>
    <quantity>5</quantity>
    <amount>640.00</amount>
    <tax>vat20</tax>
    <product>8702058</product>
    <name>масло в пачках</name>
    <fpmode>4</fpmode>
  </item>
  <item id="3">
    <price>370.00</price>
    <quantity>2.658</quantity>
    <amount>983.46</amount>
    <tax>vat10</tax>
    <product>8702057</product>
    <name>мясо</name>
    <fpmode>5</fpmode>
  </item>
  <item id="4">
    <price>49.00</price>
    <quantity>6</quantity>
    <amount>294.00</amount>
    <tax>vat10</tax>
    <product>8702056</product>
    <name>молоко в бутылках</name>
    <fpmode>6</fpmode>
  </item>
  </items></chequeitems>
  <threedsdata>
      <version>1.0.0</version>
      <alphaauthresult>Y</alphaauthresult>
      <challenge>C</challenge>
      <eci>5</eci>
  </threedsdata>
</ws: PushPaymentResul></soapenv:Body></soapenv:Envelope>
<?xml version="1.0" encoding="utf-8" ?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.paysecure.ru/ws/">
    <soapenv:Body>
        <ws:PushPaymentResult>
            <order>
              <merchant_id>744015</merchant_id> 
              <ordernumber>20120608-744015-001</ordernumber> 
              <billnumber>5744015100953130</billnumber> 
              <testmode>1</testmode> 
              <ordercomment>Sber 744015</ordercomment> 
              <orderamount>5000.00</orderamount> 
              <ordercurrency>RUB</ordercurrency> 
              <firstname>TestS</firstname> 
              <lastname>TestovS</lastname> 
              <middlename /> 
              <email>test@test.ru</email> 
              <orderdate>08.06.2012 07:09:01</orderdate> 
              <orderstate>Approved</orderstate> 
              <operation>
                <billnumber>5744015100953130.1</billnumber> 
                <operationtype>100</operationtype> 
                <operationstate>Success</operationstate> 
                <amount>3740.85</amount> 
                <currency>RUB</currency> 
                <clientip>10.10.10.10</clientip> 
                <ipaddress>0.0.0.0</ipaddress> 
                <meantype_id>1</meantype_id> 
                <meantypename>VISA</meantypename> 
                <meansubtype>Classic</meansubtype> 
                <meannumber>411111****1111</meannumber> 
                <cardholder>TEST</cardholder> 
                <cardexpirationdate>12/20</cardexpirationdate>
                <issuebank>SAVINGS BANK OF THE RUSSIAN FEDERATION (SBERBANK)</issuebank> 
                <bankcountry>Россия</bankcountry> 
                <responsecode>AS000</responsecode> 
                <message /> 
                <customermessage>Завершено успешно.</customermessage> 
                <recommendation>SUCCESSFUL AUTHORIZATION</recommendation> 
                <approvalcode>X25932</approvalcode> 
                <protocoltypename>NET</protocoltypename> 
                <processingname>Fake</processingname> 
                <operationdate>08.06.2012 07:09:44</operationdate> 
                <authresult /> 
                <authrequired>0</authrequired> 
                <slipno></slipno>
                <rrn>123456789</rrn>
                <threedsdata>
                   <version>1.0.0</version>
                   <alphaauthresult>Y</alphaauthresult>
                   <challenge>C</challenge>
                   <eci>5</eci>
                </threedsdata>
              </operation>
              <operation>
                <billnumber>5744015100953130.2</billnumber> 
                <operationtype>100</operationtype> 
                <operationstate>Success</operationstate> 
                <amount>1259.15</amount> 
                <currency>RUB</currency> 
                <clientip>10.10.10.10</clientip> 
                <ipaddress>0.0.0.0</ipaddress> 
                <meantype_id>12</meantype_id> 
                <meantypename>Points</meantypename> 
                <meansubtype>Classic</meansubtype> 
                <meannumber>411111****1111</meannumber> 
                <cardholder>TEST</cardholder> 
                <cardexpirationdate>12/20</cardexpirationdate>
                <issuebank>SAVINGS BANK OF THE RUSSIAN FEDERATION (SBERBANK)</issuebank> 
                <bankcountry>Россия</bankcountry> 
                <responsecode>AS000</responsecode> 
                <message /> 
                <customermessage>Завершено успешно.</customermessage> 
                <recommendation>SUCCESSFUL AUTHORIZATION</recommendation> 
                <approvalcode>N/A</approvalcode> 
                <protocoltypename /> 
                <processingname>SberTest</processingname> 
                <operationdate>08.06.2012 07:10:51</operationdate> 
                <authresult /> 
                <authrequired /> 
                <slipno></slipno>
                <rrn></rrn>
              </operation>
           </order>
           <packetdate>08.06.2012 07:11:04</packetdate> 
           <signature /> 
           <checkvalue>B739961F5CF27F9D90376B3B21517856</checkvalue> 
        </ws:PushPaymentResult>
    </soapenv:Body>
</soapenv:Envelope>

Если настройка ожидаемого ответа отлична от HTTP 200, то в ответ на сообщение о результатах платежа система ожидает от магазина xml пакет.

Пример пакета в случае успешного получения и расшифровки сообщения о результате платежа:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <SOAP-ENV:Body>
  <m:PushPaymentResultResponse xmlns:m="http://www.assist.ru/wsdl">
  <return xmlns:si="http://www.assist.ru/type/" xsi:type="si:SOAPStruct">
    <billnumber>5696145241469255.1</billnumber>
    <packetdate>26.06.2019 08:44:00</packetdate>
  </return>
  </m:PushPaymentResultResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

В случае неудачи:

<?xml version="1.0" encoding="windows-1251"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 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/">
            <SOAP-ENV:Fault>
                <faultcode>5</faultcode>
                <faultstring>143</faultstring>
                <detail />
            </SOAP-ENV:Fault>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

С описанием первого и второго кодов ошибок можно ознакомиться в  Таблице "Коды ошибок"

Если от предприятия нет ответа ни об успешной, ни о неуспешной обработке сообщения о результате платежа и при этом настройка ожидаемого ответа отлична от HTTP 200, система будет повторять отправку сообщения с результатами платежа с увеличивающимся интервалом в течение четырех часов, но не более 8 раз.

Внимание! При получении ответа, указывающего на ошибки обработки сообщения с результатами платежа, повторная отправка результатов не производится. Указанные в ответе коды firstcode, secondcode используются для диагностики возникших проблем.

Внимание! В полученном ответе необходимо проверить значение параметра testmode. Если платеж был выполнен в тестовом режиме (testmode=1), то отгружать товар или оказывать услугу по текущему заказу не требуется.


Наверх