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

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

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

Тестовая площадка

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

Скачать коллекцию Postman

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

Все методы работают через HTTP POST.

Content-Type: application/json как для запросов, так и для ответов.

Аутентификация

Базовая аутентификация доступа — это метод, с помощью которого пользователь HTTP может предоставить имя пользователя и пароль при отправке запроса. При базовой HTTP-аутентификации запрос содержит поле заголовка в форме Authorization: Basic <credentials>, где учетные данные – это представленное в Base64 сочетание идентификатора и пароля, соединенные одним двоеточием :.

Клиенты

registerCustomer

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

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

Обязательность Название Тип Описание
Обязательно productName String Идентификатор шаблона клиента, который будет использоваться для создания клиента. В тестовой площадке есть только один шаблон клиента, и для клиентов тестовой площадки это значение всегда должно быть «CRCU1001».
Обязательно parameters Object Список параметров. Точный список зависит от шаблона создания клиента для конкретного проекта. Мы создали его для тестовой площадки, и вы можете увидеть необходимые параметры под этой таблицей.
Обязательно parameters.name String Определите параметр в шаблоне клиента, для которого установлено соответствующее значение.
Обязательно parameters.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"
      }
    ]  
}'

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

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

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

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

getCustomerInfo

Получить информацию о клиенте.

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

Обязательность Название Тип Описание
Необязательно accountNumber String Номер счета.
Обязательно customerNumber String Номер клиента.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getCustomerInfo \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "customerNumber" : "3210_P004"
}'

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

Обязательность Название Тип Описание
Обязательно customerNumber String Номер клиента.
Обязательно customerName String Имя клиента.
Необязательно limits Object Список лимитов.
Обязательно limits.limitName String Наименование лимита.
Обязательно limits.limitType String Наименование лимита.
Необязательно limits.value Long Значение лимита.
Необязательно limits.currentValue Long Текущее значение.
Необязательно accounts Object Список счетов.
Обязательно accounts.accountNumber String Номер счета.
Обязательно accounts.accountType String Тип счета.
Обязательно accounts.product Object Параметры продукта.
Обязательно product.productNumber String Номер продукта.
Обязательно product.productName String Наименование товара.
Необязательно accounts.balances Object Список балансов счетов.
Обязательно balances.type String Тип баланса.
Обязательно balances.value Long Значение баланса.

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

{
    "customerNumber": "3210_P004",
    "customerName": "Smith John A.",
    "limits": [
        {
            "limitName": "Customer-level credit limit",
            "limitType": "LMTP0901",
            "value": 0,
            "currentValue": 0
        },
        {
            "limitName": "Customer-level cash advance credit limit",
            "limitType": "LMTP0902",
            "value": 0,
            "currentValue": 0
        }
    ],
    "accounts": [
        {
            "accountNumber": "3210978700000000579",
            "accountType": "ACTP0100",
            "balances": []
        }
    ]
}

isCustomerExist

Проверка, существует ли идентификатор клиента.

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

Обязательность Название Тип Описание
Обязательно customerNumber String Номер клиента.
Необязательно institutionId Integer Идентификатор учреждения

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/isCustomerExist \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "customerNumber": 1002,
  "institutionId": 7001
}'

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

Обязательность Название Тип Описание
Обязательно result Boolean Идентификатор учреждения.

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

{
  "result" : true
}

Аккаунты

changeAccountLimit

Изменить лимит счета.

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

Обязательность Название Тип Описание
Обязательно accountNumber String Номер счета.
Обязательно limit Object Параметры лимита.
Обязательно limit.name String Имя лимита в SVBO.
Необязательно 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/changeAccountLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber" : 4000010000000003,
  "limit" : {
    "name" : "LMTTC01",
    "startDate" : "2015-02-15",
    "endDate" : "2015-02-20",
    "value" : 10000000,
    "cycleType" : 4,
    "cycleLength" : 1
  }
}'

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

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

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

{
  "responseCode" : 00
}

getAccountLimits

Получить список лимитов счета.

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

Обязательность Название Тип Описание
Обязательно accountNumber String Номер счета.

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

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

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

{
  "limits": [
    {
      "name": "LMTTC01",
      "value": 10000000,
      "cycleType": 4,
      "cycleLength": 1,
      "currency": 978,
      "currentValue": 0,
      "limitExceptions": [
        {
          "limitName": "LMTTA02",
          "startDate": "2014-12-30",
          "endDate": "2014-12-31",
          "value": 10000,
          "cycleType": 0,
          "cycleLength": 0
        }
      ]
    }

changeAccountStatus

Change account status.

Request parameters

Required Name Type Description
Mandatory accountNumber string Account number.
Mandatory accountStatus integer Account status

Request example

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/changeAccountStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": 2652,
  "accountStatus": 1
}'

Response parameters

Required Name Type Description
Mandatory responseCode string Operation completion code in SmartVista.

Response example

{
  "responseCode" : 00
}

changeAccountStatusInFe

Измените статус учетной записи.

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

Обязательность Название Тип Описание
Обязательно accountNumber String Номер счета.
Обязательно accountStatus Integer Статус счета
Необязательно 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/changeAccountStatusInFe \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": 3210978700000000579,
  "accountStatus": 1
  }
}'

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

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

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

{
    "responseCode": "00",
    "processingCode": "810000",
    "systemTraceAuditNumber": 320257,
    "localTransactionDate": "2024-02-08T15:08:14"
}

getAccountData

Получить данные счета.

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

Обязательность Название Тип Описание
Обязательно accountNumber String Номер счета.
Необязательно returnCardNumber Boolean Показывает, нужно ли в ответ указывать полный номер карты.

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

