По любому вопросу мы в одном клике

Задать вопрос

Банковский API v.1

Тестовая площадка дает вам возможность протестировать некоторые основные функции управления картами пакета SmartVista — регистрировать клиентов, создавать учетные записи, выпускать виртуальные карты, устанавливать лимиты карт, переводить средства и т.д.

Начните работу с Sandbox
Пройдите по ссылке и нажмите "Войти", чтобы создать учетную запись в Sandbox:
/cabinet/
Вы получите доступ ко всем API и Личному Кабинету.
icon

Начало работы

Используйте тестовую площадку, чтобы опробовать основные функции управления картами, такие как: регистрация владельцев карт, выпуск карт, установка лимитов карт, перевод средств и т.д.

Прежде чем начать использовать тестовую площадку, вам необходимо создать учетную запись и получить токен безопасности API.

Токен безопасности API предоставляет авторизационный доступ к API тестовой площадки.

Справочник по API

Существует две версии API. API v.2 — это RESTful API. API v.1 – это скорее JSON через HTTP. Хотя оба они могут быть описаны в спецификации Open API. Полное техническое описание вы можете найти здесь:

Пример коллекции Postman

Вы можете загрузить коллекцию запросов API Postman, чтобы протестировать некоторые основные функции управления картами в пакете SmartVista.

Загрузите коллекцию Postman для варианта использования

Общие характеристики

Все запросы являются запросами HTTP POST. Тип контента как для запросов, так и для ответов — application \ json.

Банковский API v.1. Варианты использования

Вы можете загрузить коллекцию запросов API Postman, чтобы протестировать некоторые основные функции управления картами в тестовой площадке.

Загрузите коллекцию Postman для варианта использования

Начните использование банковского API со следующего:

  1. Зарегистрируйте нового клиента с помощью запроса registerCustomer. Этот запрос также создает счет для клиента. Вы можете создать столько клиентов, сколько захотите. Но в тестовой площадке можно создать только один счет для для каждого клиента — это ограничение добавлено для упрощения логики тестовой площадки. В реальном проекте вы сможете создать столько счетов для каждого клиента, сколько необходимо для вашего бизнеса.
  2. Выпустите новую виртуальную карту с помощью createVirtualCard для счетов клиентов. Вы можете выпустить столько карт, сколько захотите. Карты тестовой площадки выдаются в активном состоянии и мгновенно готовы к использованию.

Теперь вы можете протестировать следующие функции (в произвольном порядке):

Пожалуйста, ознакомьтесь с информацией по каждому запросу ниже, включая примеры с кратким описанием того, что следует изменить, чтобы сделать эти запросы самостоятельно. Используйте ссылки на подробную документацию для получения дополнительной информации.

registerCustomer

Регистрирует нового клиента в SmartVista и создает счет. Вы можете создать столько клиентов, сколько захотите. Но в тестовой площадке можно создать только один счет для для каждого клиента — это ограничение добавлено для упрощения логики тестовой площадки. В реальном проекте вы сможете создать столько счетов для каждого клиента, сколько необходимо для вашего бизнеса.

Параметры запроса

Обязательность Название Тип Описание
Обязательно productName String Идентификатор шаблона клиента, который будет использоваться для создания клиента. В тестовой площадке есть только один шаблон клиента, и для клиентов тестовой площадки это значение всегда должно быть «CRCU1001».
Обязательно parameters Object Список параметров. Точный список зависит от шаблона создания клиента для конкретного проекта. Мы создали его для тестовой площадки, и вы можете увидеть необходимые параметры под этой таблицей.
Обязательно name String Определите параметр в шаблоне клиента, для которого установлено соответствующее значение.
Обязательно value String Значение, которое необходимо установить для конкретного параметра.

Для создания клиента в тестовой площадке необходимо передать следующие параметры с их значениями:

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/registerCustomer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "productName": "CRCU1001",
  "parameters":  [
      {
        "name": "institutionId",
        "value": "3006"
      },
      {
        "name": "agent_number",
        "value": "3006"
      },
      {
        "name": "customer_number",
        "value": "3006P_0000003"
      },
      {
        "name": "product_id",
        "value": "70000304"
      },
      {
        "name": "start_date",
        "value": "2021-09-06"
      },
      {
        "name": "service_id_acc",
        "value": "70000305"
      },
      {
        "name": "surname",
        "value": "Smith"
      },
      {
        "name": "firstName",
        "value": "John"
      },
      {
        "name": "secondName",
        "value": "A."
      },
      {
        "name": "email",
        "value": "johnsmith@email.com"
      },
      {
        "name": "mobile_phone",
        "value": "319220977338"
      },
      {
        "name": "country_code",
        "value": "528"
      },
      {
        "name": "region",
        "value": "BJ"
      },
      {
        "name": "city",
        "value": "Utrecht"
      },
      {
        "name": "street",
        "value": "Papendorpseweg"
      },
      {
        "name": "house",
        "value": "99"
      },
      {
        "name": "apartament",
        "value": "1"
      },
      {
        "name": "postal_code",
        "value": "3528"
      }
    ]  
}'
POST

/v1/apigate/ws/rest/registerCustomer

