Payment gateway API АО «Банк ЦентрКредит» предназначен Агентам имеющим разветвленную сеть терминалов для приема оплаты за услуги юридических лиц зарегистрированных в информационной системой Банка
Альтернативная точка подключения для вызова сервиса в продуктивной среде. Зарегистрированное на портале developer.bcc.kz приложение должно быть в режиме "PRODUCTION"
Точка подключения для вызова сервиса в продуктивной среде. Зарегистрированное на портале developer.bcc.kz приложение должно быть в режиме "PRODUCTION"
Точка подключения для вызова сервисов в тестовой среде. Зарегистрированное на портале developer.bcc.kz приложение должно быть в режиме "DEVELOPMENT"
Paths
/{agent}/services
Получение спецификации услуг доступных Агенту
Операция по получению актуальной спецификации параметров услуги и списка услуг доступных Агенту на момент вызова
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Параметр форматирования вывода перечня услуг доступных агенту в виде списка или иерархичной структуры основанной на категориях и субкатегориях услуг.
OK
Internal Server Error
/{agent}/services/{srvId}/checks
Проверка доступных значений для параметров услуги
Операция по онлайн-проверке и получению персонализированых парамтеров для платежа
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Идентификатор типа услуги
Абстрактный параметр. Необходимо передавать каждый параметр услуги (полученный в списке услуг) как отдельный параметр запроса.
OK
Internal Server Error
/{agent}/services/{srvId}/fees
Расчёт комиссии Банка
Операция по расчету комиссии которую Агент должен взять с Клиента
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Идентификатор типа услуги
Сумма платежа
Валюта платежа согласно стандарта ISO 4217 (KZT,USD,EUR)
Абстрактный параметр. Наименование параметров и их количество определяется согласно описания услуги в сервисе /services.
Успешное завершение
500 Internal Server Error
/{agent}/transactions
Получение списка транзакций
Операция получения списка транзакций (отчёт по транзакциям) введеных в информационную систему Банка а также их статуса
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Дата/время начала. Формат даты dd.mm.yyyyThh24:mi:ss
Дата/время завершения. Формат даты dd.mm.yyyyThh24:mi:ss
Фильтр по идентификатору типа услуги
Фильтр по статусу
OK
Internal Server Error
Создание транзакции в информационной системе Банка
Операция по созданию транзакции в информационной системе Банка. Описание с примерами запросов для услуг доступно на https://readme.readme.io/discuss/593720ded5e183000f565bf3
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Заполненное тело платежа
JSON сообщение с ЭЦП и сертификатом в формате Base64. Дополнительная информация инструкции по работе с ЭЦП, а также в RFC 7515.
Created
Request invalid
Internal server error
/{agent}/transactions/{extRefId}
Получение деталей транзакции
Операция по получению деталей транзакции
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Уникальный идентификатор транзакции в информационной системе Агента
Признак вывода реестра списочного платежа при его наличии. По умолчанию 0.
{
"enum": [
0,
1
]
}
OK
Internal Server Error
/{agent}/transactions/{extRefId}/accept
Подтверждение транзакции
Запрос на подтверждение транзакции в случае если при создании транзакции параметр accept = 1
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Уникальный идентификатор транзакции в информационной системе Агента
OK
Internal server error
/{agent}/transactions/{extRefId}/decline
Отклонение транзакции
Запрос на отклонение ранее введеной в платежный шлюз операции в случае если при создании транзакции параметр accept = 1
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Уникальный идентификатор транзакции в информационной системе Агента
OK
Internal server error
/{agent}/transactions/{extRefId}/redo
Перепроведение транзакции
Запрос на перепроведение транзакции. Используется при технических проблеммах связанных с проведением транзакции в АБС Банка.
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Уникальный идентификатор транзакции в информационной системе Агента
OK
Internal server error
/{agent}/reconciliation
Автоматическая сверка операций
Операция по автоматической сверке реестра проведенных платежей за указаный период
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
JSON сообщение с ЭЦП и сертификатом в формате Base64. Дополнительная информация инструкции по работе с ЭЦП, а также в RFC 7515.
Признак необходимости перезаписи реестра
Реестр транзакций
Request invalid
Internal Server Error
/{agent}/balance
Получение текущего баланса агента
Операция по получению текущего баланса на счете агента
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
/{agent}/statement
Получение выписки с операциями по счету Банка
Операция по получению постраничной выписки с операциями по счету Банка
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Операционная дата выписки. Формат: dd.MM.yyyy
Номер страницы для вывода операций, общее количество страниц выписки указанно в аттрибуте totalPage ответа. По умолчанию 1
OK
Unauthorized
/{agent}/reports
Формирование отчетов
Формирование отчетов
Токен аутентификации полученый при вызове сервиса авторизации
Уникальный идентификатор агента полученный в Банке при заключении Договора
Наименование отчета
{
"enum": [
"getReturnReport"
]
}
Дата начала периода. Формат: dd.MM.yyyy
Дата окончания периода. Формат: dd.MM.yyyy
Internal server error
Definitions
Объект, описывающий услугу
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Идентификатор услуги",
"example": "2"
},
"code": {
"type": "string",
"description": "Код услуги",
"example": "uib"
},
"name": {
"type": "string",
"description": "Наименование услуги",
"example": "UIB"
},
"note": {
"type": "string",
"description": "Примечание",
"example": "Оплата за обучение"
},
"chktype": {
"type": "string",
"description": "Тип проверки",
"example": "getContractByIin"
},
"params": {
"$ref": "#\/definitions\/svcParams",
"description": "Параметры услуги"
},
"register": {
"description": "Реестр",
"$ref": "#\/definitions\/svcParams"
}
}
}
Описание ответа для метода получения информации об услугах
{
"type": "object",
"properties": {
"categories": {
"$ref": "#\/definitions\/categories",
"description": "Объект, возвращаемый в случае ответа 'С категориями'"
},
"services": {
"$ref": "#\/definitions\/services",
"description": "Объект, возвращаемый в случае ответа 'Без категорий'"
}
}
}
Описание категории услуг
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Код",
"example": "education"
},
"name": {
"type": "string",
"description": "Наименование",
"example": "Обучение"
},
"categories": {
"$ref": "#\/definitions\/categories",
"description": "Дочерние (зависимые) категории"
},
"services": {
"$ref": "#\/definitions\/services",
"description": "Услуги, включённые в категорию"
}
}
}
Массив категорий
{
"type": "array",
"items": {
"$ref": "#\/definitions\/category"
}
}
Массив услуг
{
"type": "array",
"items": {
"$ref": "#\/definitions\/service"
}
}
Объект комиссии
{
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "Сумма"
},
"currency": {
"type": "string",
"description": "Валюта"
}
}
}
Массив наборов параметров услуги
{
"type": "array",
"items": {
"type": "string"
}
}
Массив параметров
{
"type": "array",
"items": {
"$ref": "#\/definitions\/svcParam"
}
}
Описание параметра сервиса и ограничений по нему для корректной работы с услугой.
Параметр **{prmType} тип операции предусматривает передачу на сторону агента типа параметра для описания возможных операции с данным параметром на стороне агента
Код | Тип | Описание |
---|---|---|
0 | in | Входящий параметр |
1 | out | Выходящий без возможности редактирования (Изменение параметра на стороне агента не учитывается в сервисе проведения платежа) |
2 | in/out | Выходящий с возможностью редактирования (Допускается изменение на стороне агента для последующей передачи в сервисы) |
3 | out | Информационный (Используется для передачи дополнительных информационных параметров) |
4 | out | Выходяший в виде списка без возможности редактирования (например справочник доступных КНП или КБК по услуге) |
5 | out | Выходяший в виде списка c возможностью редактирования (например список известных VIN кодов для клиента при оплате штрафов) |
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Код",
"example": "agreement"
},
"name": {
"type": "string",
"description": "Наименование",
"example": "Код услуги"
},
"note": {
"type": "string",
"description": "Примечание",
"example": "null"
},
"min": {
"type": "string",
"description": "Минимальная длина",
"example": "1"
},
"max": {
"type": "string",
"description": "Максимальная длина",
"example": "10"
},
"regexpMask": {
"type": "string",
"description": "Регулярное выражение для валидации параметра при создании транзакции",
"example": "null"
},
"regexpChk": {
"type": "string",
"description": "Регулярное выражение для валидации параметра при онлайн-проверке",
"example": "null"
},
"prmType": {
"type": "string",
"example": "0",
"description": "Тип параметра"
},
"chkCode": {
"type": "string",
"description": "Код при онлайн-проверки",
"example": "null"
},
"value": {
"type": "string",
"description": "Значение параметра"
},
"valueList": {
"description": "Список значений параметра",
"$ref": "#\/definitions\/valueList"
}
}
}
Описание параметра ответа онлайн-проверки
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Код"
},
"prmType": {
"type": "string",
"description": "Тип параметра"
},
"value": {
"type": "string",
"description": "Значение параметра"
},
"valueMask": {
"type": "string",
"description": "Усечённое значение параметра для отображения"
},
"valueList": {
"type": "string",
"description": "Список значений. Поле используется при prmType = 4 или 5"
}
}
}
Массив параметров ответа онлайн-проверки
{
"type": "array",
"items": {
"$ref": "#\/definitions\/chkParam"
}
}
Массив возвращаемых сущностей ответа онлайн-проверки
{
"type": "array",
"items": {
"$ref": "#\/definitions\/chkParams"
}
}
Параметр транзакции
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Код параметра"
},
"value": {
"type": "string",
"description": "Значение параметра"
}
}
}
Массив параметров транзакции
{
"type": "array",
"items": {
"$ref": "#\/definitions\/trnParam"
}
}
Описание транзакции
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Идентификатор транзакции"
},
"srvId": {
"type": "integer",
"description": "Идентификатор услуги",
"example": "1"
},
"amount": {
"type": "number",
"description": "Сумма транзакции",
"example": 100
},
"currency": {
"type": "string",
"description": "Валюта транзакции",
"example": "KZT"
},
"extRefNo": {
"type": "string",
"description": "Референс во внешней системе",
"example": "129783"
},
"point": {
"type": "string",
"description": "Наименование точки предоставления услуги (ID терминала, отделения, наименование сервиса и т.д.)",
"example": "Пункт оплаты"
},
"status": {
"type": "string",
"description": "Статус транзакции"
},
"statusName": {
"type": "string",
"description": "Описание статуса"
},
"createDate": {
"type": "string",
"description": "Дата создания транзакции"
},
"finishDate": {
"type": "string",
"description": "Дата завершения транзакции"
},
"srvParams": {
"$ref": "#\/definitions\/svcParams",
"description": "Параметры услуги"
},
"register": {
"$ref": "#\/definitions\/arrayObjects",
"description": "Реестр в рамках проведения списочных платежей, согласно спецификации на услугу",
"items": {
"type": "string"
}
},
"accept": {
"type": "integer",
"description": "Признак ожидания одобрения платежа. 0 - автоодобрение (по умолчанию), 1 - одобрение платежа вызовом сервиса \/accept",
"example": "0",
"format": "int32"
},
"terminal": {
"type": "string",
"description": "Уникальный идентификатор терминала. Используется при оплате услуг через ECommerce шлюз АО \"Банк ЦентрКредит\"",
"example": "88888888"
},
"fee": {
"type": "number",
"description": "Комиссия, которая взимается агентом",
"example": 10,
"format": "float"
},
"authcode": {
"type": "string",
"description": "Код авторизации",
"example": "965825"
},
"rrn": {
"type": "string",
"description": "RRN Транзакции",
"example": "9856321589632"
},
"card": {
"type": "string",
"description": "Маскированный номер карты, по которой была осуществлена оплата. Формат: 000000****** 0000",
"example": "489999******6236"
}
},
"required": [
"srvId",
"amount",
"currency",
"fee",
"extRefNo"
],
"additionalProperties": false
}
Массив транзакций
{
"type": "array",
"items": {
"$ref": "#\/definitions\/transaction"
}
}
{
"type": "object",
"properties": {
"inBalance": {
"type": "number",
"description": "Входящий баланс на начало периода",
"example": 10.01
},
"outBalance": {
"type": "number",
"description": "Исходящий баланс на начало периода",
"example": 20.01
},
"currentPage": {
"type": "integer",
"description": "Номер текущей страницы",
"example": 21
},
"totalPage": {
"type": "integer",
"description": "Количество страниц в выписке",
"example": 56
},
"operations": {
"$ref": "#\/definitions\/operations"
}
}
}
{
"type": "array",
"items": {
"$ref": "#\/definitions\/operation"
}
}
{
"type": "object",
"properties": {
"extRefNo": {
"type": "string",
"description": "Идентификатор операции в информационной системе клиента",
"example": "EXT1234566"
},
"date": {
"type": "string",
"description": "Дата и время проведения операции. Формат: yyyy-MM-dd HH:mm:ss",
"example": "19-09-2020 17:00:00"
},
"type": {
"type": "string",
"description": "Тип операции. debit - дебет счета, credit - кредит счета",
"example": "debit"
},
"account": {
"type": "string",
"description": "IBAN. 20 значный номер счета",
"example": "KZ000000000000000001"
},
"bank": {
"type": "string",
"description": "Идентификационный код банка (БИК)",
"example": "KCJBKZKX"
},
"idn": {
"type": "string",
"description": "Идентификационный номер участника операции",
"example": "000000000000"
},
"name": {
"type": "string",
"description": "Наименование участника операции"
},
"amount": {
"type": "number",
"example": 10.01,
"description": "Сумма операции"
},
"currency": {
"type": "string",
"example": "KZT",
"description": "Валюта операции согласно стандарта ISO 4217 (KZT, USD, EUR)"
},
"knp": {
"type": "string",
"example": "911",
"description": "КНП операции"
},
"narrative": {
"type": "string",
"example": "Платёж СБВ",
"description": "Назначение операции"
}
},
"required": [
"extRefNo",
"account",
"amount",
"date",
"type"
]
}
{
"type": "object",
"properties": {
"_any_": {
"type": "string",
"description": "Параметры отчета"
},
"reportRows": {
"$ref": "#\/definitions\/reportRows"
}
}
}
{
"type": "array",
"items": {
"$ref": "#\/definitions\/reportRow"
}
}
Строка отчета
{
"type": "object",
"properties": {
"_any_": {
"type": "string",
"description": "Аттрибут строки отчета"
},
"reportRows": {
"$ref": "#\/definitions\/reportRows"
}
}
}
Описывает цифровую подпись примененную при подписании сообщения. Дополнительные сведения приведены в раздел 4 RFC 7515 ( https://tools.ietf.org/html/rfc7515#page-9 )
{
"properties": {
"x5c": {
"type": "array",
"items": {
"type": "string"
},
"description": "Содержит публичный ключ сертификата X.509 или цепочку сертификатов. Дополнителные сведения RFC 7515 раздел 4.1.2.",
"example": "[\"X.509-1\",\"X.509-2\"]"
},
"alg": {
"type": "string",
"description": "Используемый криптографический алгоритм. Дополнителные сведения RFC 7515 раздел 4.1.2.",
"example": "\"RS256\""
}
},
"additionalProperties": false
}
Сообщение для шлюза подписанное в соответствии с стандартом JSON Web Signature (https://tools.ietf.org/html/rfc7515)
{
"properties": {
"payload": {
"type": "string",
"example": "eyJzcnZJZCI6MSwiYW1vdW50IjoxMDAsImN......1cnJl",
"description": "Исходное сообщение JSON закодированное в Base64 которое требуется подписать ЭЦП"
},
"signatures": {
"$ref": "#\/definitions\/jws-signatures",
"description": "Массив электронных подписей подписавших сообщений."
}
},
"additionalProperties": false,
"required": [
"payload",
"signatures"
]
}
Маccив электронных подписей подписавших сообщение.
{
"type": "array",
"items": {
"$ref": "#\/definitions\/jws-signature"
}
}
Определяет параметры подписи и саму подпись для подписанного сообщения (JWS Payload) и защищенных заголовков сообщения. Дополнительная информация RFC 7515 раздел 7.2.1.
{
"properties": {
"header": {
"$ref": "#\/definitions\/jose-header",
"description": "Заголовки описывающие электронную подпись."
},
"signature": {
"type": "string",
"description": "Электронная подпись сообщения."
}
},
"additionalProperties": false,
"required": [
"header",
"signature"
]
}
Подписанное ЭЦП зарегистрированной в банке сообщение в формате JWS JSON Serialization представленное в формате base64url(jws-message). Дополнительная информация RFC 7515 раздел 3.2.
{
"type": "string"
}
Реестр проведенных операций
{
"properties": {
"dtFrom": {
"type": "string",
"description": "Период реестра с",
"format": "date",
"example": "2019-04-19"
},
"dtTo": {
"type": "string",
"description": "Период реестра по",
"format": "date",
"example": "2019-04-19"
},
"amount": {
"type": "number",
"description": "Сумма реестра",
"format": "double",
"example": 100000
},
"currency": {
"type": "string",
"enum": [
"KZT",
"USD",
"EUR"
],
"description": "Валюта реестра согласно стандарта ISO 4217 (KZT, USD, EUR)",
"example": "KZT"
},
"records": {
"description": "Массив записей реестра транзакций для проведения автоматической сверки",
"items": {
"type": "string"
},
"$ref": "#\/definitions\/registerRecords"
}
},
"additionalProperties": false,
"required": [
"dtFrom",
"dtTo",
"amount",
"currency",
"records"
]
}
Список транзакций для проведения автоматической сверки
{
"type": "array",
"items": {
"$ref": "#\/definitions\/registerRecord"
}
}
Описание полей транзакции в отчете по автоматической сверке
{
"properties": {
"extRefNo": {
"type": "string",
"description": "Уникальный идентификатор транзакции в информационной системе Агента",
"example": "123456789"
},
"amount": {
"type": "number",
"description": "Сумма транзакции",
"example": 1000
},
"trnDate": {
"type": "string",
"description": "Дата проведения транзакции на стороне Агента. Формат YYYY-MM-DDThh:mm:ss (ISO 8601)",
"example": "2019-04-19T16:27:42",
"format": "date-time"
},
"currency": {
"type": "string",
"description": "Валюта реестра согласно стандарта ISO 4217 (KZT, USD, EUR)",
"example": "KZT"
},
"note": {
"type": "string",
"description": "Описание не соответствия при проведении автоматической стороне. Заполняется в ответе Банка",
"example": "Транзакция с референсом ххххх не найдена в системе Банка"
}
},
"additionalProperties": false,
"required": [
"amount",
"trnDate",
"currency",
"extRefNo"
]
}
Информация о результате вызова запроса
{
"properties": {
"success": {
"type": "boolean",
"description": "Признак результата выполнения запроса",
"example": "true"
},
"code": {
"type": "string",
"description": "Код выполнения"
},
"status": {
"type": "string",
"description": "Статус выполнения"
},
"reason": {
"type": "string",
"description": "Код результата выполнения запроса",
"example": "0"
},
"description": {
"type": "string",
"description": "Описание результата выполнения запроса",
"example": "Успешно"
}
},
"additionalProperties": false,
"required": [
"success",
"reason"
]
}
Результаты автоматической сверки
{
"properties": {
"code": {
"type": "string",
"description": "Код результата выполнения автоматической сверки. 1 - сверка успешна, 2 - при сверке выявлены не соответствия",
"example": "0"
},
"description": {
"type": "string",
"description": "Описание кода результата выполнения автоматической сверки",
"example": "Успешно"
},
"notMatchingList": {
"description": "Список транзакций не соответствующих входящему реестру. Заполняется при code = 2",
"$ref": "#\/definitions\/registerRecords"
}
},
"additionalProperties": false,
"required": [
"code"
]
}
Список допустимых значений
{
"type": "array",
"items": {
"$ref": "#\/definitions\/value"
}
}
Допустимое значение для параметров
{
"properties": {
"value": {
"type": "string",
"description": "Значение параметра",
"example": "913"
},
"note": {
"type": "string",
"description": "Представление значения для пользователя",
"example": "Штрафы за нарушение законодательства Республики Казахстан"
}
},
"additionalProperties": false,
"required": [
"value"
]
}
Информация о балансе на счете агента
Примечание: Параметр threshold возвращается только по агентам, которые работают по предоплате
{
"properties": {
"balance": {
"type": "number",
"description": "Балансе на счете агента",
"format": "float",
"example": 109000
},
"processed": {
"type": "number",
"description": "Сумма транзакций в обработке",
"format": "float",
"example": 10900
},
"threshold": {
"type": "number",
"description": "Неснижаемый остаток",
"format": "float",
"example": 1000000
}
},
"additionalProperties": false,
"required": [
"balance",
"processed"
]
}
Абстрактный массив объектов со структурой описываемой в спецификации услуги. Используется в таких услугах как списочные платежи (пенсионные, социальные отчисления и т.п.)
{
"type": "array",
"items": {
"$ref": "#\/definitions\/arrayObject"
}
}
Объект с описанием полей и ограничений в технической спецификации услуги
{
"properties": {
"_any_": {
"type": "string",
"description": "Абстрактный параметр описаний в технической спецификации услуги"
}
},
"additionalProperties": true
}