Download OpenAPI specification:
Документ описывает порядок взаимодействия платформы Клиента и платформы Carusell (система "КПА") в рамках осуществления платежей и переводов в пользу различных получателей (мерчантов, банков) с инициацией транзакции через сканирование QR кода (scan-to-pay, MPM) или перевод из приложения Клиента по реквизитам.
Для интеграции необходимо выполнить настройку безопасного канала связи и получить доступ к платформы Carusell.
Взаимодействие с API происходит по защищенному протоколу HTTPS с использованием взаимной TLS-аутентификации (mTLS).
Чтобы получить сертификат со стороны Carusell для доступа к продовому контуру, необходимо:
Для работы с тестовым контуром платформы сертификат не требуется.
Тестовый контур
Используйте следующие настройки:
Продовый контур
Для получения настроек доступа к продовому контуру Клиент направляет запрос по e-mail helpdesk@cyberpro.kg команде поддержки платформы Carusell.
Порядок работы с сервисом платежей с инициацией через сканирование QR (scan-to-pay):
Допускается вариант, при котором Клиент может не выполнять этот шаг, поскольку запрос на декодирование QR кода позволяет определить принадлежность QR определенной платежной системе.
Порядок работы с сервисом переводов по реквизитам:
VietQR — это универсальный стандарт генерации QR-кодов для переводов, развиваемый Национальным банком Вьетнама совместно с платежной системой NAPAS, что обеспечивает высокий уровень адаптации метода, т.е. поддерживается подавляющим большинством мерчантов Вьетнама. Подключая этот метод, Клиент получает возможность предложить своим пользователям мгновенные и удобные платежи через сканирование QR-кода в любых торговых точках страны без необходимости интеграции с каждым мерчантом отдельно.
Формат: TLV (Tag--Length--Value), стандарт EMVCo
Чтение: слева направо (Tag[2] + Length[2] + Value)
Пример:
00020101021138560010A0000007270126000697040701128888123456780208QRIBFTTA53037045802VN63042249
Разбивка:
00 02 01
01 02 11
38 56 0010A000000727...
53 03 704
58 02 VN
63 04 2249
Ключевые теги:
58 → страна 58 02 VN38 → платёжная система (контейнер)\внутри: 00 10 A000000727Правило:
Payload = VietQR, если:
58 = VN38 есть A000000727 (NAPAS)| Сценарий | Payload |
|---|---|
| Успех, одноразовый код | 00020101021138560010A0000007270126000697040701128888123456780208QRIBFTTA53037045802VN63042249 |
| Неуспех декода: аккаунт заблокирован | 00020101021138560010A0000007270126000697040701128888123456780208QRIBFTTA53037045802VN63042249 |
Валюта зачисления
Вьетнамский донг, код ISO 4217: VND (числовой 704)
Данные плательщика
Передавать не требуется (поле payerInfo)
Лимиты
| text required | string [ 0 .. 8000 ] characters Отсканированный QR код |
| bankCurrency | string (Currency) Enum: "RUB" "VND" "PHP" "UZS" "AZN" "AMD" "TJS" "LKR" "KRW" "THB" "TWD" "JPY" "SGD" "MNT" "KHR" "TRY" "ARS" "MXN" "KZT" "USD" "USDT" Трёхбуквенный код валюты, либо код криптовалюты |
| serviceId | integer <int64> (ServiceId) Идентификатор сервиса. Выдаётся командой технической поддержки системы КПА. |
object (UserInfo) |
{- "text": "string",
- "bankCurrency": "RUB",
- "serviceId": 0,
- "payerInfo": {
- "firstName": "string",
- "lastName": "string",
- "middleName": "string",
- "phone": 18001234567,
- "addressCountry": "KZ",
- "address": "string",
- "zipcode": "string",
- "state": "string",
- "dateOfBirth": "2000-01-01",
- "birthPlace": "New York",
- "birthCountry": "KZ",
- "citizenship": "KZ",
- "documents": [
- {
- "type": "PASSPORT",
- "country": "KZ",
- "series": "string",
- "documentNumber": "string",
- "issuer": "string",
- "issuerCode": "string",
- "issueDate": "2020-01-01",
- "expiryDate": "2020-01-01"
}
], - "email": "string",
- "id": "string"
}
}{- "stId": 42,
- "amount": 200.25,
- "currency": "RUB",
- "rate": 85.2445,
- "merchantInfo": {
- "id": 4521,
- "name": "ООО \"Кофейня у реки\"",
- "country": "KZ",
- "city": "Moscow",
- "address": "Tverskaya, 1",
- "mcc": 5300
}, - "minimumAmount": 200.25,
- "serviceId": 0,
- "description": "Оплата на кассе"
}| serviceId required | integer <int64> (ServiceId) Идентификатор сервиса. Выдаётся командой технической поддержки системы КПА. |
| bankCode required | string code из запроса getBanks |
| accountNumber required | string Номер счёта получателя |
| recipientName required | string Имя получателя |
| description | string Описание перевода |
object (UserInfo) | |
object (UserInfo) |
{- "serviceId": 0,
- "bankCode": "aub",
- "accountNumber": 123456789,
- "recipientName": "Ivan Ivanov",
- "description": "string",
- "recipientInfo": {
- "firstName": "string",
- "lastName": "string",
- "middleName": "string",
- "phone": 18001234567,
- "addressCountry": "KZ",
- "address": "string",
- "zipcode": "string",
- "state": "string",
- "dateOfBirth": "2000-01-01",
- "birthPlace": "New York",
- "birthCountry": "KZ",
- "citizenship": "KZ",
- "documents": [
- {
- "type": "PASSPORT",
- "country": "KZ",
- "series": "string",
- "documentNumber": "string",
- "issuer": "string",
- "issuerCode": "string",
- "issueDate": "2020-01-01",
- "expiryDate": "2020-01-01"
}
], - "email": "string",
- "id": "string"
}, - "payerInfo": {
- "firstName": "string",
- "lastName": "string",
- "middleName": "string",
- "phone": 18001234567,
- "addressCountry": "KZ",
- "address": "string",
- "zipcode": "string",
- "state": "string",
- "dateOfBirth": "2000-01-01",
- "birthPlace": "New York",
- "birthCountry": "KZ",
- "citizenship": "KZ",
- "documents": [
- {
- "type": "PASSPORT",
- "country": "KZ",
- "series": "string",
- "documentNumber": "string",
- "issuer": "string",
- "issuerCode": "string",
- "issueDate": "2020-01-01",
- "expiryDate": "2020-01-01"
}
], - "email": "string",
- "id": "string"
}
}{- "stId": 42,
- "currency": "RUB",
- "rate": 85.2445
}| stId required | integer <int64> (StId) >= 0 ID платежа в системе КПА |
| bankId required | string ID платежа в системе банка |
| amount required | number <decimal> (Amount) > 0 Сумма в единицах валюты, например VND. Точность 2 десятичных знака |
| currency required | string (Currency) Enum: "RUB" "VND" "PHP" "UZS" "AZN" "AMD" "TJS" "LKR" "KRW" "THB" "TWD" "JPY" "SGD" "MNT" "KHR" "TRY" "ARS" "MXN" "KZT" "USD" "USDT" Трёхбуквенный код валюты, либо код криптовалюты |
| bankAmount required | number <decimal> (Amount) > 0 Сумма в единицах валюты, например VND. Точность 2 десятичных знака |
object (UserInfo) |
{- "stId": 42,
- "bankId": "test-id",
- "amount": 200.25,
- "currency": "RUB",
- "bankAmount": 200.25,
- "payerInfo": {
- "firstName": "string",
- "lastName": "string",
- "middleName": "string",
- "phone": 18001234567,
- "addressCountry": "KZ",
- "address": "string",
- "zipcode": "string",
- "state": "string",
- "dateOfBirth": "2000-01-01",
- "birthPlace": "New York",
- "birthCountry": "KZ",
- "citizenship": "KZ",
- "documents": [
- {
- "type": "PASSPORT",
- "country": "KZ",
- "series": "string",
- "documentNumber": "string",
- "issuer": "string",
- "issuerCode": "string",
- "issueDate": "2020-01-01",
- "expiryDate": "2020-01-01"
}
], - "email": "string",
- "id": "string"
}
}{- "status": "SUCCESS"
}