{ "productName": "CRCU1001", "parameters": [ { "name": "institutionId", "value": "@institutionId@" }, { "name": "agent_number", "value": "@institutionId@" }, { "name": "customer_number", "value": "@institutionId@_P015" }, { "name": "product_id", "value": "@productId@" }, { "name": "start_date", "value": "2021-09-06" }, { "name": "service_id_acc", "value": "@serviceId@" }, { "name": "surname", "value": "Smith" }, { "name": "firstName", "value": "John" }, { "name": "secondName", "value": "A." }, { "name": "email", "value": "johnsmith@email.com" }, { "name": "mobile_phone", "value": "319220977338" }, { "name": "country_code", "value": "528" }, { "name": "region", "value": "BJ" }, { "name": "city", "value": "Utrecht" }, { "name": "street", "value": "Papendorpseweg" }, { "name": "house", "value": "99" }, { "name": "apartament", "value": "1" }, { "name": "postal_code", "value": "3528" } ] }

Параметры ответа

Обязательность Название Тип Описание
Обязательно customerNumber String Номер клиента. Вы получите тот, который вы отправите в запросе т.к. тестовая площадка настроена для установки запрошенного номера для созданного клиента.
Обязательно accountNumber String Номер счета. Тестовая площадка возвращает номер счета, который она создает для Клиента.

Пример ответа

{
      "customerNumber": "3006P_0000003",
      "accountNumber": "3006978700000000108"
    }

createVirtualCard

Создает виртуальную карту для зарегистрированного клиента. Используйте registerCustomer, чтобы создать клиента и счет, если вы еще этого не сделали.

Параметры запроса

Обязательность Название Тип Описание
Обязательно cardIdentification Object Основные идентификационные параметры карты. Существует множество атрибутов карты и их комбинаций для идентификации карты, поддерживаемых SmartVista, но в тестовой площадке используется самый простой из них — номер карты. Все остальные варианты приведены в качестве примера.
Обязательно cardIdentification.cardNumber String Номер карты. Именно этот способ мы будем использовать во всех запросах тестовой площадки для идентификации карты. Для этого запроса всегда используйте номер карты "visaBin0000000000", где [visaBin] — это номер из электронного письма, которое вы получили после регистрации. Для всех остальных запросов используйте номер карты, который вы получите после создания карты этим запросом.
Необязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Обычно используется как один из возможных параметров идентификации карты, но не в этом проекте тестовой площадки, чтобы избежать управления ключами. Не используйте его здесь.
Необязательно cardIdentification.cardNumberMask String Маскированный номер карты. Распространенный способ идентификации карты в сочетании с номером телефона или какими-либо другими данными карты, но не тот, который используется в тестовой площадке. Не используйте его здесь.
Необязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты. Распространенный способ идентификации карты в сочетании с номером телефона, а не тот, который используется в тестовой площадке. Не используйте его здесь.
Необязательно cardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно cardIdentification.expDate String Срок действия карты. Часто используется с некоторыми другими атрибутами карты. Не для тестовой площадки.
Необязательно cardIdentification.plasticNumber Integer Номер пластика. Не для тестовой площадки.
Необязательно cardIdentification.phoneNumber String Телефон клиента. Часто используется с некоторыми другими атрибутами карты. Не для тестовой площадки.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно cardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно cardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно cardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно cardIdentification.token String Токен. Не для тестовой площадки.
Необязательно cardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно cardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.
Обязательно virtualCardIdentification Object Параметры виртуальной карты. expDate и productType являются обязательными.
Обязательно virtualCardIdentification.expDate String Срок действия карты. Любая будущая дата в формате «ГГГГММ».
Обязательно virtualCardIdentification.productType String Тип продукта. Идентифицирует карточный продукт для карты. В тестовой площадке всегда должен быть постоянный номер «16», так как мы настраиваем для вас один продукт.
Необязательно virtualCardIdentification.cardNumber String Номер карты. Не для тестовой площадки.
Необязательно virtualCardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно virtualCardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно virtualCardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно virtualCardIdentification.cvv2 String CVV2/CVC2. Не для тестовой площадки.
Обязательно amount Integer Лимит по умолчанию для вновь создаваемых виртуальных карт. В тестовой площадке должно быть постоянное число «0».
Обязательно currency Integer Валюта. Цифровой код валюты ISO 4217. Используйте «978» для тестовой площадки.
Обязательно accountNumber String Номер счета для первичной идентификации карты. Используйте номер счета, полученный с помощью метода registerCustomer().
Необязательно deliveryMethod String Способ доставки параметров виртуальной карты. Возможные значения: [WS, HALF_AND_HALF] . WS — все параметры, доставленные в ответе веб-службы. HALF_AND_HALF — некоторые параметры доставляются в ответе веб-службы, некоторые в SMS. Для HALF_AND_HALF ответ веб-службы будет содержать замаскированный номер карты (например, **** 1111 1111 ****), а SMS будет содержать CVV2 и другую половину замаскированного номера карты (1111 **** **** 1111). Используйте значение «WS» для тестовой площадки.
Необязательно personalData Object Персональные данные владельца карты. Не для тестовой площадки.
Необязательно personalData.firstName String Не для тестовой площадки.
Необязательно personalData.lastName String Не для тестовой площадки.
Необязательно cardAcceptorParameters Object Параметры терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantType String Код категории продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.nameAndLocation String Адрес расположения терминала. Не для тестовой площадки.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/createVirtualCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardNumber": "4140050000000000",
        "phoneNumber": "319220977337",
        "customerId": "5570_P018"
      },
    "virtualCardIdentification": {
        "expDate": 202612,
        "productType": "5C"
    },
    "amount": 0,
    "currency": 978,
    "accountNumber": "5570978700000006484",
    "deliveryMethod": "WS"
}'
POST

