Перейти к содержанию

Оплата

Транзакция оплаты - это одновременное сочетание авторизации и списания средств. Этот тип транзакций обычно используется когда товары или услуги могут быть немедленно предоставлены покупателю.

Info

Требуется наличие PCI DSS сертификата, чтобы использовать данную транзакцию и обрабатывать не шифрованные данные карты.


Запрос

Отправьте POST запрос на https://gateway.bepaid.by/transactions/payments со следующими параметрами:

Параметр Тип Описание
amount * обязательный
bigInteger Стоимость в минимальных денежных единицах. Например, $32.45 должна быть отправлена как 3245.
currency * обязательный
string Валюта в ISO-4217 формате, например USD.
description * обязательный
string (255) Описание заказа.
tracking_id string (255) ID транзакции или заказа в вашей системе. Пожалуйста, используйте уникальное значение для того, чтобы при запросе статуса транзакции получить актуальную информацию. В противном случае вы получите первую найденную по tracking_id транзакцию. В параметре может быть отправлено несколько значений, разделенных символом ;. Например: "cbe59142-90af-4aea-b5a5-5bf3f66cf3da;f7883cb9-0e26-43a7-beb7-4027cb55d1a6;4a6a89d5-6950-400f". Если в запросе было передано более одного значения tracking_id, поиск транзакции в личном кабинете может быть осуществлен по любому из них.
expired_at string Время в формате ISO 8601, до которого должен быть совершен платеж. Формат: YYYY-MM-DDThh:mm:ssTZD, где YYYY – год (например, 2023), MM – месяц (например, 02), DD – день (например, 09), hh – часы (например, 18), mm – минуты (например, 20), ss – секунды (например, 45), TZD – часовой пояс (+hh:mm или –hh:mm относительно UTC). Если в указанный момент транзакция всё ещё не будет оплачена, она будет переведён в статус expired.
duplicate_check boolean Параметр управляет процессом проверки входящего запроса на уникальность. Если true, то повторный запрос на оплату с таким же amount и number или token, отправленный в течение 30 секунд после первого запроса, будет отклонен. По умолчанию, этот параметр имеет значение true.
dynamic_billing_descriptor string Динамический идентификатор платежа.
language string Язык вашей страницы оформления заказа. Если параметр установлен и email уведомление о транзакции включено, то bePaid отправит email, язык текста которого будет language. По умолчанию - en. Доступные значения параметра language.
notification_url string URL, на который будут приходить уведомления. Формат запроса уведомления аналогичен формату ответа транзакции.
verification_url string URL, на который будут приходить запрос на подтверждение транзакции. Формат запроса на подтверждение аналогичен формату ответа транзакции.
return_url * условно обязательный
string URL на стороне торговца, на который bePaid будет перенаправлять покупателя после возврата с 3-D Secure проверки. Параметр обязателен, если 3-D Secure включен. Обратитесь к менеджеру за информацией.
test boolean Транзакция будет тестовой, если значение true.
credit_card object
number * обязательный
string (19) Номер карты.
verification_value * условно обязательный
string 3-х или 4-х цифровой код безопасности (CVC2, CVV2 или CID, в зависимости от бренда карты).
Может быть отправлен вместе с параметром token и bePaid доставит банку-эквайеру данные карты с CVC2/CVV2/CID. Обязательность параметра зависит от требований эквайера и настроек магазина.
holder * условно обязательный
string (35) Имя владельца карты. Максимальная длина: 35 символов. Параметр опционален в системе bePaid, но может требоваться банком-эквайером.
exp_month * обязательный
string (2) Месяц окончания срока действия карты, представленный одной или двумя цифрами (например, 01).
exp_year * обязательный
string (4) Год окончания срока действия карты, представленный четырьмя цифрами (например, 2026).
token * условно обязательный
string Вместо 5 параметров выше можно отправить токен карты, который был получен в ответе первой оплаты.
Если используется токен карты, то необходимо обязательно указывать параметр additional_data.contract
skip_three_d_secure_verification boolean Параметр используется, если вы хотите, чтобы покупатель не проходил авторизацию по протоколу 3-D ­Secure. Уточните у службы технической поддержки, можете ли вы использовать этот параметр.
Если значение параметра - true, bePaid не применяет 3-D Secure проверку к транзакции оплаты. По умолчанию, false.
Параметр force_three_d_secure_verification имеет больший приоритет, чем параметр skip_three_d_secure_verification, когда оба переданы со значением true.
Значение игнорируется, если к транзакции применено правило Умной Маршрутизации с действием Force 3ds или Skip 3ds.
force_three_d_secure_verification boolean Параметр используется, если вы хотите, чтобы покупатель проходил авторизацию по протоколу 3-D ­Secure. Уточните у службы технической поддержки, можете ли вы использовать этот параметр.
Если значение параметра - true, bePaid принудительно применяет 3-D Secure проверку к транзакции оплаты. По умолчанию, установлено значение false.
Параметр force_three_d_secure_verification имеет больший приоритет, чем параметр skip_three_d_secure_verification, когда оба переданы со значением true.
Значение игнорируется, если к транзакции применено правило Умной Маршрутизации с действием Force 3ds или Skip 3ds.
three_d_secure object Секция для настройки схемы обработки транзакций с проверкой 3-D Secure 2.0 с расширенным контролем.
advanced boolean Установите значение true, чтобы обрабатывать платежи по схеме с расширенным контролем. В противном случае установите false.
additional_data object Секция, содержащая дополнительную информацию о платеже.
p2p object Секция для работы с AFT транзакциями.
service_id * условно обязательный
string Параметр обязателен для AFT транзакций. Значение параметра уточните у вашего менеджера.
service_extension * условно обязательный
string Значение параметра уточните у вашего менеджера.
excluded_gateways array Массив для работы с каскадными платежами.
masterpass object Секция для работы с сервисом Masterpass.
params object Секция для параметров Masterpass.
session string id пользовательской сессии.
sub_brand object Секция, содержащая детальную информацию о бренде кредитной карты.
brand string Название кобренда. Допустимые значения: halva.
use_points boolean true - использовать бонусные баллы, false - не использовать бонусные баллы. Параметр характерен для brand со значением halva.
receipt_text array Текст, который будет добавлен в письмо покупателю. Должен быть представлен массивом строк, например, ["Первая строка", "Вторая строка"].
contract array Массив, элементами которого могут быть параметры:

recurring - bePaid вернет токен карты для осуществления последующих платежей без повторного ввода реквизитов карты. Покупатель, соглашаясь с условиями регулярного списания, единожды производит оплату, вводя реквизиты карты, включая проверочный код карты CVC/CVV и проходя авторизацию по протоколу 3-D ­Secure;

oneclick - bePaid вернет токен карты для осуществления последующих платежей по схеме oneclick, когда на странице оплаты будут уже частично заполнены реквизиты карты, а покупателю для завершения оплаты достаточно ввести проверочный код карты CVC/CVV и пройти авторизацию по протоколу 3-D ­Secure;

credit - bePaid вернет токен карты для осуществления транзакций выплаты средств;

card_on_file - bePaid вернет токен карты, чтобы сохранить ее в профиле покупателя в вашем сервисе или приложении, и использовать этот токен для последующих транзакций по снятию денег с карты за оказанные услуги или проданные товары. Ознакомьтесь ниже с секцией card_on_file, чтобы узнать, какие есть сценарии использования данного значения. Опция card_on_file в транзакции Оплата работает не со всеми эквайерами. Если вы хотите использовать card_on_file, свяжитесь со своим аккаунт менеджером.
avs_cvc_verification object AVS/CVC проверка.
card_on_file object Данная секция устанавливает атрибуты, связанные с хранением данных карты в профиле покупателя. Если секция не передана, то для initiator и type будут использованы значения по умолчанию.
initiator string merchant - (по умолчанию) транзакция инициирована вашей системой или приложением (например, оплата за поездку в такси)

