По любому вопросу мы в одном клике

Задать вопрос

Abby Cardholder Validator

На основании требований нормативных документов Мерчанты, занимающиеся гэмблингом и/или продажей/покупкой криптовалюты, должны верифицировать принадлежность платежных карт физическим лицам.

С целью проведения такой верификации при обработке платежей разработан REST API сервис Abby Cardholder Validator (далее Прокси). Этот сервис обеспечивает интеграцию с Платежным шлюзом и внешними сервисами валидации для проведения транзакций электронной коммерции.

Проверка принадлежности карты физическому лицу выполняется при оплате, вне зависимости от того, делает ли Клиент привязку карты или нет. Если Мерчант прислал определенные параметры в запросе на регистрацию, относящиеся к персональным данным, и в его настройках включена необходимость верификации карт, то такую операцию требуется отправлять на проверку принадлежности карты Клиенту.

На основании настроек сервис:

Сценарий работы

Типовой сценарий работы (когда ПС находится на стороне Платежного шлюза):

  1. Клиент оформляет заказ у Мерчанта
  2. Мерчант отправляет запрос регистрации заказа в Прокси, передавая персональные данные клиента
  3. Прокси валидирует полноту полученных данных Клиента
  4. Если валидация успешна, то Прокси вызывает регистрацию заказа в Платежном Шлюзе
  5. Платежный Шлюз возвращает Прокси ссылку на платежную страницу
  6. Прокси возвращает Мерчанту ссылку на платежную страницу
  7. Мерчант отображает клиенту платежную страницу
  8. Клиент вводит карточные данные на платежной странице
  9. Платежная страница вызывает в Прокси метод оплаты картой, передавая карточные данные
  10. Прокси определяет необходимость проверки принадлежности карты
  11. Прокси вызывает сервис проверки принадлежности карты
  12. Прокси проверяет статус проверки
  13. При успешной проверке Прокси вызывает запрос оплаты в Платежном шлюзе
  14. Платежный шлюз сохраняет в атрибуты транзакции статус валидации карты
  15. Платежный шлюз возвращает Прокси результат оплаты
  16. Прокси возвращает на платежную страницу результат оплаты

Методы API

Базовый URL-адрес

Для отправки запросов в Прокси (Abby Cardholder Validator) используется базовый URL-адрес: https://abby.rbsuat.com/abby-cardholder-validator.

Формат данных

Аутентификация

Для аутентификации используются параметры:

Для тестирования методов API можно использовать тестовые данные.

Регистрация заказа

Для регистрации заказа используется запрос https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/register.do.

Параметры запроса

Обязательность Название Тип Описание
Обязательно

userName String [1..50] Логин учетной записи API продавца.
Обязательно

password String [1..30] Пароль учетной записи API продавца.
Обязательно

orderNumber String [1..36] Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа.
Обязательно

amount Integer [0..12] Сумма платежа в минимальных единицах валюты (например, в копейках).
Обязательно

currency String [3] Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры.
Обязательно

returnUrl String [1..512] Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противном случае пользователь будет перенаправлен по адресу следующего вида: https://abby.rbsuat.com/payment/<merchant_address>.
Необязательно

description String [1..598] Описание заказа в любом формате.
Чтобы включить отправку этого поля в процессинговую систему, обратитесь в службу технической поддержки.
В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется.
Необязательно

language String [2] Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.
Необязательно

jsonParams String Поля для хранения дополнительных данных необходимо передавать следующим образом: {"param":"value","param2":"value2"}.

paymentInfo - для передачи информации по заказу в Банк и корректного построения Банковских отчётов следует передавать значение paymentInfo с использованием цифр, символов и букв латинского алфавита.

Условие billingPayerData Object Блок с персональными данными плательщика. Обязательно, если функция включена для продавца на стороне Платежного шлюза. Обязателен при включенной валидации. См. вложенные параметры.

Ниже приведены параметры блока billingPayerData (персональные данные плательщика). Состав и обязательность параметров зависит от того, является ли плательщик резидентом Республики Беларусь. Резидентство определяется по значению параметра payerIdType:

Для резидентов РБ:

Обязательность Название Тип Описание
Обязательно

billingCountry String [0..50] Страна резидента. Всегда имеет значение BY.
Обязательно

payerBirthday String [1..20] Дата рождения отправителя в формате YYYY-MM-DD.
Обязательно