/v1/apigate/ws/rest/createVirtualCard

{ "cardIdentification": { "cardNumber": "@visaBin@0000000000", "phoneNumber": "319220977337", "customerId": "{customerNumber из ответа /registerCustomer}" }, "virtualCardIdentification": { "expDate": 202612, "productType": "5C" }, "amount": 0, "currency": 978, "accountNumber": "{accountNumber из ответа /registerCustomer}", "deliveryMethod": "WS" }

Параметры ответа

Обязательность Название Тип Описание
Обязательно virtualCardIdentification Object Параметры виртуальной карты.
Необязательно virtualCardIdentification.cardNumber String Номер карты. Здесь вы получите номер созданной карты в тестовой площадке. Сохраните его для всех дальнейших операций с созданной картой.
Необязательно virtualCardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно virtualCardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Обязательно virtualCardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Обязательно virtualCardIdentification.productType String Тип продукта. Не для тестовой площадки.
Необязательно virtualCardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно virtualCardIdentification.cvv2 String CVV2/CVC2. Не для тестовой площадки.

Пример ответа

{
        "virtualCardIdentification": {
            "cardNumber": "4140050090452283",
            "cardId": "100000245262",
            "expDate": "202612",
            "productType": "5C"
      }
}

getCardLimits

Получить лимиты по конкретной карте. Набор лимитов определен для карточного продукта и предопределен в тестовой площадке. Изначально лимиты для конкретной карты наследуются из настроек продукта. Вы можете изменить значения лимитов для конкретной карты с помощью changeCardLimits.

Доступны следующие лимиты (типы циклов указаны для настройки лимита по умолчанию и могут быть изменены запросом changeCardLimit):

Доступны следующие типы лимитов CycleType:

Параметры запроса

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно cardIdentification.cardNumber String Номер карты. Вы получите его в ответеCreateVirtualCard().
Необязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно cardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно cardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Необязательно cardIdentification.plasticNumber Integer Номер пластика Не для тестовой площадки.
Необязательно cardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно cardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно cardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно cardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно cardIdentification.token String Токен. Не для тестовой площадки.
Необязательно cardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно cardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getCardLimits \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardId" : 100000000873
  }
}'
POST

/v1/apigate/ws/rest/getCardLimits

{ "cardIdentification" : { "cardId" : "{cardId из ответа /createVirtualCard}" } }

Параметры ответа

Обязательность Название Тип Описание
Обязательно limits Object Список лимитов карты.
Обязательно limits.name String Наименование лимита.
Необязательно limits.startDate DateTime Дата начала лимита Не для тестовой площадки.
Необязательно limits.endDate DateTime Дата окончания лимита. Не для тестовой площадки.
Необязательно limits.value Long Значение лимита.
Необязательно limits.cycleType Integer Тип цикла. Возможны несколько типов циклов лимитов – ежедневные, ежемесячные и т.д.
Необязательно limits.cycleLength Integer Продолжительность цикла. Например, значение 2 для месячного лимита означает 2 месяца.
Необязательно limits.currency Integer Валюта.
Необязательно limits.currentValue Long Текущее значение лимита.
Обязательно limits.limitExceptions Object Ограничить список исключений. Не для тестовой площадки.

Пример ответа

{
        "limits": [
            {
                "name": "LMTP0111",
                "value": 999999999999,
                "cycleType": 0,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0112",
                "value": 999999999999,
                "cycleType": 3,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0108",
                "value": 999999999999,
                "cycleType": 3,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0110",
                "value": 999999999999,
                "cycleType": 3,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0109",
                "value": 999999999999,
                "cycleType": 0,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            },
            {
                "name": "LMTP0107",
                "value": 999999999999,
                "cycleType": 0,
                "cycleLength": 1,
                "currency": 978,
                "currentValue": 0,
                "limitExceptions": []
            }
        ]
    }

changeCardLimit

Изменить значения лимитов для конкретной карты. Набор лимитов определен для карточного продукта и предопределен в тестовой площадке. Изначально лимиты для конкретной карты наследуются из настроек продукта. Используйте getCardLimits для получения названий лимитов.

Доступны следующие лимиты (типы циклов указаны для настройки лимита по умолчанию и могут быть изменены запросом changeCardLimit):

Доступны следующие ограничения cycleType:

Параметры запроса

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно cardIdentification.cardNumber String Номер карты. Вы получите его в ответеCreateVirtualCard().
Необязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно cardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно cardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Необязательно cardIdentification.plasticNumber Integer Номер пластика. Не для тестовой площадки.
Необязательно cardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки. Не для тестовой площадки.
Необязательно cardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно cardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно cardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно cardIdentification.token String Токен. Не для тестовой площадки.
Необязательно cardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно cardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.
Обязательно limit Object Параметры лимита.
Обязательно limit.name String Наименование лимита. Он предопределен в тестовой площадке. Вы можете получить список лимитов с помощью getCardLimits() и получить имена лимитов из его ответа.
Необязательно limit.startDate DateTime Дата начала лимита Не для тестовой площадки.
Необязательно limit.endDate DateTime Дата окончания лимита. Не для тестовой площадки.
Необязательно limit.value Long Значение лимита.
Необязательно limit.cycleType Integer Тип цикла.
Необязательно limit.cycleLength Integer Продолжительность цикла.
Необязательно limit.currency Integer Валюта. Не для тестовой площадки.
Необязательно limit.currentValue Long Текущее значение лимита. Не для тестовой площадки.
Необязательно cardAcceptorParameters Object Параметры терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantType String Код категории продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.nameAndLocation String Адрес расположения терминала. Не для тестовой площадки.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/changeCardLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardId": "100000245259"
      },
    "limit": {
        "name": "LMTP0112",
        "value": 13000000,
        "cycleType": 4,
        "cycleLength": 1
    }
}'
POST

/v1/apigate/ws/rest/changeCardLimit

{ "cardIdentification": { "cardId": "{cardId из ответа /createVirtualCard}" }, "limit": { "name": "LMTP0112", "value": 13000000, "cycleType": 4, "cycleLength": 1 } }

Параметры ответа

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции в SmartVista. 00 означает успех.

Пример ответа

{
      "responseCode": "00",
      "processingCode": "710000",
      "systemTraceAuditNumber": 609644,
      "localTransactionDate": "2024-10-23T08:23:28"
    }

getCardData

Возвращает данные о созданных вами картах. Может использоваться после создания карты с помощью createVirtualCard.

Параметры запроса

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Требуется cardNumber. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно cardIdentification.cardNumber String Номер карты. Вы получите его в ответеCreateVirtualCard().
Необязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно cardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно cardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Необязательно cardIdentification.plasticNumber Integer Номер пластика Не для тестовой площадки.
Необязательно cardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно cardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно cardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно cardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно cardIdentification.token String Токен. Не для тестовой площадки.
Необязательно cardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно cardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.
Необязательно rsaPublicKey ByteArray Открытый ключ для шифрования номера карты в ответном сообщении. Не для тестовой площадки.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getCardData \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardId": "100000245259"
      }
}'
POST

/v1/apigate/ws/rest/getCardData

{ "cardIdentification" : { "cardId" : "{cardId из ответа /createVirtualCard}" } }

Параметры ответа

Обязательность Название Тип Описание
Обязательно cardData Object Параметры карты.
Необязательно cardData.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно cardData.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Обязательно cardData.cardNumber String Номер карты.
Необязательно cardData.expiryDate String Срок действия карты. В формате ГГГГММ.
Необязательно cardData.formattedExpiryDate String Срок действия карты, отформатированной пользователем. Не для тестовой площадки.
Необязательно cardData.cardId String Идентификатор карты. Это внутренний идентификатор карты SmartVista, который можно использовать для идентификации карты для приложений, не совместимых с PCI DSS.
Необязательно cardData.hotCardStatus Integer Статус карты.
Необязательно cardData.cardTypeName String Тип карты.
Необязательно cardData.embossedName String Имя на пластике. Имеет смысл ждя эмбоссированных пластиковых карт, а не для виртуальных карт в тестовой площадке.
Необязательно cardData.customerId String ID клиента.
Необязательно cardData.customerName String Имя клиента. Не для тестовой площадки.
Необязательно cardData.personId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно cardData.pinDenialCounter Integer Количество попыток неправильного ввода PIN-кода
Необязательно cardData.plasticNumber Integer Номер пластика. Не для тестовой площадки.
Необязательно cardData.hotCardStatusDescription String Описание статуса карты.
Необязательно cardData.cardIsPrimary Boolean Флаг основной карты. Всегда false для тестовой площадки.
Необязательно cardData.cardBindToCustomer Boolean Флаг привязки карты к клиенту. Всегда false для тестовой площадки.
Необязательно cardData.customerIsCardholder Boolean Флаг является ли клиент держателем карты. Всегда false для тестовой площадки.
Необязательно cardData.cardContractId String Идентификатор карточного контракта. Не для тестовой площадки.
Необязательно cardData.cardPlasticId String Идентификатор типа пластика. Не для тестовой площадки.
Необязательно cardData.cardPlasticDescription String Описание типа пластика. Не для тестовой площадки.
Необязательно cardData.memorableWord String Секретное слово. Не для тестовой площадки.
Необязательно cardData.email String Электронная почта. Не для тестовой площадки.
Необязательно cardData.lastWrongPinDate DateTime Дата/время последней попытки ввода неправильного PIN-кода. Не для тестовой площадки.
Необязательно cardData.cardCreationDate DateTime Дата выпуска карты. Не для тестовой площадки.
Необязательно cardData.cardBlockingDate DateTime Дата/время блокировки карты. Не для тестовой площадки.
Необязательно cardData.directDebitAccount String Счет, используемый для автоплатежей. Не для тестовой площадки.
Необязательно cardData.cardholderMobilePhoneNumber String Номер телефона владельца карты. Не для тестовой площадки.
Необязательно cardData.accounts Object Список счетов для карты. В тестовой площадке должен быть только один счет.
Обязательно accounts.number String Номер счета.
Обязательно accounts.currency Integer Валюта счета
Необязательно accounts.currencyAlphaCode String Буквенный код валюты счета.
Обязательно accounts.balance Integer Баланс счета.
Необязательно accounts.creditLimit Integer Кредитный лимит.
Обязательно accounts.customerId String ID клиента.
Необязательно accounts.defaultAccount Boolean Индикатор счета по умолчанию. Всегда true для тестовой площадки.