customer - транзакция инициирована покупателем (например, покупатель сам нажал кнопку оплатить сохраненной картой в вашем приложении).
type string Используется, только если additional_data.card_on_file.initiator имеет значение merchant.

Возможные значения:
delayed_charge - (по умолчанию) предоплата (например, за оказанную услугу);

increment - дополнительное списание суммы (например, при допродаже товара или замене на более дорогой товар);

resubmission - повторная попытка списать деньги из-за предыдущего отказа в транзакции (например, было недостаточно средств на карте);

reauthorization - повторная авторизация (например, нужно перезаблокировать деньги на карте в связи с истечением срока авторизации предыдущей транзакции);

no_show - списание средств в случае неявки покупателя(например, покупатель не заехал в отель).
browser object Параметры браузера. Параметры из секции передаются только при использовании 3DS 2.0.
accept_header string Значение HTTP-заголовка Accept запроса от браузера покупателя.
screen_width integer Ширина экрана в пикселях. Соответствует параметру screen.width в JavaScript.
screen_height integer Высота экрана в пикселях. Соответствует параметру screen.height в JavaScript.
screen_color_depth integer Глубина цвета экрана в битах на пиксель. Соответствует параметру screen.colorDepth в JavaScript. Возможные значения:

1 - 1 bit
4 - 4 bits
8 - 8 bits
15 - 15 bits
16 - 16 bits
24 - 24 bits
32 - 32 bits
48 - 48 bits.
window_width integer Размер окна браузера по горизонтали в пикселях. Соответствует параметру document.body.clientWidth в JavaScript.
window_height integer Размер окна браузера по вертикали в пикселях. Соответствует параметру document.body.clientHeight в JavaScript.
language string Язык навигатора. Соответствует параметру navigator.language в JavaScript.
java_enabled boolean Параметр показывает, включен ли java в текущем браузере или нет. Соответствует параметру navigator.javaEnabled() в JavaScript.
user_agent string Строка агента пользователя текущего браузера. Соответствует параметру navigator.userAgent в JavaScript.
time_zone integer Смещение часового пояса относительно часового пояса UTC в минутах для текущей локали. Соответствует параметру new Date().getTimezoneOffset() в JavaScript.
time_zone_name string Название часового пояса. Соответствует параметру Intl.DateTimeFormat().resolvedOptions().timeZone в JavaScript.
customer * условно обязательный
object Секция информации о покупателе.
Уточните у службы технической поддержки, необходимо ли передавать параметры данной секции.
ip * условно обязательный
string IP-адрес покупателя, производящего оплату в вашем магазине.
email * условно обязательный
string email покупателя, производящего оплату в вашем магазине.
device_id * условно обязательный
string ID устройства покупателя, производящего оплату в вашем магазине.
birth_date * условно обязательный
string Дата рождения покупателя в формате ISO 8601 YYYY-MM-DD.
taxpayer_id * условно обязательный
string Идентификационный номер налогоплательщика (ИНН), присвоенный покупателю.
billing_address object Секция информации об адресе покупателя. Узнайте у службы поддержки, должны ли вы отправлять параметры этой секции.
first_name * условно обязательный
string (30) Имя покупателя.
last_name * условно обязательный
string (30) Фамилия покупателя.
country * условно обязательный
string Страна покупателя в формате ISO 3166-1 alpha-2.
city * условно обязательный
string (60) Город покупателя.
state * условно обязательный
string Двухбуквенная аббревиатура штата, если страна покупателя US или CA.
zip string Почтовый индекс покупателя. Для country=US, формат почтового индекса должен иметь вид NNNNN или NNNNN-NNNN.
address * условно обязательный
string (255) Адрес покупателя.
phone * условно обязательный
string (100) Номер телефона покупателя.
travel object Необязательная секция, предоставляющая расширенную информацию о продаже авиабилетов, туристических путевок и т.д.
airline object Необязательная секция, содержащая расширенную информацию о проданном авиабилете.
agency_code string IATA код агентства, например 03.
agency_name string Название агентства, продавшего билет, например, Coral travel.
ticket_number string 14-значный номер билета. Должен содержать 3-значный код билета, 4-значный номер формы, 6-значный серийный номер и контрольное число, например 390 5241 025377 1.
booking_number string Код брони, например, DKZVUA.
restricted_ticket_indicator string Если билет можно вернуть - 0. Если вернуть нельзя - 1.
legs array Список перелетов, каждый элемент которого состоит из:
airline_code string 2-символьный IATA код авиакомпании, например, B2.
stop_over_code string IATA код длительности пересадки. Если пересадка больше 24 часов, то значение параметра O или пусто. Если аэропорт является транзитным, то значение параметра X.
flight_number string Номер рейса, например, A3 971.
departure_date_time string Время и дата вылета, наприме, 2024-05-26T05:15:00.
arrival_date_time string Время и дата прибытия, например, 2024-05-26T07:30:00.
originating_country string Страна вылета, например, RU.
originating_city string Город вылета, например, Moscow.
originating_airport_code string 3-значный код аэропорта вылета, например, DME.
destination_country string Страна прилета, например, Greece.
destination_city string Город прилета, например, Athens.
destination_airport_code string 3-значный код аэропорта прилета, например, ATH.
coupon string Номер скидочного купона, если был применен.
class string Класс полета, 1-значный IATA код, например, C.
passengers array Список пассажиров, каждый элемент которого состоит из:
first_name string Имя пассажира, например, KONSTANTIN.
last_name string Фамилия пассажира, например, IVANOV.
Пример запроса
{
  "request":{
      "amount":100,
      "currency":"USD",
      "description":"Test transaction",
      "tracking_id":"your_uniq_number",
      "language":"en",
      "test":true,
      "billing_address":{
        "first_name":"John",
        "last_name":"Doe",
        "country":"US",
        "city":"Denver",
        "state":"CO",
        "zip":"96002",
        "address":"1st Street"
      },
      "credit_card":{
        "number":"4200000000000000",
        "verification_value":"123",
        "holder":"John Doe",
        "exp_month":"05",
        "exp_year":"2026"
      },
      "customer":{
        "ip":"127.0.0.1",
        "email":"john@example.com"
      }
  }
}
Пример запроса с токеном карты
{
  "request":{
      "amount":100,
      "currency":"USD",
      "description":"Test transaction",
      "tracking_id":"your_uniq_number",
      "test":true,
      "billing_address":{
        "first_name":"John",
        "last_name":"Doe",
        "country":"US",
        "city":"Denver",
        "state":"CO",
        "zip":"96002",
        "address":"1st Street"
      },
      "credit_card":{
        "token":"40bd001563085fc35165329ea1ff5c5ecbdbbeef40bd001563085fc35165329e"
      },
      "customer":{
        "ip":"127.0.0.1",
        "email":"john@example.com"
      }
  }
}
Пример запроса c кобрендом halva
{
  "request":{
      "amount":100,
      "currency":"USD",
      "description":"Test transaction",
      "tracking_id":"your_uniq_number",
      "language":"en",
      "test":true,
      "billing_address":{
        "first_name":"John",
        "last_name":"Doe",
        "country":"US",
        "city":"Denver",
        "state":"CO",
        "zip":"96002",
        "address":"1st Street"
      },
      "credit_card":{
        "number":"4200000000000000",
        "verification_value":"123",
        "holder":"John Doe",
        "exp_month":"05",
        "exp_year":"2026"
      },
      "additional_data":{
        "sub_brand":{
          "brand": "halva",
          "use_points": false
        }
      },
      "customer":{
        "ip":"127.0.0.1",
        "email":"john@example.com"
        }
      }
  }
