Visa Token Service
Visa Token Service, технология Visa, разработанная для повышения безопасности платежей и защиты информации о карте. Она подменяет чувствительные данные на уникальный токен.
Торговцы, поставщики платежных услуг и банки-эквайеры могут больше не хранить карточные данные покупателей, а использовать для приема платежа глобальный токен от Visa. Номера карт покупателей будут храниться только в Visa и банке-эмитенте. Такая мера значительно снижает риск перехвата карточных данных злоумышленниками и компрометации карточных данных в целом.
При токенизации карты в Visa Token Service, покупатель получит SMS-уведомление при условии, что опция SMS-оповещения была активирована для его карты.
Пример данных c TAVV криптограммой, полученных от Visa Token Service
{
"vPaymentDataID": "54df012448e3a441b3f714bd56d8eb02",
"paymentInstrument": {
"last4": "0044",
"paymentType": {
"cardBrand": "VISA"
},
"paymentAccountReference": "V0010013020315513942420893974"
},
"tokenInfo": {
"encTokenInfo": "eyJhbGciOiJBMjU2RNN0S1ciLCJpdiI6ImpqU2tyZVhhVmNwckJiX2kiLCJ0YWciOiJoMVAyZUhyQ18zWWZieHRRMlNQakF3IiwiZW5jIjoiQTI1NkdDTSIsInR5cCI6IkpPU0UiLCJraWQiOiI3UE80T1hQVEhJS1czQjNJMUdTTzEzMWU5MGVZcC1sUExtZXRmSXBPbVltVndfTDVJIiwiY2hhbm5lbFNlY3VyaXR5Q29udGV4dCI6IlNIQVJFRF9TRUNSRVQiLCJpYXQiOiIxNjMwMDY2NDQ2In0.FY-AA_658fhzqk5w6jolQcPM_9JUfZa2V-nd3coZl7Q.zwrsFTOjYFMzCq81.iIgOnxfCY55n2eG6wpo6j9UPYoXJLa3H4Z92ug.FNG_yuGFnz_WiD3JhLSWSQ",
"last4": "0887",
"expirationDate": {
"month": "12",
"year": "2025"
}
},
"cryptogramInfo": {
"cryptogram": "AgAAABB6qqnJd0oAmbuXgu8AAAA=",
"eci": "07",
"atc": "31402"
}
}
Пример данных c CTAVV криптограммой, полученных от Visa Token Service
{
"vPaymentDataID": "54df012448e3a441b3f714bd56d8eb02",
"paymentInstrument": {
"last4": "0044",
"paymentType": {
"cardBrand": "VISA"
},
"paymentAccountReference": "V0010013020315513942420893974"
},
"tokenInfo": {
"encTokenInfo": "eyJhbGciOiJBMjU2RNN0S1ciLCJpdiI6ImpqU2tyZVhhVmNwckJiX2kiLCJ0YWciOiJoMVAyZUhyQ18zWWZieHRRMlNQakF3IiwiZW5jIjoiQTI1NkdDTSIsInR5cCI6IkpPU0UiLCJraWQiOiI3UE80T1hQVEhJS1czQjNJMUdTTzEzMWU5MGVZcC1sUExtZXRmSXBPbVltVndfTDVJIiwiY2hhbm5lbFNlY3VyaXR5Q29udGV4dCI6IlNIQVJFRF9TRUNSRVQiLCJpYXQiOiIxNjMwMDY2NDQ2In0.FY-AA_658fhzqk5w6jolQcPM_9JUfZa2V-nd3coZl7Q.zwrsFTOjYFMzCq81.iIgOnxfCY55n2eG6wpo6j9UPYoXJLa3H4Z92ug.FNG_yuGFnz_WiD3JhLSWSQ",
"last4": "0887",
"expirationDate": {
"month": "12",
"year": "2025"
}
},
"cryptogramInfo": {
"ctavvCryptogram": "AgAAAAHHHZ/09IEAmbuXgh4AAAA=",
"eci": "05",
"cryptogramExpirationDate": "2077-09-27T17:06:09.000Z"
}
}
Оплата с данными, полученными от Visa Token Service
Запрос
Система bePaid позволяет использовать данные, полученные от Visa Token Service, для проведения транзакций типа оплата и авторизация.
Для того, чтобы совершить платеж и получить результат операции, выполните следующие шаги:
-
Расшифруйте значение
encTokenInfo
и добавьте его в JSON как значение ключаtoken
параметраdecTokenInfo
объектаtokenInfo
. -
Отправьте полученный результат как значение параметра
request.credit_card.token
в формате$begateway_vts_decrypted_1_0_0$<base64_Visa Token Service Data_here>
, где<base64_Visa Token Service Data_here>
- это JSON, полученный на шаге 1, вBase64-strict
формате.
Пример JSON с расшифрованным токеном
{
"vPaymentDataID": "54df012448e3a411b3f714bd56d8eb02",
"paymentInstrument": {
"last4": "0044",
"paymentType": {
"cardBrand": "VISA"
},
"paymentAccountReference": "V0010013020315513942420883974"
},
"tokenInfo": {
"encTokenInfo": "eyJhbGciOiJBMjU2R0NNS1ciLCJpdiI6ImpqU2tyZVhhVmNwckJiX2kiLCJ0YWciOiJoMVAyZUhyQ18zWWZieHRRMlNQakF3IiwiZW5jIjoiQTI1NkdDTSIsInR5cCI6IkpPU0UiLCJraWQiOiI3UE80T1hQVEhJS1czQjNJMUdTTzEzMWU5MGVZcC1sUExtZXRmSXBPbVltVndfTDVJIiwiY2hhbm5lbFNlY3VyaXR5Q29udGV4dCI6IlNIQVJFRF9TRUNSRVQiLCJpYXQiOiIxNjMwMDY2NDQ2In0.FY-AA_658fhzqk5w6jolQcPM_9JUfZa2V-nd3coZl7Q.zwrsFTOjYFMzCq81.iIgOnxfCY55n2eG6wpo6j9UPYoXJLa3H4Z92ug.FNG_yuGFnz_WiD3JhLSWSQ",
"last4": "0887",
"expirationDate": {
"month": "12",
"year": "2025"
},
"decTokenInfo": {
"token": "4417329760000887"
}
},
"cryptogramInfo": {
"cryptogram": "AgAAAAB6qqnJd0oAmbuXgu8AAAA=",
"eci": "07",
"atc": "31402"
}
}
Пример запроса
{
"request":{
"amount":100,
"currency":"USD",
"description":"VTS test transaction",
"tracking_id":"your_uniq_number",
"credit_card":{
"token": "$begateway_vts_decrypted_1_0_0$fn5anNvbgp7CiAgInZQYXltZW50RGF0YUlEIjogIjU0ZGYwMTI0NDhlM2E0MTFiM2Y3MTRiZDU2ZDhlYjAyIiwKICAiY3J5cHRvZ3JhbUluZm8iOiB7CiAgICAiY3J5cHRvZ3JhbSI6ICJbRklMVEVSRURdIiwKICAgICJlY2kiOiAiMDciLAogICAgImF0YyI6ICIzMTQwMiIKICB9LAogICJwYXltZW50SW5zdHJ1bWVudCI6IHsKICAgICJsYXN0NCI6ICIwMDQ0IiwKICAgICJwYXltZW50VHlwZSI6IHsKICAgICAgImNhcmRCcmFuZCI6ICJWSVNBIgogICAgfSwKICAgICJwYXltZW50QWNjb3VudFJlZmVyZW5jZSI6ICJWMDAxMDAxMzAyMDMxNTUxMzk0MjQyMDg4Mzk3NCIKICB9LAogICJ0b2tlbkluZm8iOiB7CiAgICAiZW5jVG9rZW5JbmZvIjogImV5SmhiR2NpT2lKQk1qVTJSME5OUzFjaUxDSnBkaUk2SW1wcVUydHlaVmhoVm1Od2NrSmlYMmtpTENKMFlXY2lPaUpvTVZBeVpVaHlRMTh6V1daaWVIUlJNbE5RYWtGM0lpd2laVzVqSWpvaVFUSTFOa2REVFNJc0luUjVjQ0k2SWtwUFUwVWlMQ0pyYVdRaU9pSTNVRTgwVDFoUVZFaEpTMWN6UWpOSk1VZFRUekV6TVdVNU1HVlpjQzFzVUV4dFpYUm1TWEJQYlZsdFZuZGZURFZKSWl3aVkyaGhibTVsYkZObFkzVnlhWFI1UTI5dWRHVjRkQ0k2SWxOSVFWSkZSRjlUUlVOU1JWUWlMQ0pwWVhRaU9pSXhOak13TURZMk5EUTJJbjAuRlktQUFfNjU4Zmh6cWs1dzZqb2xRY1BNXzlKVWZaYTJWLW5kM2NvWmw3US56d3JzRlRPallGTXpDcTgxLmlJZ09ueGZDWTU1bjJlRzZ3cG82ajlVUFlvWEpMYTNINFo5MnVnLkZOR195dUdGbnpfV2lEM0poTFNXU1EiLAogICAgImxhc3Q0IjogIjA4ODciLAogICAgImV4cGlyYXRpb25EYXRlIjogewogICAgICAibW9udGgiOiAiMTIiLAogICAgICAieWVhciI6ICIyMDIyIgogICAgfSwKICAgICJkZWNUb2tlbkluZm8iOiB7CiAgICAgICJ0b2tlbiI6ICI0eHh4eDA4ODciCiAgICB9CiAgfQp9Cn5+fg=="
}
}
}
Ответ
Ответ на запрос оплаты с данными Visa Token Service будет возвращен синхронно с его статусом и будет полностью соответствовать ответам операций оплаты или авторизации.
Список возможных ошибок
Ошибка | Описание |
---|---|
{"response"=>{"message"=>"Not allowed"}} |
Для магазина не разрешено проводить транзакции с использованием данных от Visa Token Service. Обратитесь к аккаунт менеджеру. |
{"response"=>{"message"=>"Invalid token"}} |
Ошибка парсинга переданного значения токена. Проверьте параметры и значения в запросе. |