Пример ответа

{
        "cardData": {
            "cardNumber": "4140050021658271",
            "expiryDate": "202301",
            "cardId": "100000000873",
            "hotCardStatus": 0,
            "cardTypeName": "VISA - PLUS",
            "embossedName": "GENERAL POOL",
            "customerId": "3006P_0000003",
            "personId": "3006P_0000002",
            "pinDenialCounter": 0,
            "plasticNumber": 1,
            "hotCardStatusDescription": "VALID CARD",
            "cardIsPrimary": false,
            "cardBindToCustomer": false,
            "customerIsCardholder": false,
            "accounts": [
                {
                    "number": "3006978700000000108",
                    "accountType": 1,
                    "currency": 978,
                    "currencyAlphaCode": "EUR",
                    "balance": 0,
                    "creditLimit": 0,
                    "customerId": "3006P_0000003",
                    "defaultAccount": true
                }
            ],
            "customParameters": []
        }
    }

blockCard

Заблокировать карту. Чтобы заблокировать карту в тестовой площадке, она должна находиться в активном статусе (код состояния 0). Вы можете получить код статуса карты с помощью getCardData.

Параметры запроса

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно cardIdentification.cardNumber String Номер карты. Вы получите его в ответеCreateVirtualCard().
Необязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно cardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно cardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Необязательно cardIdentification.plasticNumber Integer Номер пластика Не для тестовой площадки.
Необязательно cardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно cardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно cardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно cardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно cardIdentification.token String Токен. Не для тестовой площадки.
Необязательно cardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно cardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения.
Обязательно hotCardStatus Integer Статус карты. Should be 6 for the Sandbox. Это означает, что карта заблокирована и должна быть изъята при попытке использования.
Необязательно cardAcceptorParameters Object Параметры терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantType String Код категории продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.nameAndLocation String Адрес расположения терминала. Не для тестовой площадки.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/blockCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardNumber": "100000245259"
      },
    "hotCardStatus": 6
}'
POST

/v1/apigate/ws/rest/blockCard

{ "cardIdentification": { "cardNumber": "{cardNumber из ответа /createVirtualCard}" }, "hotCardStatus": 6 }

Параметры ответа

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции в SmartVista. 00 означает успех.

Пример ответа

{
        "responseCode": "00",
        "processingCode": "910000",
        "systemTraceAuditNumber": 620397,
        "localTransactionDate": "2021-09-23T14:37:36"
    }

validateCard

Разблокировать карту.

Параметры запроса

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (cardNumberMask и cardholderId) или (cardNumberMask и phoneNumber).
Обязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты.
Обязательно cardIdentification.cardNumberMask String Маскированный номер карты.
Обязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты.
Обязательно cardIdentification.cardNumber String Номер карты.
Необязательно cardIdentification.cardId String Идентификатор карты.
Необязательно cardIdentification.expDate String Срок действия карты.
Необязательно cardIdentification.plasticNumber Integer Номер пластика
Необязательно cardIdentification.phoneNumber String Телефон клиента.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты.
Необязательно cardIdentification.customerId String ID клиента.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02.
Необязательно cardIdentification.barCode String Штрих-код.
Необязательно cardIdentification.cvv2 String CVV2.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка.
Необязательно cardIdentification.token String Токен.
Необязательно cardIdentification.cardTypeCode String Код типа карты.
Необязательно cardIdentification.email String Электронная почта.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения.
Необязательно cardAcceptorParameters Object Параметры терминала.
Обязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала.
Обязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца.
Обязательно cardAcceptorParameters.merchantType String Код категории продавца.
Необязательно cardAcceptorParameters.nameAndLocation String Адрес расположения терминала.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/validateCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
        "cardId": "100000245259"
      }
}'
POST

/v1/apigate/ws/rest/validateCard

{ "cardIdentification" : { "cardId" : "{cardId из ответа /createVirtualCard}" } }

Параметры ответа

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции в SmartVista. 00 означает успех.

Пример ответа

{
    "responseCode": "00",
    "processingCode": "980000",
    "systemTraceAuditNumber": 320252,
    "localTransactionDate": "2024-02-08T15:06:53"
}

creditCard

Внесение средств на карту.

Параметры запроса

Обязательность Название Тип Описание
Необязательно preAuthorization Boolean Флаг предварительной авторизации.
Обязательно cardIdentification Object Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно cardIdentification.cardNumber String Номер карты. Вы получите его в ответе CreateVirtualCard.
Необязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно cardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно cardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Необязательно cardIdentification.plasticNumber Integer Номер пластика Не для тестовой площадки.
Необязательно cardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно cardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно cardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно cardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно cardIdentification.token String Токен. Не для тестовой площадки.
Необязательно cardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно cardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.
Обязательно amount Integer Сумма.
Обязательно currency Integer Валюта. Цифровой код валюты ISO 4217. Use 978 for the Sandbox.
Необязательно tds Object Параметры транзакции 3DS.
Необязательно tds.xid String Идентификатор транзакции VISA 3DS. Не для тестовой площадки.
Необязательно tds.cavv String Проверочное значение аутентификации VISA. Не для тестовой площадки.
Необязательно tds.ucaf String Поле универсальной аутентификации Mastercard. Не для тестовой площадки.
Необязательно tds.authenticationIndicator String Тип аутентификации транзакции электронной торговли. Возможные значения: NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH. Не для тестовой площадки.
Необязательно cardAcceptorParameters Object Параметры терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantType String Код категории продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.nameAndLocation String Адрес расположения терминала. Не для тестовой площадки.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/creditCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber": "4140050090966613",
    "expDate": 202612
  },
  "amount" : 10000,
  "currency" : 978
}'
POST

