Skip to content

a3payment/docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Описание протокола ProcessingFront

...

Доступ к ЛК предоставляется Системой при заполнении Партнером соответствующих пунктов в Бланке. ЛК расположен в сети Интернет по адресу:

ВАЖНО! При тестировании системы на devе используйте только тестовые карты. Тестовые карты не используются на продуктивой среде.

Статусы платежа

Список возможных статусов платежа

Код Статус Описание
0 Инициирован заказ на проведение платежа/резервирование инициирован.
1 В обработке заказ находится в процессинге, выполняется 3ds проверка (при необходимости) и происходит списание (резервирование) денег.
2 Успешно завершен заказ успешно выполнен, деньги списаны (захолдированы) с платёжного инструмента.
3 Неуспешно завершен заказ закончился неудачей, списание денег не произошло.
4 Ввод реквизитов карты статус для платежей по карте - пользователь открыл в браузере форму ввода реквизитов карты.
5 Подтверждение оплаты выполняется дополнительная обработка заказа после списания средств или подтверждение холда.
6 Выполняется отмена по заказу запрошена отмена и она в процессе выполнения.
7 Отменён заказ отменён после успешного проведения.

Методы SOAP

initPaymentRequest - Инициализация обычного платежа

Для инициализации платежа нужно вызвать метод 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 строка 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>

initAuthenticationRequest - Инициализация платежа c резервированием средств

Для инициализации платежа с резервированием средств нужно вызвать метод initAuthentication. В результате вызова метода создаётся платёжная операция, её идентификатор возвращается в ответе, вместе со ссылкой на форму для ввода платёжного инструмента клиента.

Примечание: Используется для платежей в связке с биллингом, подтверждение и отмена резерва происходит автоматически. При такой схеме метод confirmAuthentication не используется.

Описание интерфейса запроса

Имя Обязательный Тип Описание
systemID Да строка ID внешней системы
paymentType Да CARD, NATIVE, PHONE, ANDROIDPAY, APPLEPAY Тип платёжного инструмента
amount Да десятичная дробь Сумма операции, соответствующая ожидаемому списанию средств с платёжного инструмента.
authOrderID Да строка ID операции во внешней системе (уникальное значение).
currency Да число Код валюты платежа (для рублей = 643).
fee десятичная дробь Размер комиссии, включённой в сумму резервирования. *
authOrderDesc строка Сумма операции, соответствующая ожидаемому резервированию средств по платёжному инструменту.
userID строка Явное указание ID пользователя.
phone строка Телефонный номер пользователя. Поле обязательно, если платёжный инструмент = 'PHONE'. Если в запросе не передан userID, используется как ID пользователя.
email строка 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>

confirmAuthenticationRequest - Подтверждение платежа c резервированными средствами

Для подтверждения платежа с предварительным резервом, нужно вызвать метод 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>

getPaymentInfoRequest - Получение информации о платежной операции

Описание интерфейса запроса

Имя Обязательный Тип Описание
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>

getPaymentStatusRequest - получение актуального статуса платежа

Описание интерфейса запроса

Имя Обязательный Тип Описание
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>

cancelPaymentRequest - Отмена платёжной операции

Для отмены платежа нужно вызвать метод 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>

enableRecurringKeyRequest - Активация рекаррингового ключа

Для активации рекаррингового ключа необходимо существование у клиента успешного платежа через платёжный модуль ProcessingFront - id (trID) этого платежа будет использоваться как ключ. Активация происходит через метод enableRecurringKey. При этом, в метод необходимо передать информацию для идентификации клиента и проверки принадлежности ему рекаррингового ключа. Активация рекаррингового ключа - информационная операция.

Описание интерфейса запроса

Имя Обязательный Тип Описание
systemID Да строка ID внешней системы
key Да строка Рекарринговый ключ
user Да контейнер Данные клиента
userID строка Явное указание ID пользователя
phone строка Телефон пользователя
email строка 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>

disableRecurringKeyRequest - Деактивация рекаррингового ключа

Деактивация (отключение) рекаррингового ключа происходит через метод disableRecurringKey. Деактивация рекаррингового ключа – информационная операция.

Описание интерфейса запроса

Имя Обязательный Тип Описание
systemID Да строка ID внешней системы
key Да строка Рекарринговый ключ
user Да контейнер Данные клиента
userID строка Явное указание ID пользователя
phone строка Телефон пользователя
email строка 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>

initRecurringPaymentRequest - Выполнение рекаррингового платежа

Для выполнения рекаррингового платежа необходимо вызвать метод initRecurringPayment. Ключ, передаваемый в атрибуте key должен быть предварительно активирован. В результате вызова метода выполняется платёжная операция, её идентификатор возвращается в ответе метода. Для получения результата платежа необходимо дополнительно вызвать метод getPaymentStatus.

Описание интерфейса запроса

Имя Обязательный Тип Описание
systemID да строка ID внешней системы
key да строка Рекарринговый ключ
user да контейнер Данные клиента
userID строка Явное указание ID пользователя
phone строка Телефон пользователя
email строка 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>

dailyReportRequest - получение суточного отчёта об операциях

Для получения списка всех операций за сутки и их статусов нужно вызывать метод 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>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published