Пример запроса с дополнительным текстом
{
  "request":{
      "amount":100,
      "currency":"USD",
      "description":"Test transaction",
      "tracking_id":"your_uniq_number",
      "language":"en",
      "test":true,
      "billing_address":{
        "first_name":"John",
        "last_name":"Doe",
        "country":"US",
        "city":"Denver",
        "state":"CO",
        "zip":"96002",
        "address":"1st Street"
      },
      "credit_card":{
        "number":"4200000000000000",
        "verification_value":"123",
        "holder":"John Doe",
        "exp_month":"05",
        "exp_year":"2026"
      },
      "additional_data":{
        "receipt_text": ["First line", "Second Line"]
      },
      "customer":{
        "ip":"127.0.0.1",
        "email":"john@example.com"
      }
  }
}
Пример запроса с информацией о продаже авиабилетов и тур путевок
{
  "request":{
    "amount":100,
    "currency":"USD",
    "description":"Test transaction",
    "tracking_id":"your_uniq_number",
    "test":true,
    "billing_address":{
      "first_name":"John",
      "last_name":"Doe",
      "country":"US",
      "city":"Denver",
      "state":"CO",
      "zip":"96002",
      "address":"1st Street"
      },
    "credit_card":{
      "token":"40bd001563085fc35165329ea1ff5c5ecbdbbeef40bd001563085fc35165329e"
    },
    "customer":{
      "ip":"127.0.0.1",
      "email":"john@example.com"
    },
    "travel": {
      "airline": {
        "agency_code": "03",
        "agency_name": "Corel travel",
        "ticket_number": "390 5241 025377 1",
        "booking_number": "DKZVUA",
        "restricted_ticket_indicator": "0",
        "legs": [
          {
            "airline_code": "B2",
            "stop_over_code": "X",
            "flight_number": "A3 971",
            "departure_date_time": "2014-05-26T05:15:00",
            "arrival_date_time": "2014-05-26T07:30:00",
            "originating_country": "RU",
            "originating_city": "Moscow",
            "originating_airport_code": "DME",
            "destination_country": "Greece",
            "destination_city": "Athems",
            "destination_airport_code": "ATH",
            "coupon": "coupon code",
            "class": "C"
          }
        ],
        "passengers":[
          {
            "first_name": "KONSTANTIN",
            "last_name": "IVANOV"
          },
          {
            "first_name": "JULIA",
            "last_name": "IVANOVA"
          }
        ]
      }
    }
  }
}
Ответ

