Банковский 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.
Загрузите коллекцию Postman для варианта использования
Общие характеристики
Все запросы являются запросами HTTP POST. Тип контента как для запросов, так и для ответов — application
\ json
.
Банковский API v.1. Варианты использования
Вы можете загрузить коллекцию запросов API Postman, чтобы протестировать некоторые основные функции управления картами в тестовой площадке.
Загрузите коллекцию 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_number
Any text. Должен быть уникальным в вашем проекте тестовой площадки. -
product_id
Значение отображается в вашей учетной записи тестовой площадки. -
start_date
Any date in the past. Формат ГГГГ-ММ-ДД. -
service_id_acc
Значение отображается в вашей учетной записи тестовой площадки. -
surname
firstName
secondName
email
mobile_phone
region
city
street
house
apartment
postal_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"
}
]
}'
/v1/apigate/ws/rest/registerCustomer
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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"
}'
/v1/apigate/ws/rest/createVirtualCard
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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
}
}'
/v1/apigate/ws/rest/getCardLimits
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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
}
}'
/v1/apigate/ws/rest/changeCardLimit
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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"
}
}'
/v1/apigate/ws/rest/getCardData
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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
}'
/v1/apigate/ws/rest/blockCard
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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"
}
}'
/v1/apigate/ws/rest/validateCard
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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
}'
/v1/apigate/ws/rest/creditCard
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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"
}'
/v1/apigate/ws/rest/p2pTransfer
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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"
}
}'
/v1/apigate/ws/rest/getTransactions
Параметры ответа
Обязательность | Название | Тип | Описание |
---|---|---|---|
Обязательно | 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
}
]
}