Банковский API v.1
Тестовая площадка дает вам возможность протестировать некоторые основные функции управления картами пакета SmartVista — регистрировать клиентов, создавать учетные записи, выпускать виртуальные карты, устанавливать лимиты карт, переводить средства и т.д.
/cabinet/
Вы получите доступ ко всем API и Личному Кабинету.
Начало работы
Используйте тестовую площадку, чтобы опробовать основные функции управления картами, такие как: регистрация владельцев карт, выпуск карт, установка лимитов карт, перевод средств и т.д.
Прежде чем начать использовать тестовую площадку, вам необходимо создать учетную запись и получить токен безопасности 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 со следующего:
- Зарегистрируйте нового клиента с помощью запроса
registerCustomer. Этот запрос также создает счет для клиента. Вы можете создать столько клиентов, сколько захотите. Но в тестовой площадке можно создать только один счет для для каждого клиента — это ограничение добавлено для упрощения логики тестовой площадки. В реальном проекте вы сможете создать столько счетов для каждого клиента, сколько необходимо для вашего бизнеса. - Выпустите новую виртуальную карту с помощью
createVirtualCardдля счетов клиентов. Вы можете выпустить столько карт, сколько захотите. Карты тестовой площадки выдаются в активном состоянии и мгновенно готовы к использованию.
Теперь вы можете протестировать следующие функции (в произвольном порядке):
- блокировать и разблокировать выданные карты запросами
blockCardиvalidateCard; - вносить средства на выпущенные карты с запросом
creditCard; - совершать P2P-переводы на карты с запросом
p2pTransfer(создайте как минимум две карты для перевода средств между ними); - управлять лимитами карты с помощью запросов
getCardLimitsиchangeCardLimit; - получить данные карты запросом
getCardData; - получить историю транзакций по карте с помощью запроса
getTransactions(сначала сгенерируйте несколько транзакций).
Пожалуйста, ознакомьтесь с информацией по каждому запросу ниже, включая примеры с кратким описанием того, что следует изменить, чтобы сделать эти запросы самостоятельно. Используйте ссылки на подробную документацию для получения дополнительной информации.
- registerCustomer
- createVirtualCard
- getCardLimits
- changeCardLimits
- getCardData
- blockCard
- validateCard
- creditCard
- p2pTransfer
- getTransactions
registerCustomer
Регистрирует нового клиента в SmartVista и создает счет. Вы можете создать столько клиентов, сколько захотите. Но в тестовой площадке можно создать только один счет для для каждого клиента — это ограничение добавлено для упрощения логики тестовой площадки. В реальном проекте вы сможете создать столько счетов для каждого клиента, сколько необходимо для вашего бизнеса.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | productName | String | Идентификатор шаблона клиента, который будет использоваться для создания клиента. В тестовой площадке есть только один шаблон клиента, и для клиентов тестовой площадки это значение всегда должно быть «CRCU1001». |
| Обязательно | parameters | Object | Список параметров. Точный список зависит от шаблона создания клиента для конкретного проекта. Мы создали его для тестовой площадки, и вы можете увидеть необходимые параметры под этой таблицей. |
| Обязательно | name | String | Определите параметр в шаблоне клиента, для которого установлено соответствующее значение. |
| Обязательно | value | String | Значение, которое необходимо установить для конкретного параметра. |
Для создания клиента в тестовой площадке необходимо передать следующие параметры с их значениями:
institutionIdЗначение отображается в вашей учетной записи тестовой площадки.agent_numberТо же, чтоinstitutionId.customer_numberAny text. Должен быть уникальным в вашем проекте тестовой площадки.product_idЗначение отображается в вашей учетной записи тестовой площадки.start_dateAny date in the past. Формат ГГГГ-ММ-ДД.service_id_accЗначение отображается в вашей учетной записи тестовой площадки.surnamefirstNamesecondNameemailmobile_phoneregioncitystreethouseapartmentpostal_codeПараметры клиента. Любой текст.country_codeЧисловой код страны ISO 3166-1.
Пример запроса
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"
}createVirtualCard
Создает виртуальную карту для зарегистрированного клиента. Используйте registerCustomer, чтобы создать клиента и счет, если вы еще этого не сделали.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | cardIdentification | Object | Основные идентификационные параметры карты. Существует множество атрибутов карты и их комбинаций для идентификации карты, поддерживаемых SmartVista, но в тестовой площадке используется самый простой из них — номер карты. Все остальные варианты приведены в качестве примера. |
| Обязательно | cardIdentification.cardNumber | String | Номер карты. Именно этот способ мы будем использовать во всех запросах тестовой площадки для идентификации карты. Для этого запроса всегда используйте номер карты "visaBin0000000000", где [visaBin] — это номер из электронного письма, которое вы получили после регистрации. Для всех остальных запросов используйте номер карты, который вы получите после создания карты этим запросом. |
| Необязательно | cardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Обычно используется как один из возможных параметров идентификации карты, но не в этом проекте тестовой площадки, чтобы избежать управления ключами. Не используйте его здесь. |
| Необязательно | cardIdentification.cardNumberMask | String | Маскированный номер карты. Распространенный способ идентификации карты в сочетании с номером телефона или какими-либо другими данными карты, но не тот, который используется в тестовой площадке. Не используйте его здесь. |
| Необязательно | cardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Распространенный способ идентификации карты в сочетании с номером телефона, а не тот, который используется в тестовой площадке. Не используйте его здесь. |
| Необязательно | cardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.expDate | String | Срок действия карты. Часто используется с некоторыми другими атрибутами карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.plasticNumber | Integer | Номер пластика. Не для тестовой площадки. |
| Необязательно | cardIdentification.phoneNumber | String | Телефон клиента. Часто используется с некоторыми другими атрибутами карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | cardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | cardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | cardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | cardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | cardIdentification.institutionId | String | Внутренний идентификатор учреждения. Не для тестовой площадки. |
| Обязательно | virtualCardIdentification | Object | Параметры виртуальной карты. expDate и productType являются обязательными. |
| Обязательно | virtualCardIdentification.expDate | String | Срок действия карты. Любая будущая дата в формате «ГГГГММ». |
| Обязательно | virtualCardIdentification.productType | String | Тип продукта. Идентифицирует карточный продукт для карты. В тестовой площадке всегда должен быть постоянный номер «16», так как мы настраиваем для вас один продукт. |
| Необязательно | virtualCardIdentification.cardNumber | String | Номер карты. Не для тестовой площадки. |
| Необязательно | virtualCardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | virtualCardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | virtualCardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | virtualCardIdentification.cvv2 | String | CVV2/CVC2. Не для тестовой площадки. |
| Обязательно | amount | Integer | Лимит по умолчанию для вновь создаваемых виртуальных карт. В тестовой площадке должно быть постоянное число «0». |
| Обязательно | currency | Integer | Валюта. Цифровой код валюты ISO 4217. Используйте «978» для тестовой площадки. |
| Обязательно | accountNumber | String | Номер счета для первичной идентификации карты. Используйте номер счета, полученный с помощью метода registerCustomer(). |
| Необязательно | deliveryMethod | String | Способ доставки параметров виртуальной карты. Возможные значения: [WS, HALF_AND_HALF] . WS — все параметры, доставленные в ответе веб-службы. HALF_AND_HALF — некоторые параметры доставляются в ответе веб-службы, некоторые в SMS. Для HALF_AND_HALF ответ веб-службы будет содержать замаскированный номер карты (например, //// 1111 1111 ////), а SMS будет содержать CVV2 и другую половину замаскированного номера карты (1111 //// //// 1111). Используйте значение «WS» для тестовой площадки. |
| Необязательно | personalData | Object | Персональные данные владельца карты. Не для тестовой площадки. |
| Необязательно | personalData.firstName | String | Не для тестовой площадки. |
| Необязательно | personalData.lastName | String | Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters | Object | Параметры терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.terminalIdentification | String | Идентификатор терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantIdentification | String | Идентификатор продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantType | String | Код категории продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.nameAndLocation | String | Адрес расположения терминала. Не для тестовой площадки. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/createVirtualCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber": "4140050000000000",
"phoneNumber": "319220977337",
"customerId": "5570_P018"
},
"virtualCardIdentification": {
"expDate": 202612,
"productType": "5C"
},
"amount": 0,
"currency": 978,
"accountNumber": "5570978700000006484",
"deliveryMethod": "WS"
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | virtualCardIdentification | Object | Параметры виртуальной карты. |
| Необязательно | virtualCardIdentification.cardNumber | String | Номер карты. Здесь вы получите номер созданной карты в тестовой площадке. Сохраните его для всех дальнейших операций с созданной картой. |
| Необязательно | virtualCardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | virtualCardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Обязательно | virtualCardIdentification.expDate | String | Срок действия карты. Не для тестовой площадки. |
| Обязательно | virtualCardIdentification.productType | String | Тип продукта. Не для тестовой площадки. |
| Необязательно | virtualCardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | virtualCardIdentification.cvv2 | String | CVV2/CVC2. Не для тестовой площадки. |
Пример ответа
{
"virtualCardIdentification": {
"cardNumber": "4140050090452283",
"cardId": "100000245262",
"expDate": "202612",
"productType": "5C"
}
}getCardLimits
Получить лимиты по конкретной карте. Набор лимитов определен для карточного продукта и предопределен в тестовой площадке. Изначально лимиты для конкретной карты наследуются из настроек продукта. Вы можете изменить значения лимитов для конкретной карты с помощью changeCardLimits.
Доступны следующие лимиты (типы циклов указаны для настройки лимита по умолчанию и могут быть изменены запросом changeCardLimit):
- LMTP0111 - Лимит MOTO/ECOM (сумма) в месяц.
- LMTP0112 - Лимит MOTO/ECOM (сумма) в день.
- LMTP0108 - лимит покупки (сумма) в месяц.
- LMTP0110 - лимит покупки (сумма) в день.
- LMTP0109 - лимит (сумма) выдачи наличных в месяц.
- LMTP0107 - лимит (сумма) выдачи наличных в день. Вы можете проверить этот лимит в тестовой площадке с помощью запроса p2pTransfer.
Доступны следующие типы лимитов CycleType:
- 0 – день. Однодневный цикл начинается каждый день в 00:00:00.
- 1 – неделя. Недельный цикл начинается каждые 7 дней в 00:00:00.
- 2 – календарная неделя. Цикл в одну календарную неделю начинается каждый понедельник в 00:00:00.
- 3 – месяц. Месячный цикл начинается в один и тот же день каждого месяца в одно и то же время.
- 4 – календарный месяц. Цикл продолжительностью в 1 календарный месяц начинается в 00:00:00 первого числа каждого месяца.
- 5 – квартал (3 месяца). Цикл в 1 квартал начинается в один и тот же день каждые 3 месяца в одно и то же время.
- 6 – календарный квартал. Цикл в 1 календарный квартал начинается 1 января, 1 апреля, 1 июля, 1 октября в 00:00:00.
- 7 – год. Цикл в 1 год начинается в тот же день и в то же время ровно через год.
- 8 – календарный год. Цикл продолжительностью 1 календарный год начинается 1 января в 00:00:00.
- 11 – час. Одночасовой цикл начинается в одну и ту же минуту и секунду каждого часа (т.е. каждые 3600 секунд).
- 12 – календарный час. Календарный час начинается в 0 минут и 0 секунд каждого часа и заканчивается в 59 минут 59 секунд того же часа.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | 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": []
}
]
}changeCardLimit
Изменить значения лимитов для конкретной карты. Набор лимитов определен для карточного продукта и предопределен в тестовой площадке. Изначально лимиты для конкретной карты наследуются из настроек продукта. Используйте getCardLimits для получения названий лимитов.
Доступны следующие лимиты (типы циклов указаны для настройки лимита по умолчанию и могут быть изменены запросом changeCardLimit):
- LMTP0111 - Лимит MOTO/ECOM (сумма) в месяц.
- LMTP0112 - Лимит MOTO/ECOM (сумма) в день.
- LMTP0108 - лимит покупки (сумма) в месяц.
- LMTP0110 - лимит покупки (сумма) в день.
- LMTP0109 - лимит (сумма) выдачи наличных в месяц.
- LMTP0107 - лимит (сумма) выдачи наличных в день. Вы можете проверить этот лимит в тестовой площадке с помощью запроса p2pTransfer.
Доступны следующие ограничения cycleType:
- 0 – день. Однодневный цикл начинается каждый день в 00:00:00.
- 1 – неделя. Недельный цикл начинается каждые 7 дней в 00:00:00.
- 2 – календарная неделя. Цикл в одну календарную неделю начинается каждый понедельник в 00:00:00.
- 3 – месяц. Месячный цикл начинается в один и тот же день каждого месяца в одно и то же время.
- 4 – календарный месяц. Цикл продолжительностью в 1 календарный месяц начинается в 00:00:00 первого числа каждого месяца.
- 5 – квартал (3 месяца). Цикл в 1 квартал начинается в один и тот же день каждые 3 месяца в одно и то же время.
- 6 – календарный квартал. Цикл в 1 календарный квартал начинается 1 января, 1 апреля, 1 июля, 1 октября в 00:00:00.
- 7 – год. Цикл в 1 год начинается в тот же день и в то же время ровно через год.
- 8 – календарный год. Цикл продолжительностью 1 календарный год начинается 1 января в 00:00:00.
- 11 – час. Одночасовой цикл начинается в одну и ту же минуту и секунду каждого часа (т.е. каждые 3600 секунд).
- 12 – календарный час. Календарный час начинается в 0 минут и 0 секунд каждого часа и заканчивается в 59 минут 59 секунд того же часа.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | cardIdentification | Object | Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard. |
| Обязательно | cardIdentification.cardNumber | String | Номер карты. Вы получите его в ответеCreateVirtualCard(). |
| Необязательно | cardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.expDate | String | Срок действия карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.plasticNumber | Integer | Номер пластика. Не для тестовой площадки. |
| Необязательно | cardIdentification.phoneNumber | String | Телефон клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | cardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | cardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | cardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | cardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | cardIdentification.institutionId | String | Внутренний идентификатор учреждения. Не для тестовой площадки. |
| Обязательно | limit | Object | Параметры лимита. |
| Обязательно | limit.name | String | Наименование лимита. Он предопределен в тестовой площадке. Вы можете получить список лимитов с помощью getCardLimits() и получить имена лимитов из его ответа. |
| Необязательно | limit.startDate | DateTime | Дата начала лимита Не для тестовой площадки. |
| Необязательно | limit.endDate | DateTime | Дата окончания лимита. Не для тестовой площадки. |
| Необязательно | limit.value | Long | Значение лимита. |
| Необязательно | limit.cycleType | Integer | Тип цикла. |
| Необязательно | limit.cycleLength | Integer | Продолжительность цикла. |
| Необязательно | limit.currency | Integer | Валюта. Не для тестовой площадки. |
| Необязательно | limit.currentValue | Long | Текущее значение лимита. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters | Object | Параметры терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.terminalIdentification | String | Идентификатор терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantIdentification | String | Идентификатор продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantType | String | Код категории продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.nameAndLocation | String | Адрес расположения терминала. Не для тестовой площадки. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/changeCardLimit \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245259"
},
"limit": {
"name": "LMTP0112",
"value": 13000000,
"cycleType": 4,
"cycleLength": 1
}
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | responseCode | String | Код завершения операции в SmartVista. 00 означает успех. |
Пример ответа
{
"responseCode": "00",
"processingCode": "710000",
"systemTraceAuditNumber": 609644,
"localTransactionDate": "2024-10-23T08:23:28"
}getCardData
Возвращает данные о созданных вами картах. Может использоваться после создания карты с помощью createVirtualCard.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | cardIdentification | Object | Параметры идентификации карты. Требуется cardNumber. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard. |
| Обязательно | cardIdentification.cardNumber | String | Номер карты. Вы получите его в ответеCreateVirtualCard(). |
| Необязательно | cardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.expDate | String | Срок действия карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.plasticNumber | Integer | Номер пластика Не для тестовой площадки. |
| Необязательно | cardIdentification.phoneNumber | String | Телефон клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | cardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | cardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | cardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | cardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | cardIdentification.institutionId | String | Внутренний идентификатор учреждения. Не для тестовой площадки. |
| Необязательно | rsaPublicKey | ByteArray | Открытый ключ для шифрования номера карты в ответном сообщении. Не для тестовой площадки. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getCardData \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245259"
}
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | cardData | Object | Параметры карты. |
| Необязательно | cardData.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | cardData.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Обязательно | cardData.cardNumber | String | Номер карты. |
| Необязательно | cardData.expiryDate | String | Срок действия карты. В формате ГГГГММ. |
| Необязательно | cardData.formattedExpiryDate | String | Срок действия карты, отформатированной пользователем. Не для тестовой площадки. |
| Необязательно | cardData.cardId | String | Идентификатор карты. Это внутренний идентификатор карты SmartVista, который можно использовать для идентификации карты для приложений, не совместимых с PCI DSS. |
| Необязательно | cardData.hotCardStatus | Integer | Статус карты. |
| Необязательно | cardData.cardTypeName | String | Тип карты. |
| Необязательно | cardData.embossedName | String | Имя на пластике. Имеет смысл ждя эмбоссированных пластиковых карт, а не для виртуальных карт в тестовой площадке. |
| Необязательно | cardData.customerId | String | ID клиента. |
| Необязательно | cardData.customerName | String | Имя клиента. Не для тестовой площадки. |
| Необязательно | cardData.personId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | cardData.pinDenialCounter | Integer | Количество попыток неправильного ввода PIN-кода |
| Необязательно | cardData.plasticNumber | Integer | Номер пластика. Не для тестовой площадки. |
| Необязательно | cardData.hotCardStatusDescription | String | Описание статуса карты. |
| Необязательно | cardData.cardIsPrimary | Boolean | Флаг основной карты. Всегда false для тестовой площадки. |
| Необязательно | cardData.cardBindToCustomer | Boolean | Флаг привязки карты к клиенту. Всегда false для тестовой площадки. |
| Необязательно | cardData.customerIsCardholder | Boolean | Флаг является ли клиент держателем карты. Всегда false для тестовой площадки. |
| Необязательно | cardData.cardContractId | String | Идентификатор карточного контракта. Не для тестовой площадки. |
| Необязательно | cardData.cardPlasticId | String | Идентификатор типа пластика. Не для тестовой площадки. |
| Необязательно | cardData.cardPlasticDescription | String | Описание типа пластика. Не для тестовой площадки. |
| Необязательно | cardData.memorableWord | String | Секретное слово. Не для тестовой площадки. |
| Необязательно | cardData.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | cardData.lastWrongPinDate | DateTime | Дата/время последней попытки ввода неправильного PIN-кода. Не для тестовой площадки. |
| Необязательно | cardData.cardCreationDate | DateTime | Дата выпуска карты. Не для тестовой площадки. |
| Необязательно | cardData.cardBlockingDate | DateTime | Дата/время блокировки карты. Не для тестовой площадки. |
| Необязательно | cardData.directDebitAccount | String | Счет, используемый для автоплатежей. Не для тестовой площадки. |
| Необязательно | cardData.cardholderMobilePhoneNumber | String | Номер телефона владельца карты. Не для тестовой площадки. |
| Необязательно | cardData.accounts | Object | Список счетов для карты. В тестовой площадке должен быть только один счет. |
| Обязательно | accounts.number | String | Номер счета. |
| Обязательно | accounts.currency | Integer | Валюта счета |
| Необязательно | accounts.currencyAlphaCode | String | Буквенный код валюты счета. |
| Обязательно | accounts.balance | Integer | Баланс счета. |
| Необязательно | accounts.creditLimit | Integer | Кредитный лимит. |
| Обязательно | accounts.customerId | String | ID клиента. |
| Необязательно | accounts.defaultAccount | Boolean | Индикатор счета по умолчанию. Всегда true для тестовой площадки. |
Пример ответа
{
"cardData": {
"cardNumber": "4140050021658271",
"expiryDate": "202301",
"cardId": "100000000873",
"hotCardStatus": 0,
"cardTypeName": "VISA - PLUS",
"embossedName": "GENERAL POOL",
"customerId": "3006P_0000003",
"personId": "3006P_0000002",
"pinDenialCounter": 0,
"plasticNumber": 1,
"hotCardStatusDescription": "VALID CARD",
"cardIsPrimary": false,
"cardBindToCustomer": false,
"customerIsCardholder": false,
"accounts": [
{
"number": "3006978700000000108",
"accountType": 1,
"currency": 978,
"currencyAlphaCode": "EUR",
"balance": 0,
"creditLimit": 0,
"customerId": "3006P_0000003",
"defaultAccount": true
}
],
"customParameters": []
}
}blockCard
Заблокировать карту. Чтобы заблокировать карту в тестовой площадке, она должна находиться в активном статусе (код состояния 0). Вы можете получить код статуса карты с помощью getCardData.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | cardIdentification | Object | Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard. |
| Обязательно | cardIdentification.cardNumber | String | Номер карты. Вы получите его в ответеCreateVirtualCard(). |
| Необязательно | cardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.expDate | String | Срок действия карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.plasticNumber | Integer | Номер пластика Не для тестовой площадки. |
| Необязательно | cardIdentification.phoneNumber | String | Телефон клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | cardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | cardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | cardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | cardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | cardIdentification.institutionId | String | Внутренний идентификатор учреждения. |
| Обязательно | hotCardStatus | Integer | Статус карты. Should be 6 for the Sandbox. Это означает, что карта заблокирована и должна быть изъята при попытке использования. |
| Необязательно | cardAcceptorParameters | Object | Параметры терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.terminalIdentification | String | Идентификатор терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantIdentification | String | Идентификатор продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantType | String | Код категории продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.nameAndLocation | String | Адрес расположения терминала. Не для тестовой площадки. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/blockCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardNumber": "100000245259"
},
"hotCardStatus": 6
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | responseCode | String | Код завершения операции в SmartVista. 00 означает успех. |
Пример ответа
{
"responseCode": "00",
"processingCode": "910000",
"systemTraceAuditNumber": 620397,
"localTransactionDate": "2021-09-23T14:37:36"
}validateCard
Разблокировать карту.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | cardIdentification | Object | Параметры идентификации карты. Возможные варианты идентификации: (cardNumber) или (cardId) или (cardNumberMask и cardholderId) или (cardNumberMask и phoneNumber). |
| Обязательно | cardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. |
| Обязательно | cardIdentification.cardNumberMask | String | Маскированный номер карты. |
| Обязательно | cardIdentification.cardLastDigitMask | String | Последние цифры номера карты. |
| Обязательно | cardIdentification.cardNumber | String | Номер карты. |
| Необязательно | cardIdentification.cardId | String | Идентификатор карты. |
| Необязательно | cardIdentification.expDate | String | Срок действия карты. |
| Необязательно | cardIdentification.plasticNumber | Integer | Номер пластика |
| Необязательно | cardIdentification.phoneNumber | String | Телефон клиента. |
| Необязательно | cardIdentification.cardholderId | String | Идентификатор владельца карты. |
| Необязательно | cardIdentification.customerId | String | ID клиента. |
| Необязательно | cardIdentification.customerNumber | String | Номер клиента в SVB02. |
| Необязательно | cardIdentification.barCode | String | Штрих-код. |
| Необязательно | cardIdentification.cvv2 | String | CVV2. |
| Необязательно | cardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. |
| Необязательно | cardIdentification.token | String | Токен. |
| Необязательно | cardIdentification.cardTypeCode | String | Код типа карты. |
| Необязательно | cardIdentification.email | String | Электронная почта. |
| Необязательно | cardIdentification.institutionId | String | Внутренний идентификатор учреждения. |
| Необязательно | cardAcceptorParameters | Object | Параметры терминала. |
| Обязательно | cardAcceptorParameters.terminalIdentification | String | Идентификатор терминала. |
| Обязательно | cardAcceptorParameters.merchantIdentification | String | Идентификатор продавца. |
| Обязательно | cardAcceptorParameters.merchantType | String | Код категории продавца. |
| Необязательно | cardAcceptorParameters.nameAndLocation | String | Адрес расположения терминала. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/validateCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245259"
}
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | responseCode | String | Код завершения операции в SmartVista. 00 означает успех. |
Пример ответа
{
"responseCode": "00",
"processingCode": "980000",
"systemTraceAuditNumber": 320252,
"localTransactionDate": "2024-02-08T15:06:53"
}creditCard
Внесение средств на карту.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | preAuthorization | Boolean | Флаг предварительной авторизации. |
| Обязательно | cardIdentification | Object | Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard. |
| Обязательно | cardIdentification.cardNumber | String | Номер карты. Вы получите его в ответе CreateVirtualCard. |
| Необязательно | cardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.expDate | String | Срок действия карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.plasticNumber | Integer | Номер пластика Не для тестовой площадки. |
| Необязательно | cardIdentification.phoneNumber | String | Телефон клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | cardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | cardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | cardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | cardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | cardIdentification.institutionId | String | Внутренний идентификатор учреждения. Не для тестовой площадки. |
| Обязательно | amount | Integer | Сумма. |
| Обязательно | currency | Integer | Валюта. Цифровой код валюты ISO 4217. Use 978 for the Sandbox. |
| Необязательно | tds | Object | Параметры транзакции 3DS. |
| Необязательно | tds.xid | String | Идентификатор транзакции VISA 3DS. Не для тестовой площадки. |
| Необязательно | tds.cavv | String | Проверочное значение аутентификации VISA. Не для тестовой площадки. |
| Необязательно | tds.ucaf | String | Поле универсальной аутентификации Mastercard. Не для тестовой площадки. |
| Необязательно | tds.authenticationIndicator | String | Тип аутентификации транзакции электронной торговли. Возможные значения: NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters | Object | Параметры терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.terminalIdentification | String | Идентификатор терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantIdentification | String | Идентификатор продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantType | String | Код категории продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.nameAndLocation | String | Адрес расположения терминала. Не для тестовой площадки. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/creditCard \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification" : {
"cardNumber": "4140050090966613",
"expDate": 202612
},
"amount" : 10000,
"currency" : 978
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | responseCode | String | Код завершения операции SVFE. 00 означает успех. |
| Обязательно | processingCode | String | код обработки. |
| Обязательно | systemTraceAuditNumber | Integer | Номер записи аудита |
| Обязательно | localTransactionDate | DateTime | Дата транзакции. Фрмат: дата-время |
| Обязательно | rrn | String | Внешний идентификатор RNN. |
| Необязательно | authorizationIdResponse | String | Идентификатор авторизации. |
| Необязательно | uniqueReferenceNumber | String | Уникальный ссылочный номер операции. |
| Необязательно | otp | String | Одноразовый пароль. Не для тестовой площадки. |
| Необязательно | acquirerFeeAmount | String | Сумма комиссии эквайера. Не для тестовой площадки. |
| Необязательно | issuerFeeAmount | String | Размер комиссии эмитента. Не для тестовой площадки. |
| Необязательно | paymentSpecificData | Object | Специальные данные о платеже. |
Пример ответа
{
"responseCode": "00",
"processingCode": "270000",
"systemTraceAuditNumber": 609652,
"localTransactionDate": "2024-10-23T08:29:18",
"rrn": "000003997389",
"authorizationIdResponse": "997389",
"accountCurrencyAmount": 10000,
"paymentSpecificData": {}
}p2pTransfer
p2p перевод с карты на карту.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Необязательно | preAuthorization | Boolean | Флаг предварительной авторизации. |
| Обязательно | sourceCardIdentification | Object | Параметры идентификации карты для исходной карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard. |
| Обязательно | sourceCardIdentification.cardNumber | String | Номер карты. Вы получите его в ответеCreateVirtualCard(). |
| Обязательно | sourceCardIdentification.expDate | String | Срок действия карты. Формат ГГГГММ. |
| Необязательно | sourceCardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.plasticNumber | Integer | Номер пластика. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.phoneNumber | String | Телефон клиента. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | sourceCardIdentification.institutionId | String | Внутренний идентификатор учреждения. Не для тестовой площадки. |
| Обязательно | destinationCardIdentification | Object | Идентификационные параметры карты зачисления. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard. |
| Обязательно | destinationCardIdentification.cardNumber | String | Номер карты. Вы получите его в ответеCreateVirtualCard(). |
| Необязательно | destinationCardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.expDate | String | Срок действия карты. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.plasticNumber | Integer | Номер пластика Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.phoneNumber | String | Телефон клиента. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | destinationCardIdentification.institutionId | String | Внутренний идентификатор учреждения. Не для тестовой площадки. |
| Обязательно | amount | Integer | Сумма. |
| Обязательно | currency | Integer | Валюта. Цифровой код валюты ISO 4217. Use 978 for the Sandbox. |
| Необязательно | sourceAccountNumber | String | Номер карты, с которой осуществляется списание средств. Не для тестовой площадки. |
| Необязательно | destinationAccountNumber | String | Номер карты, на которую осуществляется зачисление. Не для тестовой площадки. |
| Необязательно | tds | Object | Параметры транзакции 3DS. Не для тестовой площадки. |
| Необязательно | tds.xid | String | Идентификатор транзакции VISA 3DS. Не для тестовой площадки. |
| Необязательно | tds.cavv | String | Проверочное значение аутентификации VISA. Не для тестовой площадки. |
| Необязательно | tds.ucaf | String | Поле универсальной аутентификации Mastercard. Не для тестовой площадки. |
| Необязательно | tds.authenticationIndicator | String | Тип аутентификации транзакции электронной торговли. Возможные значения: [NOT_PERFORMED, TDS_MERCHANT_ONLY, TDS_PERFORMED, ADDITIONAL_PROTOCOL_USED, RECURRENT_PAYMENT_AUTH]. Не для тестовой площадки. |
| Обязательно | senderReceiverInfo | Object | Информация об отправителе и получателе платежа. Не для тестовой площадки. |
| Обязательно | senderReceiverInfo.senderName | String | Имя отправителя в формате «Фамилия, Имя». |
| Обязательно | senderReceiverInfo.senderAddress | String | Адрес отправителя. |
| Необязательно | senderReceiverInfo.senderCity | String | Город отправителя. Не для тестовой площадки. |
| Необязательно | senderReceiverInfo.senderCountry | String | Код страны отправителя. Не для тестовой площадки. |
| Необязательно | senderReceiverInfo.senderPostalCode | String | Почтовый индекс отправителя. Не для тестовой площадки. |
| Необязательно | senderReceiverInfo.receiverName | String | Имя получателя в формате «Фамилия, Имя». Не для тестовой площадки. |
| Необязательно | pointOfServiceDataCode | String | Набор кодов, определяющих возможности терминала, параметры его окружения и использование средств безопасности во время транзакции. Не для тестовой площадки. |
| Обязательно | pointOfServiceConditionCode | String | Код, определяющий условия проведения транзакции в точке обслуживания. Любой текст. |
| Необязательно | cardAcceptorParameters | Object | Параметры терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.terminalIdentification | String | Идентификатор терминала. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantIdentification | String | Идентификатор продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.merchantType | String | Код категории продавца. Не для тестовой площадки. |
| Необязательно | cardAcceptorParameters.nameAndLocation | String | Адрес расположения терминала. Не для тестовой площадки. |
| Необязательно | securityLevelIndicator | String | Индикатор уровня безопасности. Не для тестовой площадки. |
| Необязательно | originalTransactionParameters | Object | Параметры исходной транзакции. Должен быть включен в запрос на проверку статуса транзакции. Не для тестовой площадки. |
| Необязательно | originalTransactionParameters.systemTraceAuditNumber | Integer | Номер записи аудита. Не для тестовой площадки. |
| Необязательно | originalTransactionParameters.localTransactionDate | DateTime | Дата транзакции. Не для тестовой площадки. |
| Необязательно | originalTransactionParameters.rrn | String | Внешний идентификатор RNN. Не для тестовой площадки. |
| Необязательно | posCardholderPresence | Integer | Тип присутствия владельца карты в пункте обслуживания. Не для тестовой площадки. |
| Необязательно | businessApplicationIdentifier | String | Идентификатор типа транзакции MC. Не для тестовой площадки. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/p2pTransfer \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"sourceCardIdentification": {
"cardNumber": "4140050090966613",
"expDate": "202612"
},
"destinationCardIdentification": {
"cardNumber": "4165850095602372"
},
"amount": 10000,
"currency": 978,
"senderReceiverInfo": {
"senderName": "Tor, John",
"senderAddress": "New York, USA"
},
"pointOfServiceDataCode": "810"
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | responseCode | String | Код завершения операции. 00 означает успех. |
| Обязательно | processingCode | String | код обработки. |
| Обязательно | systemTraceAuditNumber | Integer | Номер записи аудита |
| Обязательно | localTransactionDate | DateTime | Дата транзакции. Фрмат: дата-время |
| Обязательно | rrn | String | Внешний идентификатор RNN. |
| Необязательно | authorizationIdResponse | String | Идентификатор авторизации. |
| Необязательно | paymentSpecificData | Object | Специальные данные о платеже. |
Пример ответа
{
"responseCode": "00",
"processingCode": "490000",
"systemTraceAuditNumber": 609665,
"localTransactionDate": "2024-10-23T08:42:06",
"rrn": "000003997403",
"authorizationIdResponse": "997405",
"accountCurrencyAmount": 10000,
"paymentSpecificData": {}
}getTransactions
Получить историю транзакций по конкретной карте.
Параметры запроса
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | cardIdentification | Object | Параметры идентификации карты. Для получения более подробной информации о других вариантах идентификации карт, которые можно использовать в реальном проекте, а не в этой тестовой площадке, ознакомьтесь с описанием createVirtualCard. |
| Обязательно | cardIdentification.cardNumber | String | Номер карты. Вы получите его в ответеCreateVirtualCard(). |
| Необязательно | cardIdentification.encryptedCardNumber | ByteArray | Зашифрованный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardNumberMask | String | Маскированный номер карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardLastDigitMask | String | Последние цифры номера карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardId | String | Идентификатор карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.expDate | String | Срок действия карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.plasticNumber | Integer | Номер пластика. Не для тестовой площадки. |
| Необязательно | cardIdentification.phoneNumber | String | Телефон клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardholderId | String | Идентификатор владельца карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerId | String | ID клиента. Не для тестовой площадки. |
| Необязательно | cardIdentification.customerNumber | String | Номер клиента в SVB02. Не для тестовой площадки. |
| Необязательно | cardIdentification.barCode | String | Штрих-код. Не для тестовой площадки. |
| Необязательно | cardIdentification.cvv2 | String | CVV2. Не для тестовой площадки. |
| Необязательно | cardIdentification.externalCardId | String | Идентификатор карты во внешней системе банка. Не для тестовой площадки. |
| Необязательно | cardIdentification.token | String | Токен. Не для тестовой площадки. |
| Необязательно | cardIdentification.cardTypeCode | String | Код типа карты. Не для тестовой площадки. |
| Необязательно | cardIdentification.email | String | Электронная почта. Не для тестовой площадки. |
| Необязательно | cardIdentification.institutionId | String | Внутренний идентификатор учреждения. Не для тестовой площадки. |
| Обязательно | period | Object | Промежуток времени. |
| Необязательно | period.start | DateTime | Дата начала. Формат ГГГГ-ММ-ДД. |
| Необязательно | period.end | DateTime | Дата окончания. Формат ГГГГ-ММ-ДД. |
Пример запроса
curl --request POST \
--url https://dev.bpsprocessing.ru/v1/apigate/ws/rest/getTransactions \
--header 'Authorization: Basic YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"cardIdentification": {
"cardId": "100000245258"
},
"period": {
"start": "2024-10-01",
"end": "2024-10-23"
}
}'Параметры ответа
| Обязательность | Название | Тип | Описание |
|---|---|---|---|
| Обязательно | 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
}
]
}