Ответ будет содержать те же параметры, что и запрос, а также дополнительные параметры:

Параметр Тип Описание
transaction object
uid * обязательный
string UID обработанной транзакции.
status * обязательный
string Статус обработанной транзакции.
message * обязательный
string Сообщение с результатом запроса.
type * обязательный
string Тип транзакции.
tracking_id * обязательный
string Значение параметра tracking_id из запроса.
language * обязательный
string Значение параметра language из запроса или en, если параметр не был передан.
payment_method_type * обязательный
string Способ оплаты, используется для завершения транзакции:

credit_card.
credit_card object
brand * обязательный
string Определенный бренд карты.
product * обязательный
string Код типа карточного продукта.
sub_brand string Название кобренда. Допустимые значения: halva
last_4 * обязательный
string Последние 4 цифры карты.
first_1 * обязательный
string Первая цифра карты.
bin * обязательный
string (6) Шестизначный банковский идентификационный номер. Первые 6 цифр номера карты.
bin_8 * обязательный
string (8) Восьмизначный банковский идентификационный номер. Первые 8 цифр номера карты. Значение возвращается для карт Visa, Mastercard, Maestro, Halva, БЕЛКАРТ, МИР и соответствующих кобрендинговых карт. Для брендов других платежных карт значение параметра – null.
issuer_country * обязательный
string (2) Страна банка, выпустившего карту в формате ISO 3166-1 alpha-2.
issuer_name * обязательный
string Название банка, выпустившего карту.
stamp * обязательный
string Хэш карты. Постоянная величина, даже если дата окончания действия карты или владелец изменены.
token * обязательный
string Токен карты. Позволяет сохранять данные покупателей и производить оплату, когда они делают покупку или вы возобновляете свои услуги.
token_provider * обязательный
string Определенный провайдер токена. Возможные значения или null.
receipt_url * обязательный
string Ссылка на квитанцию обработанной транзакции.
additional_data object Секция, содержащая дополнительную информацию о платеже.
masterpass object Секция для работы с сервисом Masterpass.
params object Секция для параметров Masterpass.
session string ID пользовательской сессии.
result string Результат транзакции в Masterpass.
status string Статус ответа: successful, failed.
message string Сообщение о результате транзакции в Masterpass, сгенерированное bePaid.
error string Сообщение о причине ошибки в Masterpass, сгенерированное bePaid. Возвращается в случае ошибки.
error_message string Сообщение об ошибке, сгенерированное Masterpass. Возвращается в случае ошибки.
error_code string Код ошибки, сгенерированный Masterpass. Возвращается в случае ошибки.
token string Токен карты в системе Masterpass. Возвращается в случае сохранения карты.
sub_brand object Секция, содержащая детальную информацию о бренде кредитной карты.
brand string Название кобренда. Допустимые значения: halva
use_points boolean true - использовать бонусные баллы, false - не использовать бонусные баллы. Параметр характерен для brand со значением halva.
receipt_text array Текст, который будет добавлен в письмо покупателю.
payment object
auth_code * обязательный
string Код авторизации, предоставленный эквайером.
bank_code * обязательный
string Код ответа транзакции в банковской системе.
rrn * обязательный
string Номер транзакции в международной платёжной системе. Id транзакции, выданный сетью обработки карт.
ref_id * обязательный
string Номер транзакции в системе банка.
message * обязательный
string Сообщение от системы банка.
billing_descriptor * обязательный
string Идентификатор платежа, назначенный транзакции.
status * обязательный
string Статус обработанной банком-эквайером транзакции.
redirect_url * обязательный
string URL страницы для завершения транзакции.

