Интеграция
Общее описание процесса P2P-перевода средств
- Клиент указывает номер телефона получателя средств.
- Торговец передаёт системе UnonaPay номер телефона получателя средств для получения данных карты.
- Система отправляет запрос в сервис Visa Alias, получает данные и токен карты-приёмника по номеру телефона получателя средств и передаёт токен карты торговцу.
- Торговец инициирует запрос на уточнение суммы взимаемой комиссии за перевод средств с карты-источника на карту-приёмник.
- Система предоставляет ответ с суммой комиссии, взимаемой за P2P-перевод, если он возможен.
- Торговец информирует отправителя средств о комиссии.
- Отправитель подтверждает перевод средств. Торговец инициирует запрос на осуществление P2P-перевода.
- Система проводит перевод и информирует торговца о статусе транзакции.
Требования к запросам
Запросы в систему UnonaPay должны:
- иметь авторизацию типа Basic c ID и Secret Key магазина как имя пользователя и пароль соответственно;
- иметь заголовки
Content-Type: application/json
,Accept: application/json
,X-Api-Version: 3
; - использовать SSL соединение с 128-bit (или более сложным) шифрованием для соответствия требованиям стандарта PCI DSS;
- использовать кодировку UTF-8.
Получение данных карты-приёмника по номеру телефона
Запрос
Отправьте POST
запрос на https://gateway.unonapay.com/services/visa-alias/verify-phone
со следующими параметрами:
Параметр | Тип | Описание |
---|---|---|
recipient_info | object | |
phone_number * обязательный |
string | Номер телефона получателя средств. |
Пример запроса
{
"recipient_info": {
"phone_number": "375291234567"
}
}
Ответ на запрос получения данных карты
Если карта привязана к номеру телефона в сервисе Visa Alias, то вы получите ответ со статусом 200
.
Параметр | Тип | Описание |
---|---|---|
holder | string | Имя владельца карты-приёмника. |
stamp | string | Хэш номера карты-приёмника. |
brand | string | Бренд карты-приёмника. |
last_4 | string | Последние четыре цифры карты-приёмника. |
first_1 | string | Первая цифра карты-приёмника. |
bin | string | BIN карты-приёмника. |
issuer_country | string | Страна карты-приёмника. |
issuer_name | string | Банк-эмитент карты-приёмника. |
product * required |
string | Тип карточного продукта карты-приёмника. |
exp_month | string | Месяц окончания срока действия карты-приёмника, представленный двумя цифрами, например 01 . |
exp_year | string | Год окончания срока действия карты-приёмника, представленный четырьмя цифрами, например 2021 . |
token | string | Токен карты-приёмника. |
service_info | object | Секция параметров получателя средств. |
recipientName | string | Имя получателя средств. |
issuerName | string | Банк-эмитент карты-приёмника. |
cardType | string | Тип карточного продукта карты-приёмника. |
address1 | string | Адрес получателя средств. |
address2 | string | Дополнительные данные адреса получателя средств. |
city | string | Город получателя средств. |
country | string | Страна получателя средств. |
postalCode | string | Индекс получателя средств. |
Пример ответа, если карта привязана к номеру телефона
{
"holder": "Percy A G",
"stamp": "3212dc99441c4997b2388abe5892f04c850df1dc67a17575203fff86ec1a7833",
"brand": "visa",
"last_4": "4895",
"first_1": "4",
"token": "a38bc9c6-b575-4a49-bc75-635c385398a9",
"product": null,
"bin": "470127",
"issuer_country": null,
"issuer_name": "Test Bank 1",
"exp_month": 12,
"exp_year": 2026,
"service_info": {
"recipientName": "Percy A G",
"issuerName": "Test Bank 1",
"cardType": "Visa Classic",
"address1": "Street 1",
"address2": "Region 1",
"city": "Berlin",
"country": "Germany",
"postalCode": "00111"
}
}
В случае неверно указанного номера телефона, система отправит ответ со статусом 400
и описанием ошибки.
Пример ответа с ошибкой передачи данных
{
"error_code": "request_validation_error",
"message": {
"recipient_info": {
"phone_number": [
"is in invalid format"
]
}
},
"status": "error",
"code": "E.1025",
"friendly_message": "Invalid request params"
}
Если карта не зарегистрирована в сервисе Visa Alias, то система отправит ответ со статусом 404
и описанием ошибки.
Пример ответа с ошибкой регистрации карты в сервисе Visa Alias
{
"status": "error",
"code": "E.1037",
"message": "Card Not Found",
"friendly_message": "Card Not Found"
}
Получение суммы комиссии, взимаемой за P2P-перевод
Для уточнения взимаемой комиссии отправьте запрос проверки возможности P2P-перевода, где в параметре recipient_card.token
передайте полученное значение параметра token
.
Осуществление P2P-перевода
После подтверждения, что транзакция возможна, отправьте запрос на осуществление P2P-перевода. В запросе в параметре recipient_card.token
передайте полученное значение параметра token
.
При необходимости вы можете уточнить статус транзакции отправив запрос статуса с UID
или tracking_id
транзакции.