Доступ к ЛК предоставляется Системой при заполнении Партнером соответствующих пунктов в Бланке. ЛК расположен в сети Интернет по адресу:
- https://devpfront.a-3.ru/login - тестовая среда;
- https://pfront.a-3.ru/login - продуктивная среда.
ВАЖНО! При тестировании системы на devе используйте только тестовые карты. Тестовые карты не используются на продуктивой среде.
Список возможных статусов платежа
Код | Статус | Описание |
---|---|---|
0 | Инициирован | заказ на проведение платежа/резервирование инициирован. |
1 | В обработке | заказ находится в процессинге, выполняется 3ds проверка (при необходимости) и происходит списание (резервирование) денег. |
2 | Успешно завершен | заказ успешно выполнен, деньги списаны (захолдированы) с платёжного инструмента. |
3 | Неуспешно завершен | заказ закончился неудачей, списание денег не произошло. |
4 | Ввод реквизитов карты | статус для платежей по карте - пользователь открыл в браузере форму ввода реквизитов карты. |
5 | Подтверждение оплаты | выполняется дополнительная обработка заказа после списания средств или подтверждение холда. |
6 | Выполняется отмена | по заказу запрошена отмена и она в процессе выполнения. |
7 | Отменён | заказ отменён после успешного проведения. |
Для инициализации платежа нужно вызвать метод initPayment с указанием типа платежа: карточный или мобильный. В результате вызова метода создаётся платёжная операция, её идентификатор возвращается в ответе. При карточном платеже также в ответе возвращается ссылка на форму для ввода данных платёжного инструмента клиента.
Примечание: Используется для классического эквайера, мобильной коммерции и платежей с использованием ApplePay / AndroidPay / MobilePay
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
paymentType | Да | CARD , PHONE , ANDROIDPAY , APPLEPAY , MOBILEPAY |
Тип платёжного инструмента |
amount | Да | десятичная дробь | Сумма операции, соответствующая ожидаемому списанию средств с платёжного инструмента |
orderID | Да | строка | ID операции во внешней системе (уникальное значение) |
currency | Да | число | Код валюты платежа (для рублей = 643) |
token | Да | строка | Платёжный токен (для ApplePay и AndroidPay). Cтрока, содержащая закодированный BASE64 |
signature | строка | ||
mobilePayKeyID | строка | Идентификатор ключа ([1-9]). Необходимо передавать если метод платежа MOBILEPAY |
|
fee | десятичная дробь | Размер комиссии, включённой в сумму платежа * | |
orderDesc | строка | Описание операции: может быть выведено клиенту в форме оплаты | |
userID | строка | Явное указание ID пользователя | |
phone | строка | Телефонный номер пользователя. Поле обязательно, если платёжный инструмент = 'PHONE'. Если в запросе не передан userID, используется как ID пользователя | |
строка | Email пользователя. Если не переданы userID и phone, используется как идентификатор пользователя | ||
urlSuccess* | Да | строка | Url возврата после успешной оплаты |
urlFail* | Да | строка | Url возврата после неуспешной оплаты |
urlApp | строка | Url возврата в приложение из формы оплаты | |
payload | контейнер | Список дополнительных параметров | |
opt | контейнер | Параметр | |
optName | строка | Имя параметра | |
optValue | строка | Значение параметра | |
optType | строка | Тип параметра |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
orderID | строка | ID операции во внешней системе |
trID | число | ID транзакции в платёжном модуле |
urlPf | строка | Ссылка на первый шаг платежа в системе «А-3». Присутствует только при платежах с инструмента CARD |
Список возможных результатов запроса
Код | Тип | Описание |
---|---|---|
1 | OK | Успешное выполнение метода. |
2 | Нужно заполнить обязательный параметр: %s. | В запросе отсутствуют обязательные для заполнения данные. |
2 | Передан параметр неверного типа: %s. | Какое-то из значений в запросе не соответствует запрашиваемому формату. |
2 | Тип платежа может быть только CARD , PHONE , ANDROIDPAY , APPLEPAY или MOBILEPAY . |
В параметре paymentTool несуществующий тип платёжного инструмента. |
2 | Внешняя система с id=%s не существует. | В параметре systemID указан неверный ID системы. |
2 | Внешняя система с id=%s не активна. | Для системы systemID отключена возможность инициализации платежей. |
2 | Дополнительная валидация не пройдена (%s). | В запросе отсутствует или некорректно заполнен контейнер payload с дополнительными параметрами. |
2 | Сумма операции превышает максимально допустимую (%s). | Для внешней системы установлен максимальный размер одного платежа, который был превышен в запросе. |
2 | Сумма платежа меньше минимально допустимой (%s). | Для внешней системы установлен минимальный размер одного платежа, который был превышен в запросе. |
2 | Валюта с кодом=%s не существует. | В параметре currency указан неверный код валюты. |
2 | Ордер с id=%s уже существует. | В параметре orderID передан номер, по которому уже ранее был зарегистрирован платёж. |
2 | Ошибка при выполнении платежа. %s | Платёж переведён в статус «Неуспешный» по причине ошибки при выполнении оплаты. В расшифровке ошибки может присутствовать дополнительное описание. |
Пример запроса при карточном платеже:
<tnt:initPaymentRequest>
<systemID>TEST_SYSTEM</systemID>
<paymentType>CARD</paymentType>
<currency>643</currency>
<amount>325.25</amount>
<fee>15.25</fee>
<orderID>100256</orderID>
<orderDesc>Тестовый платёж на сумму 325.25 руб.</orderDesc>
<phone>9161231212</phone>
<urlSuccess>https://www.a-3.ru/</urlSuccess>
<urlFail>https://www.a-3.ru/</urlFail>
</tnt:initPaymentRequest>
Пример запроса при мобильном платеже:
<tnt:initPaymentRequest>
<systemID>TEST_SYSTEM</systemID>
<paymentType>PHONE</paymentType>
<currency>643</currency>
<amount>325.25</amount>
<fee>15.25</fee>
<orderID>100256</orderID>
<phone>9161231212</phone>
</tnt:initPaymentRequest>
Пример запроса при платеже через ApplePay/ AndroidPay:
<tnt:initPaymentRequest>
<systemID>TEST_SYSTEM</systemID>
<paymentType>APPLEPAY</paymentType>
<currency>643</currency>
<amount>325.25</amount>
<fee>15.25</fee>
<orderID>100257</orderID>
<phone>9161231212</phone>
<payload>
<token>zl5YVhSNU..</token>
</payload>
</tnt:initPaymentRequest>
Пример ответа
<ns2:initPaymentResponse xmlns:ns2="http://www.a-3.ru/tnt/">
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<orderID>100256</orderID>
<trID>1000010000016444</trID>
<urlPf>https://devpfront.a-3.ru/ProcessingFront/step1.jsp?sid=81f089d9-cc19-4078-bc97-d73372ea9990</urlPf>
</ns2:initPaymentResponse>
Для инициализации платежа с резервированием средств нужно вызвать метод initAuthentication. В результате вызова метода создаётся платёжная операция, её идентификатор возвращается в ответе, вместе со ссылкой на форму для ввода платёжного инструмента клиента.
Примечание: Используется для платежей в связке с биллингом, подтверждение и отмена резерва происходит автоматически. При такой схеме метод confirmAuthentication не используется.
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
paymentType | Да | CARD , NATIVE , PHONE , ANDROIDPAY , APPLEPAY |
Тип платёжного инструмента |
amount | Да | десятичная дробь | Сумма операции, соответствующая ожидаемому списанию средств с платёжного инструмента. |
authOrderID | Да | строка | ID операции во внешней системе (уникальное значение). |
currency | Да | число | Код валюты платежа (для рублей = 643). |
fee | десятичная дробь | Размер комиссии, включённой в сумму резервирования. * | |
authOrderDesc | строка | Сумма операции, соответствующая ожидаемому резервированию средств по платёжному инструменту. | |
userID | строка | Явное указание ID пользователя. | |
phone | строка | Телефонный номер пользователя. Поле обязательно, если платёжный инструмент = 'PHONE'. Если в запросе не передан userID, используется как ID пользователя. | |
строка | Email пользователя. Если не переданы userID и phone, используется как идентификатор пользователя. | ||
urlSuccess | Да | строка | Url возврата после успешной оплаты. |
urlFail | Да | строка | Url возврата после неуспешной оплаты. |
urlApp | строка | Url возврата в приложение из формы оплаты. | |
payload | контейнер | Список дополнительных параметров. | |
opt | контейнер | Параметр | |
optName | строка | Имя параметра | |
optValue | строка | Значение параметра | |
optType | строка | Тип параметра |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
authOrderID | строка | ID операции во внешней системе |
trID | число | ID транзакции в платёжном модуле |
urlPf | строка | Ссылка на первый шаг платежа в системе «А-3». Присутствует только при платежах с инструмента CARD и NATIVE . |
Список возможных результатов запроса
Код | Тип | Описание |
---|---|---|
1 | OK | Успешное выполнение метода. |
2 | Нужно заполнить обязательный параметр: %s. | В запросе отсутствуют обязательные для заполнения данные. |
2 | Передан параметр неверного типа: %s. | Какое-то из значений в запросе не соответствует запрашиваемому формату. |
2 | Внешняя система с id=%s не существует. | В параметре systemID указан неверный ID системы. |
2 | Внешняя система с id=%s не активна. | Для системы systemID отключена возможность инициализации платежей. |
2 | Дополнительная валидация не пройдена (%s). | В запросе отсутствует или некорректно заполнен контейнер payload с дополнительными параметрами. |
2 | Сумма операции превышает максимально допустимую (%s). | Для внешней системы установлен максимальный размер одного платежа, который был превышен в запросе. |
2 | Сумма платежа меньше минимально допустимой (%s). | Для внешней системы установлен минимальный размер одного платежа, который был превышен в запросе. |
2 | Передано неверное значение комиссии. | Значение комиссии, рассчитанное на стороне внешней системы, не соответствует расчёту на стороне ProcessingFront. |
2 | Валюта с кодом=%s не существует. | В параметре currency указан неверный код валюты. |
2 | Ордер с id=%s уже существует. | В параметре authOrderID передан номер, по которому уже ранее был зарегистрирован платёж. |
3 | Ошибка при выполнении платежа с резервированием средств. %s | Платёж переведён в статус «Неуспешный» по причине ошибки при выполнении оплаты. В расшифровке ошибки может присутствовать дополнительное описание. |
Пример запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tnt="http://www.a-3.ru/tnt/">
<soapenv:Header/>
<soapenv:Body>
<tnt:initAuthenticationRequest>
<systemID>TEST_SYSTEM</systemID>
<currency>643</currency>
<amount>325.25</amount>
<fee>15.25</fee>
<authOrderID>100256</authOrderID>
<authOrderDesc>Тестовый платёж на сумму 325.25 руб.</authOrderDesc>
<phone>9161231212</phone>
<urlSuccess>https://www.a-3.ru/</urlSuccess>
<urlFail>https://www.a-3.ru/</urlFail>
</tnt:initAuthenticationRequest>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:initAuthenticationResponse xmlns:ns2="http://www.a-3.ru/tnt/">
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<authOrderID>100256</orderID>
<trID>1000010000016444</trID>
<urlPf>https://devpfront.a-3.ru/ProcessingFront/step1.jsp?sid=81f089d9-cc19-4078-bc97-d73372ea9990 </urlPf>
</ns2:initAuthenticationResponse>
</soap:Body>
</soap:Envelope>
Для подтверждения платежа с предварительным резервом, нужно вызвать метод confirmAuthentication. В результате вызова метода создаётся платёжная операция, её идентификатор возвращается в ответе.
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
authOrderID | Да | строка | ID операции по резервированию средств во внешней системе. |
amount | Да | десятичная дробь | Подтверждаемая сумма операции, соответствующая ожидаемому списанию средств с платёжного инструмента. |
fee | десятичная дробь | Размер комиссии, включённой в сумму резервирования. |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
orderID | строка | ID операции во внешней системе |
trID | число | ID транзакции в платёжном модуле |
Список возможных результатов запроса
Код | Сообщение | Описание |
---|---|---|
1 | OK | Успешное выполнение метода. |
2 | Нужно заполнить обязательный параметр: %s. | В запросе отсутствуют обязательные для заполнения данные. |
2 | Передан параметр неверного типа: %s. | Какое-то из значений в запросе не соответствует запрашиваемому формату. |
2 | Внешняя система с id=%s не существует. | В параметре systemID указан неверный ID системы. |
2 | Внешняя система с id=%s не активна. | Для системы systemID отключена возможность инициализации платежей. |
2 | Передано неверное значение комиссии. | Значение комиссии, рассчитанное на стороне внешней системы, не соответствует расчёту на стороне ProcessingFront. |
2 | Ордер с id=%s не существует. | В параметре authOrderID указан не существующий ID заказа. |
2 | Операция авторизации уже подтверждена или находится в процессе подтверждения (%s). | Операция авторизации уже подтверждена или находится в процессе подтверждения. |
3 | Ошибка при попытке подтверждения резервирования средств. | Произошла внутренняя ошибка при попытке подтверждения резервирования средств. Подтверждение не выполнено. |
Пример запроса
<tnt:confirmAuthenticationRequest>
<systemID>TEST_SYSTEM</systemID>
<authOrderID>100256</authOrderID>
<amount>325.25</amount>
<fee>15.25</fee>
</tnt:confirmAuthenticationRequest>
Пример ответа
<ns2:confirmAuthenticationResponse xmlns:ns2="http://www.a-3.ru/tnt/">
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<orderID>100257</orderID>
<trID>1000010000016446</trID>
</ns2:confirmAuthenticationResponse>
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
orderID | Да | строка | ID операции во внешней системе для подтверждения резервирования (уникальное значение) |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
orderID | строка | ID операции во внешней системе |
authCode | строка | Код авторизации в платёжном терминале |
terminal | строка | Номер платёжного терминала |
cardNumber | строка | Номер платёжной карты (с маскировкой) |
bills | контейнер | Информация о счетах в составе платежа |
bill | контейнер | Информация о счёте в составе платежа |
BillNumber | строка | Номер счёта |
BillAmount | десятичная дробь | Сумма счёта, включая комиссию |
BillFee | десятичная дробь | Комиссия счёта |
BillDate | строка | Дата счёта |
payload | контейнер | Опциональные параметры счёта |
opt | контейнер | Опциональный параметр счёта |
optName | строка | Имя параметра |
optType | строка | Тип параметра |
optValue | строка | Значение параметра |
Пример запроса
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tnt="http://www.a-3.ru/tnt/">
<soapenv:Header/>
<soapenv:Body>
<tnt:getPaymentInfoRequest>
<systemID>EXAMPLE</systemID>
<orderID>EXAMPLE_ORDER_ID</orderID>
</tnt:getPaymentInfoRequest>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tnt="http://www.a-3.ru/tnt/">
<soapenv:Header/>
<soapenv:Body>
<tnt:getPaymentInfoResponse>
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<orderID>100257</orderID>
<authCode>018362</authCode>
<terminal>79036807</terminal>
<cardNumber> 400000******0002</cardNumber>
<bills>
<bill>
<BillNumber>BILL1</BillNumber>
<BillAmount>55.00</BillAmount>
<BillFee>5.00</BillFee>
<payload>
<opt>
<optName>attribute1</optName>
<optType>type1</optType>
<optValue>value1</optValue>
</opt>
</payload>
</bill>
</bills>
</tnt:getPaymentInfoResponse>
</soapenv:Body>
</soapenv:Envelope>
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
orderID | Да | строка | ID операции во внешней системе для подтверждения резервирования (уникальное значение) |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
orderStatus | контейнер | Контейнер со статусом операции |
orderID | строка | ID операции во внешней системе |
trStatus | число | Статус транзакции в «Системе А-3» на момент |
запроса. | ||
trStatusDesc | строка | Расшифровка результата транзакции на момент |
запроса. | ||
trChangeDateTime | дата/время | Дата и время последнего обновления транзакции. |
authCode | строка | Код авторизации в платёжном терминале. |
terminal | строка | Номер платёжного терминала. |
cardNumber | строка | Номер платёжной карты (с маскировкой). |
Пример запроса
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tnt="http://www.a-3.ru/tnt/">
<soapenv:Header/>
<soapenv:Body>
<tnt:getPaymentStatusRequest>
<systemID>EXAMPLE</systemID>
<orderID>EXAMPLE_ORDER_ID</orderID>
</tnt:getPaymentStatusRequest>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tnt="http://www.a-3.ru/tnt/">
<soapenv:Header/>
<soapenv:Body>
<tnt:getPaymentStatusResponse>
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<orderStatus>
<orderID>EXAMPLE_ORDER_ID</orderID>
<trStatus>2</trStatus>
<authCode>010000</authCode>
<terminal>00000000</terminal>
<cardNumber>400000******0000</cardNumber>
</orderStatus>
</tnt:getPaymentStatusResponse>
</soapenv:Body>
</soapenv:Envelope>
Для отмены платежа нужно вызвать метод cancelPayment
. В результате вызова метода создаётся отдельная
операция с тем же номером заказа, что и у платёжной операции. Отмена в версии платёжному модуля,
соответствующая данной версии описания, возможна только в пределах операционного дня для отдельных
внешних систем по предварительной договорённости. Возврат денежных средств на платёжный инструмент
клиента происходит моментально.
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | да | строка | ID внешней системы |
orderID | да | строка | ID операции во внешней системе для подтверждения резервирования (уникальное значение). |
signature | да | строка | Подпись запроса |
Подпись запроса
MD5(Секретное слово + systemID + orderID)
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
orderID | строка | ID операции во внешней системе |
trID | число | ID транзакции в платёжном модуле |
Список возможных результатов запроса
Код | Сообщение | Описание |
---|---|---|
1 | OK Успешное выполнение метода. | |
2 | Нужно заполнить обязательный параметр: %s. | В запросе отсутствуют обязательные для заполнения данные. |
2 | Передан параметр неверного типа: %s. | Какое-то из значений в запросе не соответствует запрашиваемому формату. |
2 | Внешняя система с id=%s не существует. | В параметре systemID указан неверный ID системы. |
2 | Внешняя система с id=%s не активна. | Для системы systemID отключена возможность выполнения операций. |
2 | Ордер с id=%s не существует. | Заказы с таким orderID отсутствуют в базе платёжного модуля. |
2 | Функция отмены платежа для системы id=%s недоступна. | Для данной внешняя система функция отмены платежа не подключена. |
2 | Платёжная операция не может быть отменена (%s). | Заказ с таким orderID не может быть отменён, например, если он изначально не выполнен. |
2 | Платёжная операция уже отменена или находится в процессе отмены (%s). | Заказ с таким orderID уже отменён или заявка на отмену уже находится в обработке. |
2 | Неверная подпись. | Параметр контрольной суммы (signature ) запроса сформирован некорректно |
3 | Отмена не может быть выполнена вне операционного дня, которым датирован платёж (%s). | Автоматическая отмена невозможна, так как операционный день, в который выполнена операция, закрыт. В таком случае отмену необходимо выполнить по регламенту, описанному в Оферте. |
3 | Ошибка при выполнении отмены операции. | Произошла внутренняя ошибка при попытке отмены платёжной операции. Отмена не выполнена. |
Пример запроса
<tnt:cancelPaymentRequest>
<systemID>TEST</systemID>
<orderID>100257</orderID>
<signature>b7e3948a057e01cfe5293002a0f57d0b</signature>
</tnt:cancelPaymentRequest>
Пример ответа
<ns2:cancelPaymentResponse xmlns:ns2="http://www.a-3.ru/tnt/">
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<orderID>100257</orderID>
<trID>1000010000016446</trID>
</ns2:cancelPaymentResponse>
Для активации рекаррингового ключа необходимо существование у клиента успешного платежа через
платёжный модуль ProcessingFront - id (trID) этого платежа будет использоваться как ключ. Активация
происходит через метод enableRecurringKey
. При этом, в метод необходимо передать информацию для
идентификации клиента и проверки принадлежности ему рекаррингового ключа. Активация рекаррингового
ключа - информационная операция.
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
key | Да | строка | Рекарринговый ключ |
user | Да | контейнер | Данные клиента |
userID | строка | Явное указание ID пользователя | |
phone | строка | Телефон пользователя | |
строка | Email пользователя |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
code | число | Код результата |
description | строка | Описание результата |
Список возможных результатов запроса
Код | Сообщение | Описание |
---|---|---|
1 | OK | Успешное выполнение метода. |
2 | Функция рекарринга для системы id=%s недоступна. | Подключение функции рекарринга не согласовано с менеджером мерчанта. |
2 | Нужно заполнить обязательный параметр: %s. | В запросе отсутствуют обязательные для заполнения данные. |
2 | Передан параметр неверного типа: %s. | Какое-то из значений в запросе не соответствует запрашиваемому формату. |
3 | Ключ не может быть активирован [key=%s]. | Не действительный ключ (например, если исходный платёж некорректный). Повторение операции не требуется. |
3 | Ошибка при включении рекарринг-ключа [key=%s]. | Произошла внутренняя ошибка при попытке включения рекарринг ключа, операцию можно повторить. |
Пример запроса
<tnt:enableRecurringKeyRequest>
<systemID>TEST_SYSTEM</systemID>
<key>2500000107</key>
<user>
<phone>9011231212</phone>
</user>
</tnt:enableRecurringKeyRequest>
Пример ответа
<ns2:enableRecurringKeyResponse xmlns:ns2="http://www.a-3.ru/tnt/">
<code>1</code>
<description>OK</description>
</ns2:enableRecurringKeyResponse>
Деактивация (отключение) рекаррингового ключа происходит через метод disableRecurringKey
.
Деактивация рекаррингового ключа – информационная операция.
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
key | Да | строка | Рекарринговый ключ |
user | Да | контейнер | Данные клиента |
userID | строка | Явное указание ID пользователя | |
phone | строка | Телефон пользователя | |
строка | Email пользователя |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
code | число | Код результата |
description | строка | Описание результата |
Список возможных результатов запроса
Код | Сообщение | Описание |
---|---|---|
1 | OK | Успешное выполнение метода. |
2 | Нужно заполнить обязательный параметр: %s. | В запросе отсутствуют обязательные для заполнения данные. |
2 | Передан параметр неверного типа: %s. | Какое-то из значений в запросе не соответствует запрашиваемому формату. |
2 | Для пользователя не привязан указанный рекарринговый ключ. | Не удалось сопоставить данные клиента и соответствующий рекарринговый ключ. |
3 | Ошибка при отключении рекарринг-ключа [key=%s]. | Произошла внутренняя ошибка при попытке отключения рекарринг ключа. |
Пример запроса
<tnt:disableRecurringKeyRequest>
<systemID>TEST_SYSTEM</systemID>
<key>2500000107</key>
<user>
<phone>9011231212</phone>
</user>
</tnt:disableRecurringKeyRequest>
Пример ответа
<ns2:disableRecurringKeyResponse xmlns:ns2="http://www.a-3.ru/tnt/">
<code>1</code>
<description>OK</description>
</ns2:disableRecurringKeyResponse>
Для выполнения рекаррингового платежа необходимо вызвать метод initRecurringPayment
. Ключ, передаваемый в атрибуте key
должен быть предварительно активирован. В результате вызова метода выполняется платёжная операция, её идентификатор возвращается в ответе метода. Для получения результата платежа необходимо дополнительно вызвать метод getPaymentStatus
.
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | да | строка | ID внешней системы |
key | да | строка | Рекарринговый ключ |
user | да | контейнер | Данные клиента |
userID | строка | Явное указание ID пользователя | |
phone | строка | Телефон пользователя | |
строка | Email пользователя | ||
amount | да | десятичная дробь | Сумма операции, соответствующая ожидаемому списанию средств с платёжного инструмента. |
orderID | да | строка | ID операции во внешней системе (уникальное значение) |
currency | да | число | Код валюты платежа (для рублей = 643) |
fee | десятичная дробь | Размер комиссии, включённой в сумму списания. | |
orderDesc | строка | Сумма операции, соответствующая ожидаемому резервированию средств по платёжному инструменту. |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
orderID | строка | ID операции во внешней системе |
trID | число | ID транзакции в платёжном модуле |
Список возможных результатов
Код | Статус | Описание |
---|---|---|
1 | OK | Успешное выполнение метода |
2 | Функция рекарринга для системы id=%s недоступна. | Подключение функции рекарринга не согласовано с менеджером мерчанта. |
2 | Передан параметр неверного типа: %s. | Какое-то из значений в запросе не соответствует запрашиваемому формату. |
2 | Внешняя система с id=%s не существует. | В параметре systemID указан неверный ID системы. |
2 | Внешняя система с id=%s не активна. | Для системы systemID отключена возможность инициализации платежей. |
2 | Сумма операции превышает максимально допустимую (%s). | Для внешней системы установлен максимальный размер одного платежа, который был превышен в запросе. |
2 | Сумма платежа меньше минимально допустимой (%s). | Для внешней системы установлен минимальный размер одного платежа, который был превышен в запросе. |
2 | Передано неверное значение комиссии. | Значение комиссии, рассчитанное на стороне внешней системы, не соответствует расчёту на стороне ProcessingFront. |
2 | Валюта с кодом=%s не существует. | В параметре currency указан неверный код валюты. |
2 | Ордер с id=%s уже существует. | В параметре orderID передан номер, по которому уже ранее был зарегистрирован платёж.k |
2 | Для пользователя не привязан указанный рекарринговый ключ. | Не удалось сопоставить данные клиента и соответствующий рекарринговый ключ. |
3 | Ошибка при выполнени рекарриногового платежа. %s | Платёж переведён в статус «Неуспешный» по причине ошибки. В расшифровке ошибки может присутствовать дополнительное описание. |
Пример запроса
<tnt:initRecurryingPaymentRequest>
<systemID>TEST_SYSTEM</systemID>
<key>2500000107</key>
<user>
<phone>9011231212</phone>
</user>
<currency>643</currency>
<amount>325.25</amount>
<fee>15.25</fee>
<orderID>100256</orderID>
<orderDesc>Рекарринговый платёж на сумму 325.25 руб.</orderDesc>
</tnt:initRecurryingRequest>
Пример ответа
<ns2:initRecurryingPaymentResponse xmlns:ns2="http://www.a-3.ru/tnt/">
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<orderID>100256</orderID>
<trID>2500000108</trID>
</ns2:initRecurryingPaymentResponse>
Для получения списка всех операций за сутки и их статусов нужно вызывать метод dailyReport
.
Описание интерфейса запроса
Имя | Обязательный | Тип | Описание |
---|---|---|---|
systemID | Да | строка | ID внешней системы |
date | Да | дата (YYYY-MM-DD) | ID операции во внешней системе для подтверждения резервирования (уникальное значение). |
signature | Да | строка | Подпись запроса. Тело подписи – строка из systemID + дата запроса в формате yyyy-mm-dd, например, TEST2016-07-08. |
status | Нет | число | Статус операции в «Системе А-3» на момент запроса. Результат запроса фильтруется по переданному статусу. Если статус не передан, возвращаются операции с любыми статусами. |
Описание интерфейса ответа
Имя | Тип | Описание |
---|---|---|
operationResult | контейнер | Результат операции |
code | число | Код результата |
description | строка | Описание результата |
orders | контейнер | Контейнер со статусами всех возвращённых операций |
orderStatus | контейнер | Контейнер со статусом операции |
orderID | строка | ID операции во внешней системе |
trStatus | число | Статус операции на момент запроса. |
trChangeDateTime | дата/время | Дата и время последнего обновления операции. |
Пример запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tnt="http://www.a-3.ru/tnt/">
<soapenv:Header/>
<soapenv:Body>
<tnt:dailyReportRequest>
<systemID>EXAMPLE</systemID>
<date>2015-07-28</date>
<status>2</status>
<signature>alfZW9hDR6v4+YSma3eTXA==</signature>
</tnt:dailyReportRequest>
</soapenv:Body>
</soapenv:Envelope>
Пример ответа
<ns2:dailyReportResult xmlns:ns2="http://www.a-3.ru/tnt/">
<operationResult>
<code>1</code>
<description>OK</description>
</operationResult>
<orders>
<orderStatus>
<orderID>100257</orderID>
<trStatus>2</trStatus>
<trChangeDateTime>2015-08-07 16:03:41</trChangeDateTime>
</orderStatus>
<orderStatus>
<orderID>100258</orderID>
<trStatus>2</trStatus>
<trChangeDateTime>2015-08-07 17:06:25</trChangeDateTime>
</orderStatus>
</orders>
</ns2:dailyReportResult>