Обязательность Название Тип Описание
Обязательно accountData Object Параметры счета.
Обязательно accountData.number String Номер счета.
Обязательно accountData.currency Integer Валюта счета.
Необязательно accountData.currencyAlphaCode String Буквенный код валюты счета.
Обязательно accountData.balance Integer Баланс счета.
Необязательно accountData.creditLimit Integer Кредитный лимит.
Обязательно accountData.customerId String ID клиента.
Необязательно accountData.defaultAccount Boolean Индикатор счета по умолчанию.
Обязательно accountData.cards Object Список карт для счета.
Необязательно cards.cardType String Тип карты.
Необязательно cards.cardNumber String Номер карты.
Необязательно cards.expiryDate String Срок действия карты.
Необязательно cards.cardStatus String Статус карты.
Необязательно cards.accountNumber String Номер счета.
Необязательно cards.accountStatus String Статус счета.
Необязательно cards.gmfIndicator String Индикатор счета GMF.
Необязательно cards.productNumber String Номер продукта.
Обязательно cards.productId String Идентификационный номер продукта.

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

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

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

{
    "accountData": {
        "number": "3210978700000000579",
        "currency": 978,
        "currencyAlphaCode": "EUR",
        "balance": 0,
        "customerId": "3210_P004",
        "cards": [
            {
                "cardNumberMask": "414210******8086",
                "expiryDate": "202512",
                "cardId": "100000003347",
                "hotCardStatus": 0,
                "cardTypeName": "VISA - PLUS",
                "embossedName": "GENERAL POOL",
                "customerId": "3210_P004",
                "personId": "3210P_0000001",
                "pinDenialCounter": 0,
                "plasticNumber": 1,
                "hotCardStatusDescription": "VALID CARD",
                "cardIsPrimary": false,
                "cardBindToCustomer": false,
                "customerIsCardholder": false
            }
        ]
    }
}

setAllowedBeneficiaries

Установить список разрешенных бенефициаров для карты или счета.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/setAllowedBeneficiaries \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": "4000010000000003",
  "beneficiaries": [
    "M0001"
  ] 
}'

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

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

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

{
  "responseCode": "00"
}

getAllowedBeneficiaries

Получить список разрешенных бенефициаров по карте или счету.

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

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

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

{
  "beneficiaries": [
    M0001
  ]
}

setAllowedMccList

Установка списка MCC, разрешенных для карты или счета.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/setAllowedMccList \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "accountNumber": "4000010000000003",
  "mccList" : [
    1750
  ]
}'
Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции в SmartVista.

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

{
  "responseCode": "00"
}

getAllowedMccList

Получить список MCC, разрешенных для карты или счета.

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

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

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

{
  "mccList": [
    1750
  ]
}

Мерчанты

changeMerchantStatus

Изменить статус продавца.

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

Обязательность Название Тип Описание
Обязательно merchantNumber String Номер продавца.
Обязательно institutionId String Внутренний идентификатор учреждения.
Обязательно agentId String Идентификатор агента.
Обязательно customerNumber String Номер клиента.
Обязательно contractNumber String Номер договора.
Обязательно status String Статус мерчанта.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/changeMerchantStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantNumber": "M000001",
  "institutionId": "3210",
  "agentId": "32",
  "customerNumber": "3210_P004",
  "contractNumber": "201",
  "status": "Valid Entity"
}'

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

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

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

{
  "responseCode" : "00"
}

getMerchantTransactions

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

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

Обязательность Название Тип Описание
Обязательно merchantId String Идентификатор продавца.
Необязательно terminalId String Идентификатор терминала.
Обязательно institutionId String Внутренний идентификатор учреждения.
Обязательно period Object Промежуток времени.
Необязательно period.start DateTime Дата начала.
Необязательно period.end DateTime Дата окончания.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getMerchantTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantIdn" : "M999101",
  "institutionId": 2,
  "period": {
    "start": "2019-05-01",
    "end": "2019-06-01"
  }
}'

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

Обязательность Название Тип Описание
Обязательно transactions Object Транзакции.
Обязательно transactions.utrnno Long Идентификатор транзакции в SVFE
Необязательно transactions.reversal Boolean Флаг реверсала.
Обязательно transactions.merchantId String Идентификатор продавца.
Обязательно transactions.terminalId String Идентификатор терминала.
Обязательно transactions.transactionDate DateTime Дата/время транзакции.
Необязательно transactions.settlementDate DateTime Дата/время расчета.
Обязательно transactions.cardNumberMask String Маскированный номер карты.
Обязательно transactions.cardNumber String Номер карты.
Необязательно transactions.transactionAmount Integer Сумма транзакции.
Необязательно transactions.transactionCurrency Integer Код валюты транзакции
Необязательно transactions.submittedAmount Integer Запрашиваемая сумма.
Необязательно transactions.submittedCurrency Integer Запрашиваемая валюта
Необязательно transactions.responseCode Integer Внутренний код ответа SVFE.
Необязательно transactions.authorizationCode String Код авторизации.
Необязательно transactions.cashbackAmount Integer Сумма кэшбэка.
Необязательно transactions.transactionType String Тип транзакции.
Необязательно transactions.networkType String Тип сети.
Необязательно transactions.cardType String Тип карты.
Необязательно transactions.orderNumber String Номер платежного поручения.
Необязательно transactions.orderId String Идентификатор платежного поручения.

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

    {
        "transactions": {
          "transaction": [
            {
              "utrnno": 7220355,
              "reversal": false,
              "merchantId": "M999101",
              "terminalId": 999101,
              "transactionDate": "2019-05-15T13:08:07+04:00",
              "cardNumber": 4440010000000001,
              "transactionAmount": 10000,
              "transactionCurrency": 978,
              "responseCode": 802,
              "authorizationCode": 0,
              "cashbackAmount": 0,
              "transactionType": 736,
              "networkType": 28,
              "cardType": 0
            },
            {
              "utrnno": 7220403,
              "reversal": false,
              "merchantId": "M999101",
              "terminalId": 999101,
              "transactionDate": "2019-05-15T13:11:38+04:00",
              "cardNumber": 4440010000000001,
              "transactionAmount": 10000,
              "transactionCurrency": 978,
              "responseCode": 802,
              "authorizationCode": 0,
              "cashbackAmount": 0,
              "transactionType": 736,
              "networkType": 28,
              "cardType": "DEF"
            },
            {
              "utrnno": 7220431,
              "reversal": false,
              "merchantId": "M999101",
              "terminalId": 999101,
              "transactionDate": "2019-05-15T13:12:55+04:00",
              "cardNumber": 4440010000000001,
              "transactionAmount": 10000,
              "transactionCurrency": 978,
              "responseCode": 801,
              "authorizationCode": 0,
              "cashbackAmount": 0,
              "transactionType": 736,
              "networkType": 44,
              "cardType": "DEF"
            }
          ]
        }
      }