/v1/apigate/ws/rest/creditCard

{ "cardIdentification" : { "cardNumber" : "{cardNumber from /createVirtualCard response}", "expDate" : 202612 }, "amount" : 10000, "currency" : 978 }

Параметры ответа

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции SVFE. 00 означает успех.
Обязательно processingCode String код обработки.
Обязательно systemTraceAuditNumber Integer Номер записи аудита
Обязательно localTransactionDate DateTime Дата транзакции. Фрмат: дата-время
Обязательно rrn String Внешний идентификатор RNN.
Необязательно authorizationIdResponse String Идентификатор авторизации.
Необязательно uniqueReferenceNumber String Уникальный ссылочный номер операции.
Необязательно otp String Одноразовый пароль. Не для тестовой площадки.
Необязательно acquirerFeeAmount String Сумма комиссии эквайера. Не для тестовой площадки.
Необязательно issuerFeeAmount String Размер комиссии эмитента. Не для тестовой площадки.
Необязательно paymentSpecificData Object Специальные данные о платеже.

Пример ответа

{
      "responseCode": "00",
      "processingCode": "270000",
      "systemTraceAuditNumber": 609652,
      "localTransactionDate": "2024-10-23T08:29:18",
      "rrn": "000003997389",
      "authorizationIdResponse": "997389",
      "accountCurrencyAmount": 10000,
      "paymentSpecificData": {}
   }

p2pTransfer

p2p перевод с карты на карту.

Параметры запроса

Обязательность Название Тип Описание
Необязательно preAuthorization Boolean Флаг предварительной авторизации.
Обязательно sourceCardIdentification Object Параметры идентификации карты для исходной карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно sourceCardIdentification.cardNumber String Номер карты. Вы получите его в ответеCreateVirtualCard().
Обязательно sourceCardIdentification.expDate String Срок действия карты. Формат ГГГГММ.
Необязательно sourceCardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно sourceCardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно sourceCardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно sourceCardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно sourceCardIdentification.plasticNumber Integer Номер пластика. Не для тестовой площадки.
Необязательно sourceCardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно sourceCardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно sourceCardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно sourceCardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно sourceCardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно sourceCardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно sourceCardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно sourceCardIdentification.token String Токен. Не для тестовой площадки.
Необязательно sourceCardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно sourceCardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно sourceCardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.
Обязательно destinationCardIdentification Object Идентификационные параметры карты зачисления. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно destinationCardIdentification.cardNumber String Номер карты. Вы получите его в ответеCreateVirtualCard().
Необязательно destinationCardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно destinationCardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно destinationCardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно destinationCardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно destinationCardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Необязательно destinationCardIdentification.plasticNumber Integer Номер пластика Не для тестовой площадки.
Необязательно destinationCardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно destinationCardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно destinationCardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно destinationCardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно destinationCardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно destinationCardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно destinationCardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно destinationCardIdentification.token String Токен. Не для тестовой площадки.
Необязательно destinationCardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно destinationCardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно destinationCardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.
Обязательно amount Integer Сумма.
Обязательно currency Integer Валюта. Цифровой код валюты ISO 4217. Use 978 for the Sandbox.
Необязательно sourceAccountNumber String Номер карты, с которой осуществляется списание средств. Не для тестовой площадки.
Необязательно destinationAccountNumber String Номер карты, на которую осуществляется зачисление. Не для тестовой площадки.
Необязательно tds Object Параметры транзакции 3DS. Не для тестовой площадки.
Необязательно tds.xid String Идентификатор транзакции VISA 3DS. Не для тестовой площадки.
Необязательно tds.cavv String Проверочное значение аутентификации VISA. Не для тестовой площадки.
Необязательно tds.ucaf String Поле универсальной аутентификации Mastercard. Не для тестовой площадки.
Необязательно tds.authenticationIndicator String Тип аутентификации транзакции электронной торговли. Возможные значения: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. Не для тестовой площадки.
Обязательно senderReceiverInfo Object Информация об отправителе и получателе платежа. Не для тестовой площадки.
Обязательно senderReceiverInfo.senderName String Имя отправителя в формате «Фамилия, Имя».
Обязательно senderReceiverInfo.senderAddress String Адрес отправителя.
Необязательно senderReceiverInfo.senderCity String Город отправителя. Не для тестовой площадки.
Необязательно senderReceiverInfo.senderCountry String Код страны отправителя. Не для тестовой площадки.
Необязательно senderReceiverInfo.senderPostalCode String Почтовый индекс отправителя. Не для тестовой площадки.
Необязательно senderReceiverInfo.receiverName String Имя получателя в формате «Фамилия, Имя». Не для тестовой площадки.
Необязательно pointOfServiceDataCode String Набор кодов, определяющих возможности терминала, параметры его окружения и использование средств безопасности во время транзакции. Не для тестовой площадки.
Обязательно pointOfServiceConditionCode String Код, определяющий условия проведения транзакции в точке обслуживания. Любой текст.
Необязательно cardAcceptorParameters Object Параметры терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.merchantType String Код категории продавца. Не для тестовой площадки.
Необязательно cardAcceptorParameters.nameAndLocation String Адрес расположения терминала. Не для тестовой площадки.
Необязательно securityLevelIndicator String Индикатор уровня безопасности. Не для тестовой площадки.
Необязательно originalTransactionParameters Object Параметры исходной транзакции. Должен быть включен в запрос на проверку статуса транзакции. Не для тестовой площадки.
Необязательно originalTransactionParameters.systemTraceAuditNumber Integer Номер записи аудита. Не для тестовой площадки.
Необязательно originalTransactionParameters.localTransactionDate DateTime Дата транзакции. Не для тестовой площадки.
Необязательно originalTransactionParameters.rrn String Внешний идентификатор RNN. Не для тестовой площадки.
Необязательно posCardholderPresence Integer Тип присутствия владельца карты в пункте обслуживания. Не для тестовой площадки.
Необязательно businessApplicationIdentifier String Идентификатор типа транзакции MC. Не для тестовой площадки.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/p2pTransfer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "sourceCardIdentification": {
    "cardNumber": "4140050090966613",
    "expDate": "202612"
  },
    "destinationCardIdentification": {
      "cardNumber": "4165850095602372"
  },
  "amount": 10000,
  "currency": 978,
  "senderReceiverInfo": {
    "senderName": "Tor, John",
    "senderAddress": "New York, USA"
  },
  "pointOfServiceDataCode": "810"
}'
POST