payerIdNumber String [1..100] Номер предоставленного идентифицирующего документа (например, паспорта) отправителя.
Обязательно

payerLastName String [1..64] Фамилия отправителя.
Обязательно

payerFirstName String [1..35] Имя отправителя.
Обязательно

payerMiddleName String [1..35] Отчество отправителя.
Необязательно

payerIdType String [1..8] Тип предоставленного идентифицирующего документа отправителя.
Возможные значения:
  • IDTP1 - Паспорт
  • IDTP2 - Водительское удостоверение
  • IDTP3 - Социальная карта
  • IDTP4 - ID карта гражданина
  • IDTP5 - Сертификат ведения бизнеса
  • IDTP6 - Сертификат беженца
  • IDTP7 - Вид на жительство
  • IDTP8 - Заграничный паспорт
  • IDTP9 - Официальный паспорт
  • IDTP10 - Временный паспорт
  • IDTP11 - Паспорт моряка
Необязательно

payerIdSeries String [1..100] Серия паспорта отправителя.
Необязательно

mobilePhone Integer [1..20] Номер мобильного телефона отправителя.

Для нерезидентов РБ:

Обязательность Название Тип Описание
Обязательно

billingCountry String [0..50] Страна резидентства клиента. Формат: ISO 3166-1 (двухбуквенный код страны).
Обязательно

payerBirthday String [1..20] Дата рождения отправителя в формате YYYY-MM-DD.
Обязательно

payerLastName String [1..64] Фамилия отправителя.
Обязательно

payerFirstName String [1..35] Имя отправителя.
Условие

payerMiddleName String [1..35] Отчество отправителя. Обязательно, если отчество имеется.
Обязательно

payerIdType String [1..8] Тип предоставленного идентифицирующего документа отправителя. Для нерезидента всегда равен IDTP8.
Необязательно

mobilePhone Integer [1..20] Номер мобильного телефона отправителя.
Необязательно

payerIdNumber String [1..100] Номер предоставленного идентифицирующего документа (например, паспорта) отправителя.
Необязательно

payerIdSeries String [1..100] Серия паспорта отправителя.

Параметры ответа

Обязательность Название Тип Описание
Необязательно

errorCode String [1..2] Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
Необязательно

errorMessage String [1..512] Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
Необязательно

formUrl String [1..512] URL платежной формы, на которую будет перенаправлен покупатель. URL не возвращается, если регистрация заказа не прошла из-за ошибки, указанной в errorCode.
Необязательно

orderId String [1..36] Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.

Примеры

Пример запроса для резидента РБ

curl -X POST 'https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/register.do' \
 -H 'Content-Type: application/x-www-form-urlencoded' \
 -d 'userName=merchant_api_user' \
 -d 'password=merchant_password' \
 -d 'orderNumber=ORDER-12345' \
 -d 'amount=100000' \
 -d 'currency=933' \
 -d 'returnUrl=https://merchant.com/success' \
 -d 'description=Payment for order 12345' \
 -d 'billingPayerData.billingCountry=BY' \
 -d 'billingPayerData.payerBirthday=1990-01-15' \
 -d 'billingPayerData.payerIdNumber=1234567890123'

Пример запроса для нерезидента РБ

curl -X POST 'https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/register.do' \
 -H 'Content-Type: application/x-www-form-urlencoded' \
 -d 'userName=merchant_api_user' \
 -d 'password=merchant_password' \
 -d 'orderNumber=ORDER-12345' \
 -d 'amount=100000' \
 -d 'currency=933' \
 -d 'returnUrl=https://merchant.com/success' \
 -d 'description=Payment for order 12345' \
 -d 'billingPayerData.billingCountry=RU' \
 -d 'billingPayerData.payerBirthday=1990-01-15' \
 -d 'billingPayerData.payerFirstName=John' \
 -d 'billingPayerData.payerLastName=Doe' \
 -d 'billingPayerData.payerIdType=IDTP8'

Пример ответа - успех