changeTerminalStatus

Изменить статус терминала.

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

Обязательность Название Тип Описание
Обязательно merchantNumber String Номер продавца.
Обязательно terminalNumber String Номер терминала.
Обязательно institutionId String Внутренний идентификатор учреждения.
Обязательно agentId String Идентификатор агента.
Обязательно customerNumber String Номер клиента.
Обязательно contractNumber String Номер договора.
Обязательно status String Статус терминала.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/changeTerminalStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantNumber" : "M999201",
  "terminalNumber" : "00999201",
  "institutionId" : "3210",
  "agentId" : "32",
  "customerNumber" : "3210_P004",
  "contractNumber" : "201",
  "status" : "Valid Entity"
}'

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

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

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

{
  "responseCode" : "00"
}

generateKey

Сгенерировать ключ.

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

Обязательность Название Тип Описание
Необязательно terminalId Long Внутренний идентификатор терминала SVFE (pid)
Необязательно terminalNumber String Идентификатор терминала.
Необязательно merchantNumber String Идентификатор продавца.
Обязательно hostId Integer Внутренний идентификатор ключа ZMK (PID), который следует использовать для экспорта сгенерированного ключа.
Обязательно keyType String Тип ключа.
Обязательно keyLength String Длина сгенерированного ключа. Возможные значения: [ENKL_0016, ENKL_0032, ENKL_0048]

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/generateKey \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "hostId" : 54329,
  "keyType": "string",
  "keyLength": "ENKL_0016",
  "keySerialNumber": "string",
  "dukptId": 0
}'

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

Обязательность Название Тип Описание
Необязательно keyValue String Сгенерированный ключ (зашифрованный ZMK).
Необязательно checkValue String Значение проверки
Необязательно lmkHsmKeyValue String Сгенерированный ключ (зашифрованный LMK).

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

{
  "keyValue" : "keyValue",
  "lmkHsmKeyValue" : "lmkHsmKeyValue",
  "checkValue" : "checkValue"
}

setKey

Установить ключ.

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

Обязательность Название Тип Описание
Необязательно terminalId Long Внутренний идентификатор терминала SVFE (pid)
Необязательно terminalNumber String Идентификатор терминала.
Необязательно merchantNumber String Идентификатор продавца.
Обязательно hostId Integer PID хоста
Обязательно keyType String Тип ключа. Возможные значения: [ENKTTMKA, ENKTTMKP, ENKTTAK, ENKTIKEY]
Необязательно inputKeyPrefix String Введите префикс ключа. Возможные значения: [U, T, X, Y]
Обязательно key String Ключ.
Необязательно keyCheckValue String Значение проверки
Обязательно newKeyPrefix String Новый префикс ключа. Возможные значения: [U, T, X, Y]

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/setKey \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "terminalId": 0,
  "terminalNumber": "string",
  "merchantNumber": "string",
  "hostId": 0,
  "keyType": "ENKTTMKA",
  "inputKeyPrefix": "U",
  "key": "string",
  "keyCheckValue": "string",
  "newKeyPrefix": "U"
}'

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

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

{ }

serviceAction

Выполнить действие с услугой.

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

Обязательность Название Тип Описание
Обязательно serviceIdentification Object Идентификационные данные услуги.
Обязательно serviceIdentification.serviceType String Тип услуги.
Обязательно serviceIdentification.serviceId String Идентификатор услуги.
Обязательно serviceIdentification.serviceObjectType String Объект, к которому может быть привязана услуга. Возможные значения: [SERVICE_OBJECT_CARD, SERVICE_OBJECT_ACCOUNT]
Обязательно actionCode String Код действия. Возможные значения: [ACTION_CODE_ADD, ACTION_CODE_UPDATE, ACTION_CODE_DELETE, ACTION_CODE_CHECK, ACTION_CODE_CHANGE_ACCESS, ACTION_CODE_CHECK_PARAMETERS, ACTION_CODE_RESTORE_PARAMETERS, ACTION_CODE_INQUIRE, ACTION_CODE_ACTION]
Обязательно cardIdentification Object Параметры идентификации карты. expDate и (cardNumber) или (barCode) или (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 Внутренний идентификатор учреждения.
Необязательно accountNumber String Номер счета.
Необязательно serviceParameters Object Параметры услуги.
Необязательно serviceParameters.phoneNumber String Номер телефона.
Необязательно serviceParameters.email 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/serviceAction \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "serviceIdentification": {
    "serviceType" : 7,
    "serviceId" : 300,
    "serviceObjectType": "SERVICE_OBJECT_CARD"
  },
  "actionCode": "ACTION_CODE_ADD",
  "cardIdentification": {
    "cardNumber": 4000010000000003
  }
}'

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

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

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

{
  "responseCode" : 00
}

Карты и кошельки

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 Статус карты. Для тестовой площадки должно быть '6'. Это означает, что карта заблокирована и должна быть изъята при попытке использования.
Необязательно 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" : 100000000873
  },
  "hotCardStatus" : 6
}'

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

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции в SmartVisa. «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" : 100000000873
  }
}'

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

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

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

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

bindCardToAccount

