Токенизация
Операция используется для токенизации банковской карты клиента и проведения 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"
}
}