Page History
...
При двустадийном механизме работы разделены процессы авторизации банковской карты (операция оплаты) и совершения финансовой транзакции (финансовое подтверждение).
| Note |
|---|
При желании использовать двустадийный режим работы сначала следует проконсультироваться с сотрудниками службы поддержки (support@assist.ru). |
Операция оплаты по банковской карте
...
| Code Block | ||
|---|---|---|
| ||
<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="237.40"> <INPUT TYPE="HIDDEN" NAME="OrderCurrency" VALUE="USD"> <INPUT TYPE="HIDDEN" NAME="Delay" VALUE="1"> <INPUT TYPE="HIDDEN" NAME="Language" VALUE="RU"> <INPUT TYPE="HIDDEN" NAME="Email" VALUE="test@test.ru"> <INPUT TYPE="HIDDEN" NAME="OrderComment" VALUE="Оплата заказа 28-A"> <INPUT TYPE="HIDDEN" NAME="URL_RETURN_OK" VALUE="http://www.URL.ru/yes"> <INPUT TYPE="HIDDEN" NAME="URL_RETURN_NO" VALUE="http://www.URL.ru/no"> <INPUT TYPE="HIDDEN" NAME="CardPayment" VALUE="1"> <INPUT TYPE="HIDDEN" NAME="WMPayment" VALUE="0"> <INPUT TYPE="HIDDEN" NAME="YMPayment" VALUE="0"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Купить"> </FORM> |
...
Для подтверждения оплаты нужно отправить запрос на сервер АПК Ассист методом HTTP POST или SOAP (в кодировке UTF-8).
URL запроса для передачи финансового подтверждения:
Ассист по адресу:
https://https://<SERVER-NAME>/charge/charge.cfm.
Параметры передаются методом POST в теле запроса в формате «ключ=значение», SOAP запросом, либо в формате JSON (swagger описание: https://docs.assist.ru/swagger/).
Список параметров запроса подтверждения оплаты при двустадийном механизме работы предприятия представлен в таблице:
Название | Обязатель- ное поле | Принимаемые значения | Значения по умолчанию | Описание |
|---|---|---|---|---|
Billnumber | Да | 15 или 16 цифр Расширенный формат | Номер платежа, соответствующий заказу в системе АПК Ассист, допускается передача расширенного номера платежа | |
Merchant_ID | Да | Число | Идентификатор предприятия в АПК Ассист | |
Login | Да | 8 - 20 символов | Логин (лат. буквы и цифры, символ _) | |
Password | Да | 8 - 20 символов | Пароль (лат. буквы и цифры) | |
Amount | Нет*1 | Число, 15 цифр (разделитель знаков, два знака после разделителя (допустимые разделители «.», «,») | Сумма финансового подтверждения | |
Currency | Нет*1 | 3 символа | Код валюты подтверждения. Может быть использован только код валюты операции оплаты | |
ClientIP | Нет | Максимум 15 цифр, 4 разделителя «.» | IP компьютера оператора, который производит подтверждение платежа | |
Language | Нет | RU – русский | RU | Язык выдачи результатов |
Format | Нет | 1 – CSV (поля с разделителями) | 1Формат входных данных | Формат выдачи результатов |
* Параметры Amount , Currency могут присутствовать или отсутствовать в запросе только одновременно. В случае отсутствия параметров операция подтверждения оплаты будет проведена на полную сумму.
| Note |
|---|
Все параметры, передаваемые в запросе, проходят автоматическую валидацию в АПК Ассист, см. Правила валидации входных параметров. |
. Передается только для запроса в формате POST (по умолчанию ответ будет выдан в формате CSV). Для других форматов ответ выдается в том же формате, в котором был выполнен запрос. | |||||||||
| AutoDeposit | Нет | 1 – флаг установлен 0 – флаг сброшен | Флаг онлайн депозита. Используется в тех случаях, когда необходимо сразу разблокировать неподтвержденную часть суммы заказа.
|
| Anchor | ||||
|---|---|---|---|---|
|
1Параметры Amount , Currency могут присутствовать или отсутствовать в запросе только одновременно. В случае отсутствия параметров операция подтверждения оплаты будет проведена на полную сумму.
| Note |
|---|
Все параметры, передаваемые в запросе, проходят автоматическую валидацию в АПК Ассист, см. Правила валидации входных параметров. |
| Note |
|---|
Если предприятие проводит фискализацию после подтверждения оплаты, то в запросе могут передаваться дополнительные параметры для формирования корректного чека. Описание дополнительных параметров приведено в |
| Note |
Если предприятие проводит фискализацию после подтверждения оплаты, то в запросе могут передаваться дополнительные параметры для формирования корректного чека. Описание дополнительных параметров приведено в разделе "Режимы передачи данных чека". |
...
В случае успешного подтверждения оплаты статус заказа в системе АПК Ассист принимает значение Approved (Оплачен) или «или PartialDelayed» (Подтвержден частично), код возврата responsecode AS000.
...
Название | Значение |
|---|---|
ordernumber | Номер заказа |
responsecode | Код возврата |
recommendation | Рекомендации |
message | Сообщение |
ordercomment | Комментарий |
orderdate | Дата заказа по Гринвичу (GMT) |
amount | Сумма операции |
currency | Валюта операции |
meantypename | Тип платежного средства |
meannumber | Номер платежного средства |
lastname | Фамилия плательщика |
firstname | Имя плательщика |
middlename | Отчество плательщика |
issuebank | Название банка-эмитента |
Email плательщика | |
bankcountry | Страна банка-эмитента |
rate | Курс валюты |
approvalcode | Код авторизации |
meansubtype | Подтип платежного средства |
cardholder | Держатель платежного средства |
| cardexpirationdate | Срок действия карты |
ipaddress | IP-адрес плательщика |
protocoltypename | Протокол |
testmode | Тестовый режим |
customermessage | Сообщение о результате для покупателя |
orderstate | Cтатус заказа |
processingname | Процессинг |
operationtype | Тип операции |
billnumber | Расширенный формат billnumber |
orderamount | Оригинальная сумма операции |
ordercurrency | Оригинальная валюта операции |
| slipno | Номер финансовой транзакции, отправляемый в процессинг |
packetdate | Дата формирования запроса по Гринвичу (GMT) |
signature | Значение X без разделителей, подписанное закрытым ключом АПК Ассист, закодированное в BASE64, где X - billnumber,ordernumber,responsecode,orderamount,ordercurrency,meannumber,approvalcode,orderstate,packetdate |
| Anchor | |||
|---|---|---|---|
| |||
| Anchor | |||
|
Примеры
Пример запроса для формата HTTP POST:
...
| Code Block | ||
|---|---|---|
| ||
ordernumber: 0001-01 responsecode: AS000 recommendation: message: Завершено успешно. ordercomment: тестовый платеж orderdate: 01.01.2018 09:00:05 amount: 100.00 currency: RUB meantypename: VISA meannumber: 411111****1111 lastname: Testov firstname: Test middlename: Testovich issuebank: BANK email: test@testpost.ru bankcountry: РоссиягРоссия rate: 1 approvalcode: meansubtype: Corporate Purchasing Card cardholder: TEST cardexpirationdate:12/20 ipaddress: 111.23.11.23 protocoltypename: testmode: 1 customermessage: Завершено успешно. orderstate: Approved processingname: Name operationtype: 200 billnumber: 511111100000001.2 orderamount: 100.00 ordercurrency: RUB slipno: 111111 packetdate: 01.01.2018 09:01:47 signature: |
...
В случае успешного подтверждения оплаты поле orderstate будет содержать значение «Approved» (Оплачен) или «PartialApproved» (Оплачен PartialDelayed (Подтвержден частично), код возврата операции подтверждения response_code AS000, значения первого и второго кода firstcode=0, secondcode=0. В случае неуспешного подтверждения оплаты код возврата response_code принимает значения AS100-AS998.
...
С описанием первого и второго кодов ошибок можно ознакомиться здесь.
Пример ответа в формате SOAP (может быть получен только при запросе в формате SOAP):
| Code Block | ||
|---|---|---|
| ||
<?xml version='1.0' encoding='utf-8' standalone='no'?>
<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/'>
<ASS-NS:MakeChargeResponse xmlns:ASS-NS='http://www.paysecure.ru/message/'>
<return xmlns:si='http://www.paysecure.ru/type/' xsi:type='si:SOAPStruct'>
<ordernumber xsi:type='xsd:string'>0001-01</ordernumber>
<responsecode xsi:type='xsd:string'>AS000</responsecode>
<recommendation xsi:type='xsd:string'></recommendation>
<message xsi:type='xsd:string'>Завершено успешно.</message>
<ordercomment xsi:type='xsd:string'>тестовый платеж</ordercomment>
<orderdate xsi:type='xsd:string'>01.01.2018 11:23:13</orderdate>
<amount xsi:type='xsd:string'>100.00</amount>
<currency xsi:type='xsd:string'>RUB</currency>
<meantypename xsi:type='xsd:string'>VISA</meantypename>
<meannumber xsi:type='xsd:string'>411111****1111</meannumber>
<lastname xsi:type='xsd:string'>Testov</lastname>
<firstname xsi:type='xsd:string'>Test</firstname>
<middlename xsi:type='xsd:string'>Testovich</middlename>
<issuebank xsi:type='xsd:string'>New Bank</issuebank>
<email xsi:type='xsd:string'>test@testpost.ru</email>
<bankcountry xsi:type='xsd:string'>Россия</bankcountry>
<rate xsi:type='xsd:string'>1</rate>
<approvalcode xsi:type='xsd:string'></approvalcode>
<meansubtype xsi:type='xsd:string'>Classic</meansubtype>
<cardholder xsi:type='xsd:string'>TEST</cardholder>
<cardexpirationdate xsi:type='xsd:string'>12/20</cardexpirationdate>
<ipaddress xsi:type='xsd:string'>11.23.11.23</ipaddress>
<protocoltypename xsi:type='xsd:string'></protocoltypename>
<testmode xsi:type='xsd:string'>1</testmode>
<customermessage xsi:type='xsd:string'>Завершено успешно.</customermessage>
<orderstate xsi:type='xsd:string'>Approved</orderstate>
<processingname xsi:type='xsd:string'>Name</processingname>
<operationtype xsi:type='xsd:string'>200</operationtype>
<billnumber xsi:type='xsd:string'>511111100000001.2</billnumber>
<orderamount xsi:type='xsd:string'>100.00</orderamount>
<ordercurrency xsi:type='xsd:string'>RUB</ordercurrency>
<slipno xsi:type='xsd:string'>111111</slipno>
<packetdate xsi:type='xsd:string'>01.01.2018 11:28:26</packetdate>
<signature xsi:type='xsd:string'></signature>
</return>
</ASS-NS:MakeChargeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> |
...
/return>
</ASS-NS:MakeChargeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> |
| Warning | ||
|---|---|---|
| ||
Для корректной работы с веб-сервисами по защищенному TLS-соединению необходимо иметь на своей стороне в хранилище доверенных корневых сертификатов следующие сертификаты:
Перед началом работы следует проверить наличие этих сертификатов в хранилище и добавить их в случае необходимости. |