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

Токенизация

Операция используется для токенизации банковской карты клиента и проведения 3-D Secure проверки. Списания средств с карты не происходит. Используйте полученный токен, чтобы провести оплату или авторизацию.


Запрос

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

Параметр Тип Описание
amount * обязательный
integer Стоимость в минимальных денежных единицах. Например, $32.45 должна быть отправлена как 3245.
currency * обязательный
string Валюта в ISO-4217 формате, например USD.
description * обязательный
string (255) Описание заказа.
tracking_id string (255) ID транзакции или заказа в вашей системе. Пожалуйста, используйте уникальное значение для того, чтобы при запросе статуса транзакции получить актуальную информацию. В противном случае вы получите первую найденную по tracking_id транзакцию.
duplicate_check boolean Параметр управляет процессом проверки входящего запроса на уникальность. Если в течение 30 секунд придет запрос на токенизацию с одинаковыми amount и number, то запрос будет отклонен. По умолчанию, этот параметр имеет значение true.
dynamic_billing_descriptor string динамический идентификатор платежа.
language string Язык вашей страницы оформления заказа. Если параметр установлен и email уведомление о транзакции включено, то bePaid отправит email, язык текста которого будет language. По умолчанию - en. Допустимые значения:

en - Английский
es - Испанский
tr - Турецкий
de - Немецкий
it - Итальянский
ru - Русский
zh - Китайский
fr - Французский
da - Датский
sv - Шведский
no - Норвежский
fi - Финский
pl - Польский
ja - Японский
be - Белорусский
uk - Украинский
ka - Грузинский
ro - Румынский
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 Номер карты, длина - от 12 до 19 цифр.
verification_value * обязательный
string 3-х или 4-х цифровой код безопасности (CVC2, CVV2 или CID, в зависимости от бренда карты).
holder * обязательный
string (32) Имя владельца карты.
exp_month * обязательный
integer Месяц окончания срока действия карты, представленный двумя цифрами (например, 01).
exp_year * обязательный
integer Год срока окончания действия карты, представленный четырьмя цифрами (например, 2007).
token * условно обязательный
string Вместо 5 параметров выше вы можете отправить токен карты, который вы получили в ответе первой оплаты.
three_d_secure object Секция для настройки схемы обработки транзакций с проверкой 3-D Secure 2.0 с расширенным контролем.
advanced boolean Установите значение true, чтобы обрабатывать платежи по схеме с расширенным контролем. Иначе, установите false.
additional_data object Секция, содержащая доплнительную информацию о платеже.
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 вернет токен карты для осуществления операций выплаты средств.
customer * условно обязательный
object Секция информации о покупателе.
Уточните у Службы технической поддержки, необходимо ли передавать параметры данной секции.
ip * условно обязательный
string IP-адрес клиента, производящего оплату в вашем магазине.
email * условно обязательный
string email клиента, производящего оплату в вашем магазине.
device_id * условно обязательный
string ID устройства клиента, производящего оплату в вашем магазине.
birth_date * условно обязательный
string Дата рождения клиента в формате ISO 8601 (YYYY-MM-DD).
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 Название агенства, продавшего билет, например Corel travel.
ticket_number string 14-значный номер билета. Должен содержать 3-значный код билета, 4-значный номер формы, 6-значный серийный номер и контрольное число, например 390 5241 025377 1.
booking_number string Код брони, например DKZVUA.
restricted_ticked_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 Время и дата вылета, например 2014-05-26T05:15:00.
arrival_date_time string Время и дата прибытия, например 2014-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",
      "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":"2020"
      },
      "customer":{
         "ip":"127.0.0.1",
         "email":"john@example.com"
      }
   }
}
Ответ

Параметры ответа копируют параметры запроса за исключением дополнительных:

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

credit_card.
credit_card object
brand * обязательный
string Определенный бренд карты: visa, master, jcb, discover, dinersclub, amex, belkart или unionpay.
product * обязательный
string Карточный продукт: Electron, Classic, Gold, Standard и др.
sub_brand string Название кобренда. Допустимые значения: halva.
last_4 * обязательный
string Последние 4 цифры карты.
first_1 * обязательный
string Первая цифра карты.
stamp * обязательный
string Хэш карты. Постоянная величина, даже если дата окончания действия карты или владелец изменены.
three_d_secure_verification object Блок с результатом проверки 3-D Secure.
tokenization object
message * обязательный
string Сообщение о результате токенизации.
status * обязательный
string Статус токенизации. Допустимые значения: successful, failed.
additional_data object Секция, содержащая доолнительную информацию о платеже.
receipt_text array Текст, который будет добавлен в письмо клиенту.
sub_brand object Секция, содержащая детальную информацию о бренде кредитной карты.
brand string Название кобренда. Допустимые значения: halva.
use_points boolean true - использовать бонусные баллы, false - не использовать бонусные баллы. Параметр характерен для brand со значение halva.
Пример ответа
{
   "transaction":{
      "customer":{
         "ip":"127.0.0.1",
         "email":"john@example.com"
      },
      "credit_card":{
         "holder":"John Doe",
         "stamp":"3709786942408b77017a3aac8390d46d77d181e34554df527a71919a856d0f28",
         "token":"40bd001563085fc35165329ea1ff5c5ecbdbbeef40bd001563085fc35165329e",
         "brand":"visa",
         "product":"Gold",
         "last_4":"0000",
         "first_1":"4",
         "exp_month":5,
         "exp_year":2015
      },
      "additional_data":{
         "receipt_text":["First line", "Second line"]
      },
      "billing_address":{
         "first_name":"John",
         "last_name":"Doe",
         "address":"1st Street",
         "country":"US",
         "city":"Denver",
         "zip":"96002",
         "state":"CO",
         "phone":null
      },
      "three_d_secure_verification":{
      "eci":"6",
      "pa_status":"Y",
      "xid":null,
      "cavv":null,
      "cavv_algorithm":null,
      "fail_reason":null,
      "ve_status":"Y",
      "message":"Authentication Successful",
      "status":"successful"
      },
      "tokenization":{
         "message":"The operation was successfully processed.",
         "status":"successful"
      },
      "uid":"4107-310b0da80b",
      "status":"successful",
      "message":"Successfully processed",
      "amount":100,
      "currency":"USD",
      "description":"Test order",
      "type":"tokenization",
      "tracking_id":"your_uniq_number",
      "language":"en"
   }
}