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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

registerCustomer

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

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

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

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

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

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

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

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

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

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

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

createVirtualCard

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardIdentificationObjectОсновные идентификационные параметры карты. Существует множество атрибутов карты и их комбинаций для идентификации карты, поддерживаемых SmartVista, но в тестовой площадке используется самый простой из них — номер карты. Все остальные варианты приведены в качестве примера.
ОбязательноcardIdentification.cardNumberStringНомер карты. Именно этот способ мы будем использовать во всех запросах тестовой площадки для идентификации карты. Для этого запроса всегда используйте номер карты "visaBin0000000000", где [visaBin] — это номер из электронного письма, которое вы получили после регистрации. Для всех остальных запросов используйте номер карты, который вы получите после создания карты этим запросом.
НеобязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Обычно используется как один из возможных параметров идентификации карты, но не в этом проекте тестовой площадки, чтобы избежать управления ключами. Не используйте его здесь.
НеобязательноcardIdentification.cardNumberMaskStringМаскированный номер карты. Распространенный способ идентификации карты в сочетании с номером телефона или какими-либо другими данными карты, но не тот, который используется в тестовой площадке. Не используйте его здесь.
НеобязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Распространенный способ идентификации карты в сочетании с номером телефона, а не тот, который используется в тестовой площадке. Не используйте его здесь.
НеобязательноcardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноcardIdentification.expDateStringСрок действия карты. Часто используется с некоторыми другими атрибутами карты. Не для тестовой площадки.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика. Не для тестовой площадки.
НеобязательноcardIdentification.phoneNumberStringТелефон клиента. Часто используется с некоторыми другими атрибутами карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноcardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноcardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноcardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноcardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноcardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.
ОбязательноvirtualCardIdentificationObjectПараметры виртуальной карты. expDate и productType являются обязательными.
ОбязательноvirtualCardIdentification.expDateStringСрок действия карты. Любая будущая дата в формате «ГГГГММ».
ОбязательноvirtualCardIdentification.productTypeStringТип продукта. Идентифицирует карточный продукт для карты. В тестовой площадке всегда должен быть постоянный номер «16», так как мы настраиваем для вас один продукт.
НеобязательноvirtualCardIdentification.cardNumberStringНомер карты. Не для тестовой площадки.
НеобязательноvirtualCardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноvirtualCardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноvirtualCardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноvirtualCardIdentification.cvv2StringCVV2/CVC2. Не для тестовой площадки.
ОбязательноamountIntegerЛимит по умолчанию для вновь создаваемых виртуальных карт. В тестовой площадке должно быть постоянное число «0».
ОбязательноcurrencyIntegerВалюта. Цифровой код валюты ISO 4217. Используйте «978» для тестовой площадки.
ОбязательноaccountNumberStringНомер счета для первичной идентификации карты. Используйте номер счета, полученный с помощью метода registerCustomer().
НеобязательноdeliveryMethodStringСпособ доставки параметров виртуальной карты. Возможные значения: [WS, HALF_AND_HALF] . WS — все параметры, доставленные в ответе веб-службы. HALF_AND_HALF — некоторые параметры доставляются в ответе веб-службы, некоторые в SMS. Для HALF_AND_HALF ответ веб-службы будет содержать замаскированный номер карты (например, //// 1111 1111 ////), а SMS будет содержать CVV2 и другую половину замаскированного номера карты (1111 //// //// 1111). Используйте значение «WS» для тестовой площадки.
НеобязательноpersonalDataObjectПерсональные данные владельца карты. Не для тестовой площадки.
НеобязательноpersonalData.firstNameStringНе для тестовой площадки.
НеобязательноpersonalData.lastNameStringНе для тестовой площадки.
НеобязательноcardAcceptorParametersObjectПараметры терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.terminalIdentificationStringИдентификатор терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantIdentificationStringИдентификатор продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantTypeStringКод категории продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.nameAndLocationStringАдрес расположения терминала. Не для тестовой площадки.

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноvirtualCardIdentificationObjectПараметры виртуальной карты.
НеобязательноvirtualCardIdentification.cardNumberStringНомер карты. Здесь вы получите номер созданной карты в тестовой площадке. Сохраните его для всех дальнейших операций с созданной картой.
НеобязательноvirtualCardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноvirtualCardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
ОбязательноvirtualCardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
ОбязательноvirtualCardIdentification.productTypeStringТип продукта. Не для тестовой площадки.
НеобязательноvirtualCardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноvirtualCardIdentification.cvv2StringCVV2/CVC2. Не для тестовой площадки.

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

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

getCardLimits

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardIdentificationObjectПараметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноcardIdentification.cardNumberStringНомер карты. Вы получите его в ответеCreateVirtualCard().
НеобязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноcardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика Не для тестовой площадки.
НеобязательноcardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноcardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноcardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноcardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноcardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноcardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноlimitsObjectСписок лимитов карты.
Обязательноlimits.nameStringНаименование лимита.
Необязательноlimits.startDateDateTimeДата начала лимита Не для тестовой площадки.
Необязательноlimits.endDateDateTimeДата окончания лимита. Не для тестовой площадки.
Необязательноlimits.valueLongЗначение лимита.
Необязательноlimits.cycleTypeIntegerТип цикла. Возможны несколько типов циклов лимитов – ежедневные, ежемесячные и т.д.
Необязательноlimits.cycleLengthIntegerПродолжительность цикла. Например, значение 2 для месячного лимита означает 2 месяца.
Необязательноlimits.currencyIntegerВалюта.
Необязательноlimits.currentValueLongТекущее значение лимита.
Обязательноlimits.limitExceptionsObjectОграничить список исключений. Не для тестовой площадки.

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

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

changeCardLimit

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardIdentificationObjectПараметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноcardIdentification.cardNumberStringНомер карты. Вы получите его в ответеCreateVirtualCard().
НеобязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноcardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика. Не для тестовой площадки.
НеобязательноcardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки. Не для тестовой площадки.
НеобязательноcardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноcardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноcardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноcardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноcardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.
ОбязательноlimitObjectПараметры лимита.
Обязательноlimit.nameStringНаименование лимита. Он предопределен в тестовой площадке. Вы можете получить список лимитов с помощью getCardLimits() и получить имена лимитов из его ответа.
Необязательноlimit.startDateDateTimeДата начала лимита Не для тестовой площадки.
Необязательноlimit.endDateDateTimeДата окончания лимита. Не для тестовой площадки.
Необязательноlimit.valueLongЗначение лимита.
Необязательноlimit.cycleTypeIntegerТип цикла.
Необязательноlimit.cycleLengthIntegerПродолжительность цикла.
Необязательноlimit.currencyIntegerВалюта. Не для тестовой площадки.
Необязательноlimit.currentValueLongТекущее значение лимита. Не для тестовой площадки.
НеобязательноcardAcceptorParametersObjectПараметры терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.terminalIdentificationStringИдентификатор терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantIdentificationStringИдентификатор продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantTypeStringКод категории продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.nameAndLocationStringАдрес расположения терминала. Не для тестовой площадки.

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

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

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

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

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

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

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

getCardData

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardIdentificationObjectПараметры идентификации карты. Требуется cardNumber. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноcardIdentification.cardNumberStringНомер карты. Вы получите его в ответеCreateVirtualCard().
НеобязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноcardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика Не для тестовой площадки.
НеобязательноcardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноcardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноcardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноcardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноcardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноcardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.
НеобязательноrsaPublicKeyByteArrayОткрытый ключ для шифрования номера карты в ответном сообщении. Не для тестовой площадки.

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardDataObjectПараметры карты.
НеобязательноcardData.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноcardData.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
ОбязательноcardData.cardNumberStringНомер карты.
НеобязательноcardData.expiryDateStringСрок действия карты. В формате ГГГГММ.
НеобязательноcardData.formattedExpiryDateStringСрок действия карты, отформатированной пользователем. Не для тестовой площадки.
НеобязательноcardData.cardIdStringИдентификатор карты. Это внутренний идентификатор карты SmartVista, который можно использовать для идентификации карты для приложений, не совместимых с PCI DSS.
НеобязательноcardData.hotCardStatusIntegerСтатус карты.
НеобязательноcardData.cardTypeNameStringТип карты.
НеобязательноcardData.embossedNameStringИмя на пластике. Имеет смысл ждя эмбоссированных пластиковых карт, а не для виртуальных карт в тестовой площадке.
НеобязательноcardData.customerIdStringID клиента.
НеобязательноcardData.customerNameStringИмя клиента. Не для тестовой площадки.
НеобязательноcardData.personIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноcardData.pinDenialCounterIntegerКоличество попыток неправильного ввода PIN-кода
НеобязательноcardData.plasticNumberIntegerНомер пластика. Не для тестовой площадки.
НеобязательноcardData.hotCardStatusDescriptionStringОписание статуса карты.
НеобязательноcardData.cardIsPrimaryBooleanФлаг основной карты. Всегда false для тестовой площадки.
НеобязательноcardData.cardBindToCustomerBooleanФлаг привязки карты к клиенту. Всегда false для тестовой площадки.
НеобязательноcardData.customerIsCardholderBooleanФлаг является ли клиент держателем карты. Всегда false для тестовой площадки.
НеобязательноcardData.cardContractIdStringИдентификатор карточного контракта. Не для тестовой площадки.
НеобязательноcardData.cardPlasticIdStringИдентификатор типа пластика. Не для тестовой площадки.
НеобязательноcardData.cardPlasticDescriptionStringОписание типа пластика. Не для тестовой площадки.
НеобязательноcardData.memorableWordStringСекретное слово. Не для тестовой площадки.
НеобязательноcardData.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardData.lastWrongPinDateDateTimeДата/время последней попытки ввода неправильного PIN-кода. Не для тестовой площадки.
НеобязательноcardData.cardCreationDateDateTimeДата выпуска карты. Не для тестовой площадки.
НеобязательноcardData.cardBlockingDateDateTimeДата/время блокировки карты. Не для тестовой площадки.
НеобязательноcardData.directDebitAccountStringСчет, используемый для автоплатежей. Не для тестовой площадки.
НеобязательноcardData.cardholderMobilePhoneNumberStringНомер телефона владельца карты. Не для тестовой площадки.
НеобязательноcardData.accountsObjectСписок счетов для карты. В тестовой площадке должен быть только один счет.
Обязательноaccounts.numberStringНомер счета.
Обязательноaccounts.currencyIntegerВалюта счета
Необязательноaccounts.currencyAlphaCodeStringБуквенный код валюты счета.
Обязательноaccounts.balanceIntegerБаланс счета.
Необязательноaccounts.creditLimitIntegerКредитный лимит.
Обязательноaccounts.customerIdStringID клиента.
Необязательноaccounts.defaultAccountBooleanИндикатор счета по умолчанию. Всегда true для тестовой площадки.

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

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

blockCard

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardIdentificationObjectПараметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноcardIdentification.cardNumberStringНомер карты. Вы получите его в ответеCreateVirtualCard().
НеобязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноcardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика Не для тестовой площадки.
НеобязательноcardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноcardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноcardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноcardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноcardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноcardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения.
ОбязательноhotCardStatusIntegerСтатус карты. Should be 6 for the Sandbox. Это означает, что карта заблокирована и должна быть изъята при попытке использования.
НеобязательноcardAcceptorParametersObjectПараметры терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.terminalIdentificationStringИдентификатор терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantIdentificationStringИдентификатор продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantTypeStringКод категории продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.nameAndLocationStringАдрес расположения терминала. Не для тестовой площадки.

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

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

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

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

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

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

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

validateCard

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardIdentificationObjectПараметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (cardNumberMask и cardholderId) или (cardNumberMask и phoneNumber).
ОбязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты.
ОбязательноcardIdentification.cardNumberMaskStringМаскированный номер карты.
ОбязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты.
ОбязательноcardIdentification.cardNumberStringНомер карты.
НеобязательноcardIdentification.cardIdStringИдентификатор карты.
НеобязательноcardIdentification.expDateStringСрок действия карты.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика
НеобязательноcardIdentification.phoneNumberStringТелефон клиента.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты.
НеобязательноcardIdentification.customerIdStringID клиента.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02.
НеобязательноcardIdentification.barCodeStringШтрих-код.
НеобязательноcardIdentification.cvv2StringCVV2.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка.
НеобязательноcardIdentification.tokenStringТокен.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты.
НеобязательноcardIdentification.emailStringЭлектронная почта.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения.
НеобязательноcardAcceptorParametersObjectПараметры терминала.
ОбязательноcardAcceptorParameters.terminalIdentificationStringИдентификатор терминала.
ОбязательноcardAcceptorParameters.merchantIdentificationStringИдентификатор продавца.
ОбязательноcardAcceptorParameters.merchantTypeStringКод категории продавца.
НеобязательноcardAcceptorParameters.nameAndLocationStringАдрес расположения терминала.

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

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

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

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

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

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

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

creditCard

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

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

ОбязательностьНазваниеТипОписание
НеобязательноpreAuthorizationBooleanФлаг предварительной авторизации.
ОбязательноcardIdentificationObjectПараметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноcardIdentification.cardNumberStringНомер карты. Вы получите его в ответе CreateVirtualCard.
НеобязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноcardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика Не для тестовой площадки.
НеобязательноcardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноcardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноcardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноcardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноcardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноcardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.
ОбязательноamountIntegerСумма.
ОбязательноcurrencyIntegerВалюта. Цифровой код валюты ISO 4217. Use 978 for the Sandbox.
НеобязательноtdsObjectПараметры транзакции 3DS.
Необязательноtds.xidStringИдентификатор транзакции VISA 3DS. Не для тестовой площадки.
Необязательноtds.cavvStringПроверочное значение аутентификации VISA. Не для тестовой площадки.
Необязательноtds.ucafStringПоле универсальной аутентификации Mastercard. Не для тестовой площадки.
Необязательноtds.authenticationIndicatorStringТип аутентификации транзакции электронной торговли. Возможные значения: NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH. Не для тестовой площадки.
НеобязательноcardAcceptorParametersObjectПараметры терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.terminalIdentificationStringИдентификатор терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantIdentificationStringИдентификатор продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantTypeStringКод категории продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.nameAndLocationStringАдрес расположения терминала. Не для тестовой площадки.

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноresponseCodeStringКод завершения операции SVFE. 00 означает успех.
ОбязательноprocessingCodeStringкод обработки.
ОбязательноsystemTraceAuditNumberIntegerНомер записи аудита
ОбязательноlocalTransactionDateDateTimeДата транзакции. Фрмат: дата-время
ОбязательноrrnStringВнешний идентификатор RNN.
НеобязательноauthorizationIdResponseStringИдентификатор авторизации.
НеобязательноuniqueReferenceNumberStringУникальный ссылочный номер операции.
НеобязательноotpStringОдноразовый пароль. Не для тестовой площадки.
НеобязательноacquirerFeeAmountStringСумма комиссии эквайера. Не для тестовой площадки.
НеобязательноissuerFeeAmountStringРазмер комиссии эмитента. Не для тестовой площадки.
НеобязательноpaymentSpecificDataObjectСпециальные данные о платеже.

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

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

p2pTransfer

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

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

ОбязательностьНазваниеТипОписание
НеобязательноpreAuthorizationBooleanФлаг предварительной авторизации.
ОбязательноsourceCardIdentificationObjectПараметры идентификации карты для исходной карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноsourceCardIdentification.cardNumberStringНомер карты. Вы получите его в ответеCreateVirtualCard().
ОбязательноsourceCardIdentification.expDateStringСрок действия карты. Формат ГГГГММ.
НеобязательноsourceCardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноsourceCardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноsourceCardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноsourceCardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноsourceCardIdentification.plasticNumberIntegerНомер пластика. Не для тестовой площадки.
НеобязательноsourceCardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноsourceCardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноsourceCardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноsourceCardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноsourceCardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноsourceCardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноsourceCardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноsourceCardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноsourceCardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноsourceCardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноsourceCardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.
ОбязательноdestinationCardIdentificationObjectИдентификационные параметры карты зачисления. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноdestinationCardIdentification.cardNumberStringНомер карты. Вы получите его в ответеCreateVirtualCard().
НеобязательноdestinationCardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.plasticNumberIntegerНомер пластика Не для тестовой площадки.
НеобязательноdestinationCardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноdestinationCardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.
ОбязательноamountIntegerСумма.
ОбязательноcurrencyIntegerВалюта. Цифровой код валюты ISO 4217. Use 978 for the Sandbox.
НеобязательноsourceAccountNumberStringНомер карты, с которой осуществляется списание средств. Не для тестовой площадки.
НеобязательноdestinationAccountNumberStringНомер карты, на которую осуществляется зачисление. Не для тестовой площадки.
НеобязательноtdsObjectПараметры транзакции 3DS. Не для тестовой площадки.
Необязательноtds.xidStringИдентификатор транзакции VISA 3DS. Не для тестовой площадки.
Необязательноtds.cavvStringПроверочное значение аутентификации VISA. Не для тестовой площадки.
Необязательноtds.ucafStringПоле универсальной аутентификации Mastercard. Не для тестовой площадки.
Необязательноtds.authenticationIndicatorStringТип аутентификации транзакции электронной торговли. Возможные значения: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. Не для тестовой площадки.
ОбязательноsenderReceiverInfoObjectИнформация об отправителе и получателе платежа. Не для тестовой площадки.
ОбязательноsenderReceiverInfo.senderNameStringИмя отправителя в формате «Фамилия, Имя».
ОбязательноsenderReceiverInfo.senderAddressStringАдрес отправителя.
НеобязательноsenderReceiverInfo.senderCityStringГород отправителя. Не для тестовой площадки.
НеобязательноsenderReceiverInfo.senderCountryStringКод страны отправителя. Не для тестовой площадки.
НеобязательноsenderReceiverInfo.senderPostalCodeStringПочтовый индекс отправителя. Не для тестовой площадки.
НеобязательноsenderReceiverInfo.receiverNameStringИмя получателя в формате «Фамилия, Имя». Не для тестовой площадки.
НеобязательноpointOfServiceDataCodeStringНабор кодов, определяющих возможности терминала, параметры его окружения и использование средств безопасности во время транзакции. Не для тестовой площадки.
ОбязательноpointOfServiceConditionCodeStringКод, определяющий условия проведения транзакции в точке обслуживания. Любой текст.
НеобязательноcardAcceptorParametersObjectПараметры терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.terminalIdentificationStringИдентификатор терминала. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantIdentificationStringИдентификатор продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.merchantTypeStringКод категории продавца. Не для тестовой площадки.
НеобязательноcardAcceptorParameters.nameAndLocationStringАдрес расположения терминала. Не для тестовой площадки.
НеобязательноsecurityLevelIndicatorStringИндикатор уровня безопасности. Не для тестовой площадки.
НеобязательноoriginalTransactionParametersObjectПараметры исходной транзакции. Должен быть включен в запрос на проверку статуса транзакции. Не для тестовой площадки.
НеобязательноoriginalTransactionParameters.systemTraceAuditNumberIntegerНомер записи аудита. Не для тестовой площадки.
НеобязательноoriginalTransactionParameters.localTransactionDateDateTimeДата транзакции. Не для тестовой площадки.
НеобязательноoriginalTransactionParameters.rrnStringВнешний идентификатор RNN. Не для тестовой площадки.
НеобязательноposCardholderPresenceIntegerТип присутствия владельца карты в пункте обслуживания. Не для тестовой площадки.
НеобязательноbusinessApplicationIdentifierStringИдентификатор типа транзакции MC. Не для тестовой площадки.

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноresponseCodeStringКод завершения операции. 00 означает успех.
ОбязательноprocessingCodeStringкод обработки.
ОбязательноsystemTraceAuditNumberIntegerНомер записи аудита
ОбязательноlocalTransactionDateDateTimeДата транзакции. Фрмат: дата-время
ОбязательноrrnStringВнешний идентификатор RNN.
НеобязательноauthorizationIdResponseStringИдентификатор авторизации.
НеобязательноpaymentSpecificDataObjectСпециальные данные о платеже.

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

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

getTransactions

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

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

ОбязательностьНазваниеТипОписание
ОбязательноcardIdentificationObjectПараметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard.
ОбязательноcardIdentification.cardNumberStringНомер карты. Вы получите его в ответеCreateVirtualCard().
НеобязательноcardIdentification.encryptedCardNumberByteArrayЗашифрованный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardNumberMaskStringМаскированный номер карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardLastDigitMaskStringПоследние цифры номера карты. Не для тестовой площадки.
НеобязательноcardIdentification.cardIdStringИдентификатор карты. Не для тестовой площадки.
НеобязательноcardIdentification.expDateStringСрок действия карты. Не для тестовой площадки.
НеобязательноcardIdentification.plasticNumberIntegerНомер пластика. Не для тестовой площадки.
НеобязательноcardIdentification.phoneNumberStringТелефон клиента. Не для тестовой площадки.
НеобязательноcardIdentification.cardholderIdStringИдентификатор владельца карты. Не для тестовой площадки.
НеобязательноcardIdentification.customerIdStringID клиента. Не для тестовой площадки.
НеобязательноcardIdentification.customerNumberStringНомер клиента в SVB02. Не для тестовой площадки.
НеобязательноcardIdentification.barCodeStringШтрих-код. Не для тестовой площадки.
НеобязательноcardIdentification.cvv2StringCVV2. Не для тестовой площадки.
НеобязательноcardIdentification.externalCardIdStringИдентификатор карты во внешней системе банка. Не для тестовой площадки.
НеобязательноcardIdentification.tokenStringТокен. Не для тестовой площадки.
НеобязательноcardIdentification.cardTypeCodeStringКод типа карты. Не для тестовой площадки.
НеобязательноcardIdentification.emailStringЭлектронная почта. Не для тестовой площадки.
НеобязательноcardIdentification.institutionIdStringВнутренний идентификатор учреждения. Не для тестовой площадки.
ОбязательноperiodObjectПромежуток времени.
Необязательноperiod.startDateTimeДата начала. Формат ГГГГ-ММ-ДД.
Необязательноperiod.endDateTimeДата окончания. Формат ГГГГ-ММ-ДД.

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

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

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

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

ОбязательностьНазваниеТипОписание
ОбязательноtransactionsObjectТранзакции.
Необязательноtransactions.boWriteOffDateDateTimeВремя и дата списания SVBO. Не для тестовой площадки.
Обязательноtransactions.authorizationDateDateTimeДата/время авторизации.
Обязательноtransactions.transactionTypeStringТип транзакции.
Обязательноtransactions.operationDirectionStringНаправление сделки. Возможные значения: [CREDIT, DEBIT, NOOP]
Обязательноtransactions.amountIntegerСумма транзакции.
Обязательноtransactions.currencyIntegerВалюта.
Обязательноtransactions.amountInAccountCurrencyIntegerСумма транзакции в валюте счета.
Обязательноtransactions.utrnnoLongИдентификатор транзакции в SVFE (внутренний идентификатор SmartVista).
Необязательноtransactions.boUtrnnoLongИдентификатор транзакции в SVBO. (внутренний идентификатор SmartVista).
Необязательноtransactions.transactionDescriptionStringОписание транзакции.
Необязательноtransactions.feeDirectionStringНаправление клмиссии. Возможные значения: [CREDIT, DEBIT, NOOP]
Необязательноtransactions.acquireFeeAmountIntegerСумма комиссии эквайера.
Необязательноtransactions.feIssuerFeeAmountIntegerСумма онлайн-комиссии эмитента.
Необязательноtransactions.boIssuerFeeAmountIntegerСумма офлайн-комиссии эмитента.
Необязательноtransactions.mccLongMCC.
Необязательноtransactions.merchantCountryStringСтрана мерчанта.
Необязательноtransactions.merchantCityStringГород мерчанта.
Необязательноtransactions.merchantNameStringИмя мерчанта.
Необязательноtransactions.merchantIdStringИдентификатор продавца.
Необязательноtransactions.terminalAddressStringАдрес терминала.
Необязательноtransactions.posDataCodeStringКод данных POS.
Необязательноtransactions.authorizationIdResponseStringИдентификатор авторизации.
Необязательноtransactions.reversalDateDateTimeДата/время реверсала.
Необязательноtransactions.reversalBooleanФлаг реверсала.
Необязательноtransactions.requestAmountIntegerЗапрашиваемая сумма для транзакции.
Необязательноtransactions.terminalIdStringИдентификатор терминала.
Необязательноtransactions.payIdStringИдентификатор, назначенный поставщиком услуг.

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

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