Интеграция
Общее описание процесса P2P-перевода средств
- Клиент указывает номер телефона получателя средств.
- Торговец передаёт системе Overpay номер телефона получателя средств для получения данных карты.
- Система отправляет запрос в сервис Visa Alias, получает данные и токен карты-приёмника по номеру телефона получателя средств и передаёт токен карты торговцу.
- Торговец инициирует запрос на уточнение суммы взимаемой комиссии за перевод средств с карты-источника на карту-приёмник.
- Система предоставляет ответ с суммой комиссии, взимаемой за P2P-перевод, если он возможен.
- Торговец информирует отправителя средств о комиссии.
- Отправитель подтверждает перевод средств. Торговец инициирует запрос на осуществление P2P-перевода.
- Система проводит перевод и информирует торговца о статусе транзакции.
Требования к запросам
Запросы в систему Overpay должны:
- иметь авторизацию типа 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.overpay.io/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": 2027,
    "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 транзакции.