Привязать карту к счету.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. cardNumber и expDate являются обязательными.
Обязательно 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 Внутренний идентификатор учреждения.
Обязательно accountNumber String Номер счета для привязки.
Обязательно accountType String Тип счета. Возможные значения: [ACCOUNT_TYPE_DEFAULT, ACCOUNT_TYPE_SAVING, ACCOUNT_TYPE_CHECKING, ACCOUNT_TYPE_CREDIT, ACCOUNT_TYPE_FIRST_OTHERS, ACCOUNT_TYPE_LOANS, ACCOUNT_TYPE_ENVELOPE, ACCOUNT_TYPE_ESCROW, ACCOUNT_TYPE_MONEY_MARKET, ACCO UNT_TYPE_LOYALTY]
Необязательно accountCurrency Integer Валюта счета (требуется только для новых счетов).
Необязательно personalData Object Персональные данные держателя карты.
Необязательно personalData.firstName String
Необязательно personalData.lastName String
Необязательно customerId String ID клиента.
Необязательно 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/bindCardToAccount \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000001,
    "expDate" : 202512
  },
  "accountNumber" : 4000010000000001,
  "accountType" : "ACCOUNT_TYPE_DEFAULT",
  "accountCurrency" : 978,
  "personalData" : {
    "firstName" : "IVAN",
    "lastName" : "IVANOV"
  },
  "customerId" : "3210_P004"
}'

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

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

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

{
  "responseCode" : 00
}

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
  }
}'

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

Обязательность Название Тип Описание
Обязательно 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": []
            }
        ]
    }

addCardLimitException