{
  "orderId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "formUrl": "https://abby.rbsuat.com/paymentpayment/form?mdOrder=a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Пример ответа - ошибка

{
  "errorCode": "118",
  "errorMessage": "Missing required personal data fields"
}

Коды ответов:

Регистрация заказа c предавторизацией

Для регистрации заказа c предавторизацией используется запрос https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/registerPreAuth.do.

Параметры запроса

Обязательность Название Тип Описание
Обязательно

userName String [1..50] Логин учетной записи API продавца.
Обязательно

password String [1..30] Пароль учетной записи API продавца.
Обязательно

orderNumber String [1..36] Номер заказа (ID) в системе мерчанта; должен быть уникальным для каждого заказа.
Обязательно

amount Integer [0..12] Сумма платежа в минимальных единицах валюты (например, в копейках).
Обязательно

currency String [3] Код валюты платежа ISO 4217. Если не указано, то используется значение по умолчанию. Допускаются только цифры.
Обязательно

returnUrl String [1..512] Адрес, на который требуется перенаправить пользователя в случае успешной оплаты. Адрес должен быть указан полностью, включая используемый протокол (например, https://mybestmerchantreturnurl.com вместо mybestmerchantreturnurl.com). В противном случае пользователь будет перенаправлен по адресу следующего вида: https://abby.rbsuat.com/payment/<merchant_address>.
Необязательно

description String [1..598] Описание заказа в любом формате.
Чтобы включить отправку этого поля в процессинговую систему, обратитесь в службу технической поддержки.
В этом поле недопустимо передавать персональные данные или платежные данные (номера карт т.п.). Данное требование связано с тем, что описание заказа нигде не маскируется.
Необязательно

language String [2] Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.
Необязательно

jsonParams String Поля для хранения дополнительных данных необходимо передавать следующим образом: {"param":"value","param2":"value2"}.

paymentInfo - для передачи информации по заказу в Банк и корректного построения Банковских отчётов следует передавать значение paymentInfo с использованием цифр, символов и букв латинского алфавита.

Условие billingPayerData Object Блок с персональными данными плательщика. Обязательно, если функция включена для продавца на стороне Платежного шлюза. Обязателен при включенной валидации. См. вложенные параметры.

Ниже приведены параметры блока billingPayerData (персональные данные плательщика). Состав и обязательность параметров зависит от того, является ли плательщик резидентом Республики Беларусь. Резидентство определяется по значению параметра payerIdType:

Для резидентов РБ:

Обязательность Название Тип Описание
Обязательно

billingCountry String [0..50] Страна резидента. Всегда имеет значение BY.
Обязательно

payerBirthday String [1..20] Дата рождения отправителя в формате YYYY-MM-DD.
Обязательно

payerIdNumber String [1..100] Номер предоставленного идентифицирующего документа (например, паспорта) отправителя.
Обязательно

payerLastName String [1..64] Фамилия отправителя.
Обязательно

payerFirstName String [1..35] Имя отправителя.
Обязательно

payerMiddleName String [1..35] Отчество отправителя.
Необязательно

payerIdType String [1..8] Тип предоставленного идентифицирующего документа отправителя.
Возможные значения:
  • IDTP1 - Паспорт
  • IDTP2 - Водительское удостоверение
  • IDTP3 - Социальная карта
  • IDTP4 - ID карта гражданина
  • IDTP5 - Сертификат ведения бизнеса
  • IDTP6 - Сертификат беженца
  • IDTP7 - Вид на жительство
  • IDTP8 - Заграничный паспорт
  • IDTP9 - Официальный паспорт
  • IDTP10 - Временный паспорт
  • IDTP11 - Паспорт моряка
Необязательно

payerIdSeries String [1..100] Серия паспорта отправителя.
Необязательно

mobilePhone Integer [1..20] Номер мобильного телефона отправителя.

Для нерезидентов РБ:

Обязательность Название Тип Описание
Обязательно

billingCountry String [0..50] Страна резидентства клиента. Формат: ISO 3166-1 (двухбуквенный код страны).
Обязательно

payerBirthday String [1..20] Дата рождения отправителя в формате YYYY-MM-DD.
Обязательно

payerLastName String [1..64] Фамилия отправителя.
Обязательно

payerFirstName String [1..35] Имя отправителя.
Условие

payerMiddleName String [1..35] Отчество отправителя. Обязательно, если отчество имеется.
Обязательно

payerIdType String [1..8] Тип предоставленного идентифицирующего документа отправителя. Для нерезидента всегда равен IDTP8.
Необязательно

mobilePhone Integer [1..20] Номер мобильного телефона отправителя.
Необязательно

payerIdNumber String [1..100] Номер предоставленного идентифицирующего документа (например, паспорта) отправителя.
Необязательно

payerIdSeries String [1..100] Серия паспорта отправителя.

Параметры ответа

Обязательность Название Тип Описание
Необязательно

errorCode String [1..2] Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
Необязательно

errorMessage String [1..512] Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
Необязательно

formUrl String [1..512] URL платежной формы, на которую будет перенаправлен покупатель. URL не возвращается, если регистрация заказа не прошла из-за ошибки, указанной в errorCode.
Необязательно

orderId String [1..36] Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.

Примеры

Пример запроса для резидента РБ

curl -X POST 'https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/registerPreAuth.do' \
 -H 'Content-Type: application/x-www-form-urlencoded' \
 -d 'userName=merchant_api_user' \
 -d 'password=merchant_password' \
 -d 'orderNumber=PREAUTH-12345' \
 -d 'amount=50000' \
 -d 'currency=933' \
 -d 'returnUrl=https://merchant.com/success' \
 -d 'billingPayerData.billingCountry=BY' \
 -d 'billingPayerData.payerBirthday=1990-01-15' \
 -d 'billingPayerData.payerIdNumber=1234567890123'

Пример ответа - успех

{
  "orderId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "formUrl": "https://abby.rbsuat.com/paymentpayment/form?mdOrder=a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Пример ответа - ошибка

{
  "errorCode": "118",
  "errorMessage": "Missing required personal data fields"
}

Обработка платежа по заказу

Для обработки платежа с валидацией владения картой для существующего заказа используется запрос https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/paymentorder.do.

Процесс обработки:

Параметры запроса

Обязательность Название Тип Описание
Обязательно

mdOrder String [1..36] Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.
Обязательно

pan String [1..19] Номер платежной карты
Обязательно

cvc String [3] Код CVC/CVV2 на обратной стороне карты зачисления.
Допускаются только цифры.
Обязательно

expiry Integer [6] Срок действия карты в следующем формате: YYYYMM.
Обязательно

cardHolderName String [1..26] Имя держателя карты латинскими буквами.
Необязательно

language String [2] Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.

Параметры ответа

Обязательность Название Тип Описание
Необязательно

success Boolean Основной параметр, который указывает на то, что запрос прошел успешно. Доступны следующие значения:
  • true - запрос успешно обработан;
  • false - запрос не прошел.

Обратите внимание, что значение true означает, что запрос был обработан, а не что заказ был оплачен.
Более подробная информация о том, как узнать, был ли платеж успешным или нет, доступна здесь.
Необязательно

errorCode String [1..2] Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
Необязательно

errorMessage String [1..512] Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
Необязательно

redirect String [1..512] Этот параметр возвращается, если платеж прошел успешно и для платежа не проводилась проверка карты на вовлеченность в 3-D Secure. Продавцы могут использовать его, если хотят перенаправить пользователя на страницу платежного шлюза. Если продавец использует собственную страницу, это значение можно игнорировать.
Необязательно

orderId String [1..36] Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.

Примеры

Пример запроса

curl -X POST 'https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/paymentorder.do' \
 -H 'Content-Type: application/x-www-form-urlencoded' \
 -d 'mdOrder=a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
 -d 'pan=4111111111111111' \
 -d 'cvc=123' \
 -d 'expiry=202512' \
 -d 'cardHolderName=JOHN DOE'

Пример ответа - успех

{
 "success": true,
 "orderId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 "redirect": "https://payment-gateway.com/success"
}

Пример ответа - ошибка

{
 "errorCode": 116,
 "errorMessage": "Card validation failed"
}

Платеж по связке

Для обработки платежа для существующего заказа с использованием сохраненного привязанного ID карты (связки) используется запрос https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/paymentOrderBinding.do.

Персональные данные извлекаются из существующего заказа.

Параметры запроса

Обязательность Название Тип Описание
Обязательно

userName String [1..50] Логин учетной записи API продавца.
Обязательно

password String [1..30] Пароль учетной записи API продавца.
Обязательно

mdOrder String [1..36] Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.
Обязательно

bindingId String [1..255] Идентификатор уже существующей связки (идентификатор карты, токенизированной шлюзом). Его можно использовать, только если у мерчанта есть разрешение на работу со связками. Если этот параметр передается в этом запросе, это означает, что:
  • Этот заказ можно оплатить только с помощью связки;
  • Плательщик будет перенаправлен на страницу оплаты, где требуется только ввод CVC.
Необязательно

ip String [1..39] IP адрес плательщика. IPv6 поддерживается во всех запросах (до 39 символов).
Необязательно

language String [2] Ключ языка по ISO 639-1. Если язык не указан, используется язык по умолчанию, указанный в настройках магазина.
Поддерживаемые языки: ru,en,by,pl.

Параметры ответа

Обязательность Название Тип Описание
Необязательно

success Boolean Основной параметр, который указывает на то, что запрос прошел успешно. Доступны следующие значения:
  • true - запрос успешно обработан;
  • false - запрос не прошел.

Обратите внимание, что значение true означает, что запрос был обработан, а не что заказ был оплачен.
Более подробная информация о том, как узнать, был ли платеж успешным или нет, доступна здесь.
Необязательно

errorCode String [1..2] Информационный параметр в случае ошибки, который может иметь разные кодовые значения:
  • значение 0 - указывает на успех обработки запроса;
  • другое числовое значение (1-99) - указывает на ошибку, для получения более подробной информации о которой необходимо проверить параметр errorMessage.
Может отсутствовать, если результат не вызвал ошибки.
Необязательно

errorMessage String [1..512] Информационный параметр, являющийся описанием ошибки в случае возникновения ошибки. Значение errorMessage может варьироваться, поэтому не следует явным образом ссылаться на его значения в коде.
Язык описания задается в параметре language запроса.
Необязательно

redirect String [1..512] Этот параметр возвращается, если платеж прошел успешно и для платежа не проводилась проверка карты на вовлеченность в 3-D Secure. Продавцы могут использовать его, если хотят перенаправить пользователя на страницу платежного шлюза. Если продавец использует собственную страницу, это значение можно игнорировать.
Необязательно

orderId String [1..36] Номер заказа в платежном шлюзе. Уникален в пределах платежного шлюза.

Примеры

Пример запроса

curl -X POST 'https://abby.rbsuat.com/abby-cardholder-validator/payment/rest/paymentOrderBinding.do' \
 -H 'Content-Type: application/x-www-form-urlencoded' \
 -d 'userName=merchant_api_user' \
 -d 'password=merchant_password' \
 -d 'mdOrder=a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
 -d 'bindingId=550e8400-e29b-41d4-a716-446655440000' \
 -d 'ip=192.168.1.1' \
 -d 'language=en'

Пример ответа - успех

{
 "success": true,
 "orderId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Коды ошибок

Код ошибки Описание Решение
1 Order with this number already registered Используйте уникальный номер заказа
5 Authentication failed Проверьте userName и password
7 Payment declined Свяжитесь с эмитентом карты
116 Card validation failed Проверьте корректность персональных данных и данных карты
117 Invalid personal data Укажите полные и корректные персональные данные
118 Missing required personal data fields Все обязательные поля персональных данных должны быть заполнены (зависит от статуса резидентства)

Статус валидации в атрибутах транзакции

Атрибут транзакции externalServiceCardValidation отображает значение статуса валидации в консоли администратора.


Возможные значения перечислены в таблице ниже.

Статус Описание Когда устанавливается
validated Валидация успешно пройдена Карта принадлежит клиенту (подтверждено внешним сервисом)
not validated Валидация не выполнена или не пройдена Сервис валидации недоступен или карта не принадлежит клиенту
not applicable Валидация не применима BIN карты не входит в диапазоны внешних сервисов - валидатор не найден. Этот статус позволяет отличить карты, для которых валидация не требуется (нет подходящего валидатора), от карт с неуспешной валидацией.

Сообщения об ошибках на ПС

При отклонении платежа на платежной странице Клиента могут отображаться следующие сообщения:

Сценарий Сообщение
Карта не принадлежит клиенту Верификация карты не пройдена. Воспользуйтесь другой картой.
Сервис валидации не доступен Сервис временно недоступен. Попробуйте позже.
BIN карты не входит в диапазоны внешних сервисов - валидатор не найден. Верификация карты не пройдена. Используйте карту другого Банка.

Тестовые данные БелПЦ

Для тестирования взаимодействия с Прокси можно использовать следующие тестовые данные клиентов:

Резидент РБ

9112500000051990
Иванов Иван Иванович, 01.01.2000
Паспорт MP3012345, 5010100C001PB5

Нерезидент РБ

9112500000051925
Jane X Doe, 02.02.2000
Паспорт EC9271036 (латиница), тип документа - 09

Категории:
private support
Категории
Результаты поиска