Если параметр status имеет значение incomplete, перенаправьте покупателя на этот URL для прохождения проверки 3-D Secure.
code * обязательный
string Код обработки транзакции.
friendly_message * обязательный
string Сообщение для покупателя с описанием кода ошибки из параметра code.
avs_cvc_verification object Необязательный блок с результатом проверки AVS/CVC
smart_routing_verification object Секция с данными о прохождении проверок транзакции сервисом Умная Маршрутизация.
status string Статус обработки транзакции сервисом.
Пример ответа
{
  "transaction": {
    "uid": "12803315-c061-4f8d-8f42-4abaf3f8319d",
    "status": "successful",
    "amount": 492,
    "currency": "EUR",
    "description": "Test transaction",
    "type": "payment",
    "payment_method_type": "credit_card",
    "tracking_id": "your_uniq_number",
    "message": "Successfully processed",
    "test": true,
    "created_at": "2024-04-02T12:47:26.818Z",
    "updated_at": "2024-04-02T12:47:30.960Z",
    "paid_at": "2024-04-02T12:47:30.909Z",
    "expired_at": null,
    "recurring_type": "initial",
    "closed_at": null,
    "settled_at": null,
    "manually_corrected_at": null,
    "language": "en",
    "credit_card": {
      "holder": "John Doe",
      "stamp": "bb58cad9c1204ca2287b3e1006cc1a2c0fb8f062dde9e5232c8be5498bd0e62a",
      "brand": "visa",
      "last_4": "1097",
      "first_1": "4",
      "bin": "401200",
      "bin_8": "40120000",
      "issuer_country": null,
      "issuer_name": null,
      "product": null,
      "exp_month": 7,
      "exp_year": 2026,
      "token_provider": null,
      "token": "10f43f34-5a34-430a-afd7-affe77ed5c90"
    },
    "receipt_url": "https://merchant.bepaid.by/customer/transactions/12803315-c061-4f8d-8f42-4abaf3f8319d/6392098201d357893deef7eb11270e863da7004ebfcd27bdb3235280e90ebf99?language=en",
    "status_code": null,
    "gateway": {
      "iframe": true
    },
    "mute_notifications": null,
    "id": "12803315-c061-4f8d-8f42-4abaf3f8319d",
    "additional_data": {
      "contract": [
        "recurring"
      ]
    },
    "redirect_url": "https://gateway.bepaid.by/process/12803315-c061-4f8d-8f42-4abaf3f8319d",
    "code": "S.0000",
    "friendly_message": "The operation is successful.",
    "smart_routing_verification": {
      "status": "successful"
    },
    "payment": {
      "auth_code": "654321",
      "bank_code": "05",
      "rrn": "999",
      "ref_id": "777888",
      "message": "Payment was approved",
      "amount": 492,
      "currency": "EUR",
      "billing_descriptor": "test descriptor",
      "gateway_id": 3483,
      "status": "successful"
    },
    "customer": {
      "ip": null,
      "email": null,
      "device_id": null,
      "birth_date": null
    },
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "address": "1st Street",
      "country": "US",
      "city": "Denver",
      "zip": "96002",
      "state": "CO",
      "phone": null
    }
  }
}
Пример ответа в случае, если требуется 3-D Secure проверка
{
  "transaction": {
    "uid": "c37c2df6-707e-4e49-bc0f-1c0a1800a238",
    "status": "incomplete",
    "amount": 492,
    "currency": "EUR",
    "description": "Test transaction",
    "type": "payment",
    "payment_method_type": "credit_card",
    "tracking_id": "your_uniq_number",
    "message": null,
    "test": true,
    "created_at": "2024-04-02T13:44:22.590Z",
    "updated_at": "2024-04-02T13:44:24.802Z",
    "paid_at": null,
    "expired_at": null,
    "recurring_type": "initial",
    "closed_at": null,
    "settled_at": null,
    "manually_corrected_at": null,
    "language": "en",
    "credit_card": {
      "holder": "John Doe",
      "stamp": "bb58cad9c1204ca2287b3e1006cc1a2c0fb8f062dde9e5232c8be5498bd0e62a",
      "brand": "visa",
      "last_4": "1097",
      "first_1": "4",
      "bin": "401200",
      "bin_8": "40120000",
      "issuer_country": null,
      "issuer_name": null,
      "product": null,
      "exp_month": 7,
      "exp_year": 2026,
      "token_provider": null,
      "token": "34577a72-ed65-4b0c-85a1-f62262f54af6"
    },
    "receipt_url": "https://merchant.bepaid.by/customer/transactions/c37c2df6-707e-4e49-bc0f-1c0a1800a238/571fddcc764f75f0daad3acb746d46a80c4112e51d43eda8538aa1b27597120e?language=en",
    "status_code": null,
    "gateway": {
      "iframe": true
    },
    "mute_notifications": null,
    "id": "c37c2df6-707e-4e49-bc0f-1c0a1800a238",
    "additional_data": {
      "contract": [
        "recurring"
      ]
    },
    "redirect_url": "https://gateway.bepaid.by/process/c37c2df6-707e-4e49-bc0f-1c0a1800a238",
    "code": "P.4012",
    "friendly_message": "Redirect to pass 3-D Secure verification.",
    "smart_routing_verification": {
      "status": "successful"
    },
    "three_d_secure_verification": {
      "status": "incomplete",
      "message": "Authentication Available",
      "ve_status": "Y",
      "acs_url": null,
      "pa_req": null,
      "md": null,
      "pa_res_url": "https://gateway.bepaid.by/process/c37c2df6-707e-4e49-bc0f-1c0a1800a238",
      "eci": null,
      "pa_status": null,
      "xid": null,
      "cavv": null,
      "cavv_algorithm": null,
      "fail_reason": null,
      "method_process_url": null,
      "creq": null
    },
    "payment": {
      "auth_code": null,
      "bank_code": null,
      "rrn": null,
      "ref_id": null,
      "message": null,
      "amount": 492,
      "currency": "EUR",
      "billing_descriptor": null,
      "gateway_id": 3483,
      "status": "incomplete"
    },
    "customer": {
      "ip": null,
      "email": null,
      "device_id": null,
      "birth_date": null
    },
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "address": "1st Street",
      "country": "US",
      "city": "Denver",
      "zip": "96002",
      "state": "CO",
      "phone": null
    }
  }
}