Добавить исключение лимита карты.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (barCode) или (cardNumberMasked и cardholderId) или (cardNumberMasked и `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 Внутренний идентификатор учреждения.
Обязательно limitException Object Параметры исключения лимита.
Обязательно limitException.limitName String Имя лимита в SVBO.
Обязательно limitException.startDate DateTime Дата начала исключения.
Обязательно limitException.endDate DateTime Дата окончания исключения.
Необязательно limitException.value Long Значение лимита
Необязательно limitException.cycleType Integer Тип цикла
Необязательно limitException.cycleLength Integer Продолжительность цикла
Необязательно 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/addCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  },
  "limitException" : {
    "limitName" : "LMTTC01",
    "startDate" : "2015-04-20",
    "endDate" : "2015-04-30",
    "value" : 10000000,
    "cycleType" : 4,
    "cycleLength" : 1
  }
}'

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

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

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

{
  "responseCode" : 00
}

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" : 100000000873
  },
  "limit" : {
    "name" : "LMTP0112",
    "value" : 13000000,
    "cycleType" : 4,
    "cycleLength" : 1
  }
}'

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

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

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

    {
        "responseCode": "00",
        "processingCode": "710000",
        "systemTraceAuditNumber": 620394,
        "localTransactionDate": "2021-09-23T14:35:24"
    }

changeCardLimitException

Изменить исключение лимита карты.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. cardNumber или cardId являются обязательными.
Обязательно 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 Внутренний идентификатор учреждения.
Обязательно limitException Object Параметры исключения лимита.
Обязательно limitException.limitName String Имя лимита в SVBO.
Обязательно limitException.startDate DateTime Дата начала исключения.
Обязательно limitException.endDate DateTime Дата окончания исключения.
Необязательно limitException.value Long Значение лимита
Необязательно limitException.cycleType Integer Тип цикла
Необязательно limitException.cycleLength Integer Продолжительность цикла
Необязательно 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/changeCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003,
    "expDate" : 202512
  },
  "limitException" : {
    "limitName" : "LMTTC01",
    "startDate" : "2015-04-20",
    "endDate" : "2015-04-30",
    "value" : 10000000
  }
}'

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

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

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

{
  "responseCode" : 00
}

deleteCardLimitException

Удалить исключение из лимита карты.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (barCode) или (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 Внутренний идентификатор учреждения.
Обязательно limitException Object Параметры исключения лимита.
Обязательно limitException.limitName String Имя лимита в SVBO.
Обязательно limitException.startDate DateTime Дата начала исключения.
Обязательно limitException.endDate DateTime Дата окончания исключения.
Необязательно limitException.value Long Значение лимита
Необязательно limitException.cycleType Integer Тип цикла
Необязательно limitException.cycleLength Integer Продолжительность цикла
Необязательно 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/deleteCardLimitException \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003,
    "expDate" : 202512
  },
  "limitException" : {
    "limitName" : "LMTTC01",
    "startDate" : "2015-02-15",
    "endDate" : "2015-02-20"
  }
}'

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

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

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

{
  "responseCode" : 00
}

generatePin

Сгенерировать ПИН-код.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. (encryptedCardNumber) или (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 Внутренний идентификатор учреждения.
Необязательно pinDeliveryMethod String Способ доставки PIN-кода. Возможные значения: [SMS — в SMS, WS — в ответе веб-службы, HALF_AND_HALF — первые две цифры в ответе WS, вторые две цифры в SMS, WS_ENCRYPTED — в ответе веб-службы с использованием общедоступного шифрования RSA в режиме ECB, NONE — не доставлять PIN]
Необязательно encryptedPinValue ByteArray Зашифрованный PIN-код.
Необязательно pinValue String PIN.
Необязательно cardAcceptorParameters Object Параметры терминала.
Обязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала.
Обязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца.
Обязательно cardAcceptorParameters.merchantType String Код категории продавца.
Необязательно cardAcceptorParameters.nameAndLocation String Адрес расположения терминала.
Необязательно parameters Object Список произвольных параметров.
Необязательно parameters.name String
Необязательно parameters.value String
Необязательно checkCardOnly Boolean Флаг, показывающий, нужно ли только проверять наличие и статус карты, а не формировать и менять ПИН.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/generatePin \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumberMask" : "400001%0003",
    "phoneNumber" : 79021111111
  },
  "pinDeliveryMethod" : "WS"
}'

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

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции в SmartVista (00 – успех).
Необязательно pinValue String PIN.
Необязательно encryptedPinValue ByteArray Зашифрованный PIN-код.

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

{
  "encryptedPinValue" : [ "encryptedPinValue", "encryptedPinValue" ],
  "pinValue" : 1111,
  "responseCode" : 00
}

changePin

Изменить ПИН-код.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. cardNumber или cardId являются обязательными.
Обязательно 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 Внутренний идентификатор учреждения.
Обязательно newPinData 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/changePin \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  },
  "newPinData" : "059B2AA97DF72557"
}'

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

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

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

{
  "responseCode" : 00
}

resetPinCounter

Сброс счетчика неправильных попыток ввода PIN-кода.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. cardNumber или cardId являются обязательными.
Обязательно 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/resetPinCounter \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardNumber": 4142100007657181
  },
}'

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

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

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

{
    "responseCode": "00",
    "processingCode": "890000",
    "systemTraceAuditNumber": 452018,
    "localTransactionDate": "2021-11-11T12:28:19",
    "rrn": "000000224348",
    "authorizationIdResponse": "224348"
}

generateCVC2

Сгенерировать CVC2.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (barCode) или (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 Телефон клиента. Должен быть передан, если deliveryMethod — это SMS, а phoneNumber НЕ используется в качестве параметра идентификации.
Необязательно 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 Внутренний идентификатор учреждения.
Необязательно deliveryMethod String Способ доставки кода. Возможные значения: [SMS, WS, HALF_AND_HALF, WS_ENCRYPTED, NONE]
Необязательно 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/generateCVC2 \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4149070067595816
  }
}'

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

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции SVFE.
Необязательно cardNumberMask String Маскированный номер карты.
Необязательно cardNumber String Номер карты.
Необязательно cvc2 String Сгенерированное значение CVV2.

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

{
    "responseCode": "00",
    "cardNumberMask": "****07006759****",
    "cvc2": "692"
}

setGeoRestrictions

Установить географические ограничения для карты. Возвращаются только те правила, которые можно изменить.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId).
Обязательно 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 Внутренний идентификатор учреждения.
Обязательно restrictions Object Список ограничений.
Обязательно restrictions.countryId Integer Идентификатор страны.
Обязательно restrictions.regionId Integer Идентификатор региона.
Обязательно restrictions.transactionGroupId Integer Идентификатор группы транзакций.
Обязательно restrictions.status String Статус ограничения. Возможные значения: [ENABLED, DISABLED]
Необязательно restrictions.startDate DateTime Дата вступления ограничений в силу.
Необязательно restrictions.endDate DateTime Дата снятия ограничений.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/setGeoRestrictions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardNumber" : 4000010000000001
  },
  "restrictions": {
    "restriction": [
      {
        "regionId": 5,
        "transactionGroupId": 999,
        "status": "DISABLED",
        "startDate": "2021-05-01T00:00:00",
        "endDate": "2021-05-09T23:59:59"
      },
      {
        "regionId" : 11,
        "transactionGroupId" : 3,
        "status" : "DISABLED"
      }
    ]
  } 
}'

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

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

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

{
  "responseCode" : 00
}

getGeoRestrictions

Получить список географических ограничений для карты. Возвращаются только правила, накладывающие ограничения для карты.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: cardNumber или cardId.
Обязательно 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 Внутренний идентификатор учреждения.

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

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

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

Обязательность Название Тип Описание
Обязательно regions Object Список регионов.
Обязательно regions.id Integer Идентификатор региона.
Обязательно regions.description String Описание.
Необязательно countries Object Список стран.
Обязательно countries.id Integer Идентификатор страны.
Обязательно countries.description String Описание.
Обязательно transactionGroups Object Список групп транзакций.
Обязательно transactionGroups.id Integer Идентификатор группы
Обязательно transactionGroups.description String Описание.
Обязательно restrictions Object Список ограничений.
Обязательно restrictions.countryId Integer Идентификатор страны.
Обязательно restrictions.regionId Integer Идентификатор региона.
Обязательно restrictions.transactionGroupId Integer Идентификатор группы транзакций.
Обязательно restrictions.status String Статус ограничения. Возможные значения: [ENABLED, DISABLED]
Необязательно restrictions.startDate DateTime Дата вступления ограничений в силу.
Необязательно restrictions.endDate DateTime Дата снятия ограничений.

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

    {
        "regions": {
          "region": [
            {
              "id": 1,
              "description": "NETHERLANDS"
            },
            {
              "id": 2,
              "description": "EUROPEAN UNION"
            }
          ]
        },
        "countries": {
          "country": [
            {
              "id": 978,
              "description": "NETHERLANDS"
            },
            {
              "id": 840,
              "description": "UNITED STATES"
            }
          ]
        },
        "transactionGroups": {
          "transactionGroup": [
            {
              "id": 1,
              "description": "Purchase Or Payments"
            },
            {
              "id": 2,
              "description": "Cash Withdrawal"
            }
          ]
        },
        "restrictions": {
          "restriction": [
            {
              "regionId": 1,
              "transactionGroupId": 1,
              "status": "DISABLED"
            },
            {
              "countryId": 640,
              "transactionGroupId": 1,
              "status": "DISABLED",
              "startDate": "2021-05-01T00:00:00+03:00",
              "endDate": "2021-05-09T23:59:59+03:00"
            }
          ]
        }
    }

cardStatusInquiry

Сделать запрос о статусе карты.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (barCode) или (cardNumberMask и cardholderId) или (cardNumberMask и phoneNumber). Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (barCode) или (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/cardStatusInquiry \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  } 
}'

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

Обязательность Название Тип Описание
Обязательно hotCardStatus Integer Статус карты

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

{
  "hotCardStatus" : 0
}

changeCardStatus

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

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

Обязательность Название Тип Описание
Обязательно 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 Статус карты. Для тестовой площадки должно быть «0», чтобы активировать заблокированную карту.
Необязательно 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/changeCardStatus \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardId" : 100000000873
  },
  "hotCardStatus" : 0
}'

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

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

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

    {
        "responseCode": "00",
        "processingCode": "950000",
        "systemTraceAuditNumber": 620398,
        "localTransactionDate": "2021-09-23T14:38:26"
    }

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 Тип продукта. Идентифицирует карточный продукт для карты. В тестовой площадке всегда должен быть постоянный номер «5C», так как мы настраиваем для вас один продукт.
Необязательно 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" : "3006P_0000002"
  },
  "virtualCardIdentification" : {
    "expDate" : 202512,
    "productType" : "5C"
  },
  "amount" : 0,
  "currency" : 978,
  "accountNumber" : "3006978700000000108",
  "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": "4140050021658271",
            "cardId": "100000000873",
            "expDate": "202512",
            "productType": "5C"
        }
    }

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" : 100000000873
  }
}'

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

Обязательность Название Тип Описание
Обязательно 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": "202512",
            "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": []
        }
    }

getCardFees

Получить комиссии по карте.

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

Обязательность Название Тип Описание
Обязательно cardNumber String Номер карты.

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

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

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

Обязательность Название Тип Описание
Обязательно fees Object Список комиссий.
Обязательно fees.feeType String Тип комиссии.
Обязательно fees.feeValue number Величина комиссии.

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

{
  "fees" : [ {
    "feeValue" : 1.46581298050294517310021547018550336360931396484375,
    "feeType" : "feeType"
  }, {
    "feeValue" : 1.46581298050294517310021547018550336360931396484375,
    "feeType" : "feeType"
  } ]
}

getCardListByOwner

Получить список карт, используя идентификатор клиента и/или идентификатор владельца карты.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. (customerId), (phoneNumber) или (email) являются обязательными.
Обязательно 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 Внутренний идентификатор учреждения.

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

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

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

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

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

    {
        "cards": {
          "card": [
            {
              "cardNumberMask": "400001******0004",
              "expiryDate": 202512,
              "cardId": 99,
              "hotCardStatus": 0,
              "cardTypeName": "EC/MC Virtual",
              "embossedName": "TEST FOR_BO_TRANS1",
              "customerId": 10022830,
              "personId": 40000004,
              "pinDenialCounter": 0,
              "plasticNumber": 0,
              "hotCardStatusDescription": "VALID CARD",
              "cardIsPrimary": true,
              "cardBindToCustomer": true,
              "customerIsCardholder": false
            },
            {
              "cardNumberMask": "400001******0008",
              "expiryDate": 202512,
              "hotCardStatus": 8,
              "cardTypeName": "EC/MC Virtual",
              "embossedName": "TEST FOR_BO_TRANS1",
              "customerId": 10022830,
              "personId": 40000008,
              "pinDenialCounter": 0,
              "plasticNumber": 0,
              "hotCardStatusDescription": "CALL SECURITY, CAPTURE",
              "cardIsPrimary": true,
              "cardBindToCustomer": true,
              "customerIsCardholder": false
            },
            {
              "cardNumberMask": "400001******0017",
              "expiryDate": 202512,
              "hotCardStatus": 0,
              "cardTypeName": "EC/MC Virtual",
              "embossedName": "TEST FOR_BO_TRANS1",
              "customerId": 10022830,
              "personId": 40000017,
              "pinDenialCounter": 0,
              "plasticNumber": 0,
              "hotCardStatusDescription": "VALID CARD",
              "cardIsPrimary": true,
              "cardBindToCustomer": true,
              "customerIsCardholder": false
            }
          ]
        }
    }

getTransactionSchemeAdditions

Получите дополнительные правила схемы транзакций.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: cardId.
Обязательно 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 Внутренний идентификатор учреждения.
Необязательно templateSchemeId Long Идентификатор схемы, используемой в качестве шаблона

Request example

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

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

Обязательность Название Тип Описание
Необязательно transactionSchemeAdditions Object Список дополнительных правил схемы транзакций.
Обязательно transactionSchemeAdditions.id Long Идентификатор правила
Обязательно transactionSchemeAdditions.domain String Идентификатор учреждения-эмитента.
Обязательно transactionSchemeAdditions.countryGroup Integer Идентификатор группы стран
Обязательно transactionSchemeAdditions.mccGroup Integer Идентификатор группы MCC
Обязательно transactionSchemeAdditions.transactionType Integer Тип транзакции: формат
Обязательно transactionSchemeAdditions.posDataCode String Значение кода данных POS.

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

    {
        "transactionSchemeAdditions": {
          "addition": [
            {
              "id": 141,
              "domain": 9999,
              "countryGroup": 9987,
              "mccGroup": -1,
              "transactionType": 781,
              "posDataCode": "************"
            },
            {
              "id": 142,
              "domain": 9999,
              "countryGroup": 9987,
              "mccGroup": -1,
              "transactionType": 781,
              "posDataCode": "************"
            },
            {
              "id": 143,
              "domain": 9999,
              "countryGroup": 9987,
              "mccGroup": -1,
              "transactionType": 781,
              "posDataCode": "************"
            }
          ]
        }
    }

setTransactionSchemeAdditions

Установите список правил для дополнительной схемы транзакции.

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

Обязательность Название Тип Описание
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: cardId.
Обязательно 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 Внутренний идентификатор учреждения.
Обязательно transactionSchemeAdditions Object Список дополнительных правил схемы транзакций.
Обязательно transactionSchemeAdditions.id Long Идентификатор правила
Обязательно transactionSchemeAdditions.domain String Идентификатор учреждения-эмитента.
Обязательно transactionSchemeAdditions.countryGroup Integer Идентификатор группы стран
Обязательно transactionSchemeAdditions.mccGroup Integer Идентификатор группы MCC
Обязательно transactionSchemeAdditions.transactionType Integer Тип транзакции: формат
Обязательно transactionSchemeAdditions.posDataCode String Значение кода данных POS.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/setTransactionSchemeAdditions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification": {
    "cardId": 1000
  },
  "transactionSchemeAdditions": {
    "addition": [
      {
        "id": 141,
        "domain": 9999,
        "countryGroup": 9987,
        "mccGroup": -1,
        "transactionType": 793,
        "posDataCode": "************"
      },
      {
        "id": 142,
        "domain": 9999,
        "countryGroup": 9987,
        "mccGroup": -1,
        "transactionType": 781,
        "posDataCode": "************"
      },
      {
        "id": 143,
        "domain": 9999,
        "countryGroup": 9987,
        "mccGroup": -1,
        "transactionType": 781,
        "posDataCode": "************"
      }
    ]
  }
}'

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

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

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

{
  "responseCode" : 00
}

topUp

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

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/topUp \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "pan": "string",
  "expiryMonth": "string",
  "expiryYear": "string",
  "cvc": "string",
  "cardholderName": "string"
}'

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

{
  "preAuthorization": false,
  "cardIdentification": {
    "encryptedCardNumber": [
      "string"
    ],
    "cardNumberMask": "string",
    "cardLastDigitMask": "string",
    "cardNumber": "string",
    "cardId": "string",
    "expDate": "string",
    "plasticNumber": 0,
    "phoneNumber": "string",
    "cardholderId": "string",
    "customerId": "string",
    "customerNumber": "string",
    "barCode": "string",
    "cvv2": "string",
    "externalCardId": "string",
    "token": "string",
    "cardTypeCode": "string",
    "email": "string",
    "institutionId": "string"
  },
  "amount": 0,
  "currency": 0,
  "accountType": "ACCOUNT_TYPE_DEFAULT",
  "accountIndex": 0,
  "accountNumber": "string",
  "account2Type": "ACCOUNT_TYPE_DEFAULT",
  "account2Index": 0,
  "account2Number": "string",
  "tds": {
    "xid": "string",
    "cavv": "string",
    "ucaf": "string",
    "authenticationIndicator": "NOT_PERFORMED"
  },
  "senderReceiverInfo": {
    "senderName": "string",
    "senderAddress": "string",
    "senderCity": "string",
    "senderCountry": "string",
    "senderPostalCode": "string",
    "receiverName": "string"
  },
  "pointOfServiceDataCode": "string",
  "pointOfServiceConditionCode": "string",
  "fee": {
    "feeAmount": 0,
    "feeCurrency": 0
  },
  "cardAcceptorParameters": {
    "terminalIdentification": "string",
    "merchantIdentification": "string",
    "merchantType": "string",
    "nameAndLocation": "string"
  },
  "securityLevelIndicator": "string",
  "fundingSource": 0,
  "externalTransactionId": "string",
  "originalTransactionParameters": {
    "systemTraceAuditNumber": 0,
    "localTransactionDate": "2021-10-29T11:57:14.481Z",
    "rrn": "string"
  },
  "posCardholderPresence": 0,
  "uniqueReferenceNumber": "string",
  "otp": "string",
  "serviceId": "string",
  "paymentSpecificData": {
    "f57": "string",
    "f58": "string",
    "f59": "string",
    "f60": "string",
    "f61": "string",
    "f62": "string",
    "f63": "string",
    "f64": "string",
    "f65": "string",
    "f66": "string",
    "f67": "string",
    "f68": "string",
    "f69": "string",
    "f70": "string",
    "f71": "string",
    "f72": "string",
    "f73": "string"
  },
  "transactionComment": "string",
  "additionalAmounts": [
    {
      "accountType": "ACCOUNT_TYPE_DEFAULT",
      "amountType": "string",
      "currency": 0,
      "amount": 0
    }
  ]
}

Транзакции

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. Используйте «978» для тестовой площадки.
Необязательно 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" : 4140050021658271,
    "expDate" : 202512
  },
  "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": 620399,
        "localTransactionDate": "2021-09-23T14:39:15",
        "rrn": "000000154798",
        "authorizationIdResponse": "154798",
        "paymentSpecificData": {}
    }

debitCard

Снять средства с карты.

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

Обязательность Название Тип Описание
Необязательно preAuthorization Boolean Флаг предварительной авторизации.
Обязательно cardIdentification Object Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (barCode) или (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 Внутренний идентификатор учреждения.
Обязательно amount Integer Сумма.
Обязательно currency Integer Валюта
Необязательно fee Object Параметры комиссии эквайера.
Обязательно fee.feeType String Тип комиссии.
Обязательно fee.feeValue number Величина комиссии.
Необязательно cardAcceptorParameters Object Параметры терминала.
Обязательно cardAcceptorParameters.terminalIdentification String Идентификатор терминала.
Обязательно cardAcceptorParameters.merchantIdentification String Идентификатор продавца.
Обязательно cardAcceptorParameters.merchantType String Код категории продавца.
Необязательно cardAcceptorParameters.nameAndLocation 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]

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/debitCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "cardIdentification" : {
    "cardNumber" : 4000010000000003
  },
  "amount" : 100000,
  "currency" : 978,
  "fee" : {
    "feeAmount" : 1000
  }
}'

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

Обязательность Название Тип Описание
Обязательно responseCode String Код завершения операции SVFE.
Обязательно processingCode String код обработки.
Обязательно systemTraceAuditNumber Integer Номер записи аудита
Обязательно localTransactionDate DateTime Дата транзакции. Фрмат: дата-время
Обязательно rrn String Внешний идентификатор RNN.
Необязательно authorizationIdResponse String Идентификатор авторизации.
Необязательно uniqueReferenceNumber String Уникальный ссылочный номер операции.
Необязательно otp String Одноразовый пароль.
Необязательно acquirerFeeAmount String Сумма комиссии эквайера.
Необязательно issuerFeeAmount String Размер комиссии эмитента.
Необязательно paymentSpecificData Object Специальные данные о платеже.
Необязательно paymentSpecificData.f57 String Специальное поле 57.
Необязательно paymentSpecificData.f58 String Специальное поле 58.
Необязательно paymentSpecificData.f59 String Специальное поле 59.
Необязательно paymentSpecificData.f60 String Специальное поле 60.
Необязательно paymentSpecificData.f61 String Специальное поле 61.
Необязательно paymentSpecificData.f62 String Специальное поле 62.
Необязательно paymentSpecificData.f63 String Специальное поле 63.
Необязательно paymentSpecificData.f64 String Специальное поле 64.
Необязательно paymentSpecificData.f65 String Специальное поле 65.
Необязательно paymentSpecificData.f66 String Специальное поле 66.
Необязательно paymentSpecificData.f67 String Специальное поле 67.
Необязательно paymentSpecificData.f68 String Специальное поле 68.
Необязательно paymentSpecificData.f69 String Специальное поле 69.
Необязательно paymentSpecificData.f70 String Специальное поле 70.
Необязательно paymentSpecificData.f71 String Специальное поле 71.
Необязательно paymentSpecificData.f72 String Специальное поле 72.
Необязательно paymentSpecificData.f73 String Специальное поле 73.

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

{
  "systemTraceAuditNumber" : 51106,
  "paymentSpecificData" : {
    "f61" : "f61",
    "f72" : "f72",
    "f60" : "f60",
    "f71" : "f71",
    "f63" : "f63",
    "f62" : "f62",
    "f73" : "f73",
    "f65" : "f65",
    "f64" : "f64",
    "f67" : "f67",
    "f66" : "f66",
    "f58" : "f58",
    "f69" : "f69",
    "f57" : "f57",
    "f68" : "f68",
    "f59" : "f59",
    "f70" : "f70"
  },
  "acquirerFeeAmount" : "acquirerFeeAmount",
  "processingCode" : 170000,
  "issuerFeeAmount" : "issuerFeeAmount",
  "localTransactionDate" : "2000-01-23T04:56:07.000+00:00",
  "otp" : "otp",
  "authorizationIdResponse" : "123ABC",
  "responseCode" : 00,
  "rrn" : 987654321987,
  "uniqueReferenceNumber" : "uniqueReferenceNumber"
}

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. Используйте «978» для тестовой площадки.
Необязательно 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 '{
  "cardIdentification": {
    "cardNumber": 4140050021658271,
    "expDate": 202512
  },
  "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": 620400,
        "localTransactionDate": "2021-09-23T14:40:05",
        "rrn": "000000154799",
        "authorizationIdResponse": "154801",
        "paymentSpecificData": {}
    }

getOrderDetails

Получить подробную информацию о платежном поручении.

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

Обязательность Название Тип Описание
Обязательно orderId Long Идентификатор платежного поручения

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

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

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

Обязательность Название Тип Описание
Обязательно transactionList Object Список транзакций.
Обязательно transactionList.merchantId String Идентификатор продавца.
Обязательно transactionList.terminalId String Идентификатор терминала.
Обязательно transactionList.transactionDate DateTime Дата/время транзакции.
Необязательно transactionList.cardNumber String Номер карты.
Необязательно transactionList.transactionAmount Integer Сумма транзакции.
Необязательно transactionList.transactionCurrency Integer Код валюты транзакции
Необязательно transactionList.submittedAmount Integer Запрашиваемая сумма.
Необязательно transactionList.submittedCurrency Integer Запрашиваемая валюта
Необязательно transactionList.authorizationCode String Код авторизации.
Необязательно transactionList.cashbackAmount Integer Сумма кэшбэка.
Необязательно transactionList.transactionType String Тип транзакции.
Необязательно transactionList.networkType String Тип сети.
Необязательно transactionList.cardType String Тип карты.
Необязательно transactionList.orderNumber String Номер платежного поручения.

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

{
  "transactionList" : [ {
    "terminalId" : "00999201",
    "transactionDate" : "2000-01-23T04:56:07.000+00:00",
    "merchantId" : "M000001",
  } ]
}

getPaymentOrders

Получить список платежных поручений.

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

Обязательность Название Тип Описание
Обязательно merchantNumber String Номер продавца.
Обязательно institutionId String Внутренний идентификатор учреждения.
Обязательно period Object Промежуток времени.
Необязательно period.start DateTime Дата начала.
Необязательно period.end DateTime Дата окончания.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getPaymentOrders \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "merchantNumber" : "M000001",
  "institutionId": "3012",
  "period": {
    "start": "2020-04-20",
    "end": "2020-04-30"
  }
}'

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

Обязательность Название Тип Описание
Обязательно orderList Object Список платежных поручений.
Обязательно orderList.id Long Идентификатор платежного поручения
Необязательно orderList.eventDate DateTime Дата события.
Необязательно orderList.purpose String Цель.
Необязательно orderList.currency Integer Код валюты
Необязательно orderList.amount Integer Сумма.
Необязательно orderList.status String Дата последнего обновления статуса.
Необязательно orderList.orderNumber String Номер платежного поручения.

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

{
  "orderList" : [ {
    "amount" : 1,
    "orderNumber" : "2344552",
    "id" : 3,
    "eventDate" : "2020-04-30",
  } ]
}

getTransactionDetails

Получите детали транзакции.

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

Обязательность Название Тип Описание
Обязательно utrnno Long Идентификатор транзакции в SVFE
Необязательно reversal Boolean Флаг реверсала.

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

curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getTransactionDetails \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
  "utrnno": 2203248,
  "reversal": true
}'

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

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

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

    {
        "transaction": {
          "authorizationDate": "2015-04-09T11:15:35+04:00",
          "transactionType": 774,
          "operationDirection": "debit",
          "amount": 10000,
          "currency": 978,
          "amountInAccountCurrency": 0,
          "utrnno": 2203248,
          "transactionDescription": "POS purchase",
          "feeDirection": "debit",
          "acquireFeeAmount": 0,
          "feIssuerFeeAmount": 0,
          "mcc": 5999,
          "merchantCountry": "NLD",
          "merchantCity": "NETHERLANDS1234512345123451234512345",
          "merchantName": "PREDPRINIMATEL",
          "merchantId": "M999101",
          "terminalAddress": "MERCHANT2 NLD NETHERLANDS ELANDSGRACHT 50/A",
          "authorizationIdResponse": 0,
          "requestAmount": 10,
          "terminalId": 1
        }
      }

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": 100000000873
  },
  "period": {
    "start": "2020-04-01",
    "end": "2020-05-01"
  }
}'

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

Обязательность Название Тип Описание
Обязательно 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
            }
        ]
    }

getTransactionCurrencies

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

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

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

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

Обязательность Название Тип Описание
Обязательно transaction.currency Integer Код валюты

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

{
  "currencies": [
    978
  ]
}
Категории:
Банкинг API V1