/v1/apigate/ws/rest/p2pTransfer

{ "sourceCardIdentification": { "cardNumber": "{cardNumber из ответа /createVirtualCard}", "expDate": "202612" }, "destinationCardIdentification": { "cardNumber": "4165850095602372" }, "amount": 10000, "currency": 978, "senderReceiverInfo": { "senderName": "Tor, John", "senderAddress": "New York, USA" }, "pointOfServiceDataCode": "810" }

Параметры ответа

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции. 00 означает успех.
Обязательно processingCode String код обработки.
Обязательно systemTraceAuditNumber Integer Номер записи аудита
Обязательно localTransactionDate DateTime Дата транзакции. Фрмат: дата-время
Обязательно rrn String Внешний идентификатор RNN.
Необязательно authorizationIdResponse String Идентификатор авторизации.
Необязательно paymentSpecificData Object Специальные данные о платеже.

Пример ответа

{
      "responseCode": "00",
      "processingCode": "490000",
      "systemTraceAuditNumber": 609665,
      "localTransactionDate": "2024-10-23T08:42:06",
      "rrn": "000003997403",
      "authorizationIdResponse": "997405",
      "accountCurrencyAmount": 10000,
      "paymentSpecificData": {}
    }

getTransactions

Получить историю транзакций по конкретной карте.

Параметры запроса

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
Обязательно cardIdentification.cardNumber String Номер карты. Вы получите его в ответеCreateVirtualCard().
Необязательно cardIdentification.encryptedCardNumber ByteArray Зашифрованный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardNumberMask String Маскированный номер карты. Не для тестовой площадки.
Необязательно cardIdentification.cardLastDigitMask String Последние цифры номера карты. Не для тестовой площадки.
Необязательно cardIdentification.cardId String Идентификатор карты. Не для тестовой площадки.
Необязательно cardIdentification.expDate String Срок действия карты. Не для тестовой площадки.
Необязательно cardIdentification.plasticNumber Integer Номер пластика. Не для тестовой площадки.
Необязательно cardIdentification.phoneNumber String Телефон клиента. Не для тестовой площадки.
Необязательно cardIdentification.cardholderId String Идентификатор владельца карты. Не для тестовой площадки.
Необязательно cardIdentification.customerId String ID клиента. Не для тестовой площадки.
Необязательно cardIdentification.customerNumber String Номер клиента в SVB02. Не для тестовой площадки.
Необязательно cardIdentification.barCode String Штрих-код. Не для тестовой площадки.
Необязательно cardIdentification.cvv2 String CVV2. Не для тестовой площадки.
Необязательно cardIdentification.externalCardId String Идентификатор карты во внешней системе банка. Не для тестовой площадки.
Необязательно cardIdentification.token String Токен. Не для тестовой площадки.
Необязательно cardIdentification.cardTypeCode String Код типа карты. Не для тестовой площадки.
Необязательно cardIdentification.email String Электронная почта. Не для тестовой площадки.
Необязательно cardIdentification.institutionId String Внутренний идентификатор учреждения. Не для тестовой площадки.
Обязательно period Object Промежуток времени.
Необязательно period.start DateTime Дата начала. Формат ГГГГ-ММ-ДД.
Необязательно period.end DateTime Дата окончания. Формат ГГГГ-ММ-ДД.

Пример запроса

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardId": "100000245258"
  },
  "period": {
    "start": "2024-10-01",
    "end": "2024-10-23"
  }
}'
POST

/v1/apigate/ws/rest/getTransactions

{ "cardIdentification": { "cardId": "{cardId из ответа /createVirtualCard}" }, "period": { "start": "2024-10-01", "end": "2024-10-23" } }

Параметры ответа

Обязательность Название Тип Описание
Обязательно transactions Object Транзакции.
Необязательно transactions.boWriteOffDate DateTime Время и дата списания SVBO. Не для тестовой площадки.
Обязательно transactions.authorizationDate DateTime Дата/время авторизации.
Обязательно transactions.transactionType String Тип транзакции.
Обязательно transactions.operationDirection String Направление сделки. Возможные значения: [CREDIT, DEBIT, NOOP]
Обязательно transactions.amount Integer Сумма транзакции.
Обязательно transactions.currency Integer Валюта.
Обязательно transactions.amountInAccountCurrency Integer Сумма транзакции в валюте счета.
Обязательно transactions.utrnno Long Идентификатор транзакции в SVFE (внутренний идентификатор SmartVista).
Необязательно transactions.boUtrnno Long Идентификатор транзакции в SVBO. (внутренний идентификатор SmartVista).
Необязательно transactions.transactionDescription String Описание транзакции.
Необязательно transactions.feeDirection String Направление клмиссии. Возможные значения: [CREDIT, DEBIT, NOOP]
Необязательно transactions.acquireFeeAmount Integer Сумма комиссии эквайера.
Необязательно transactions.feIssuerFeeAmount Integer Сумма онлайн-комиссии эмитента.
Необязательно transactions.boIssuerFeeAmount Integer Сумма офлайн-комиссии эмитента.
Необязательно transactions.mcc Long MCC.
Необязательно transactions.merchantCountry String Страна мерчанта.
Необязательно transactions.merchantCity String Город мерчанта.
Необязательно transactions.merchantName String Имя мерчанта.
Необязательно transactions.merchantId String Идентификатор продавца.
Необязательно transactions.terminalAddress String Адрес терминала.
Необязательно transactions.posDataCode String Код данных POS.
Необязательно transactions.authorizationIdResponse String Идентификатор авторизации.
Необязательно transactions.reversalDate DateTime Дата/время реверсала.
Необязательно transactions.reversal Boolean Флаг реверсала.
Необязательно transactions.requestAmount Integer Запрашиваемая сумма для транзакции.
Необязательно transactions.terminalId String Идентификатор терминала.
Необязательно transactions.payId String Идентификатор, назначенный поставщиком услуг.

Пример ответа

{
        "transactions": [
            {
                "authorizationDate": "2021-09-23T14:35:24",
                "transactionType": "578",
                "operationDirection": "NOOP",
                "amount": 0,
                "currency": 0,
                "amountInAccountCurrency": 0,
                "utrnno": 154793,
                "transactionDescription": "Change limit",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "reversal": false,
                "requestAmount": 0,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:37:36",
                "transactionType": "493",
                "operationDirection": "NOOP",
                "amount": 0,
                "currency": 0,
                "amountInAccountCurrency": 0,
                "utrnno": 154796,
                "transactionDescription": "Card blocking",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154796",
                "reversal": false,
                "requestAmount": 0,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:38:26",
                "transactionType": "672",
                "operationDirection": "NOOP",
                "amount": 0,
                "currency": 0,
                "amountInAccountCurrency": 0,
                "utrnno": 154797,
                "transactionDescription": "Card status change",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154797",
                "reversal": false,
                "requestAmount": 0,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:39:15",
                "transactionType": "760",
                "operationDirection": "CREDIT",
                "amount": 10000,
                "currency": 978,
                "amountInAccountCurrency": 10000,
                "utrnno": 154798,
                "transactionDescription": "Credit account presentment",
                "feeDirection": "CREDIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154798",
                "reversal": false,
                "requestAmount": 10000,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:40:05",
                "transactionType": "781",
                "operationDirection": "DEBIT",
                "amount": 1000,
                "currency": 978,
                "amountInAccountCurrency": 1000,
                "utrnno": 154800,
                "transactionDescription": "P2P Debit part",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154800",
                "reversal": false,
                "requestAmount": 1000,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            },
            {
                "authorizationDate": "2021-09-23T14:40:05",
                "transactionType": "689",
                "operationDirection": "NOOP",
                "amount": 1000,
                "currency": 978,
                "amountInAccountCurrency": 1000,
                "utrnno": 154799,
                "transactionDescription": "Card-to-Card money transfer",
                "feeDirection": "DEBIT",
                "acquireFeeAmount": 0,
                "feIssuerFeeAmount": 0,
                "mcc": 6012,
                "merchantCountry": "NLD",
                "merchantCity": "BPC TEST ADDRESS N 2",
                "merchantName": "Test Mobile Bank",
                "merchantId": "TEST__MB",
                "terminalAddress": "APIGATE  FE  TEST BPC TEST ADDRESS N 1",
                "posDataCode": "600550U00110",
                "authorizationIdResponse": "154801",
                "reversal": false,
                "requestAmount": 1000,
                "terminalId": "TEST__MB",
                "internalResponseCode": -1
            }
        ]
    }
Категории:
Банкинг API V1
Категории
Результаты поиска