Web SDK Core
Библиотека для формирования криптограмм по данным, полученным из платежной формы. Библиотека формирует ответ асинхронно. Для получения результата используется callback.
Используется продавцом на своём сайте. В библиотеку передается перечень параметров платежной формы (mdOrder
, pan
, expiry
и пр.), а на выходе получается готовая для передачи на backend эквайринга криптограмма.
Пример использования
<script src="https://vtb.rbsuat.com/payment/modules/card-kit-core/card-kit-core.js"></script>
<script>
window.CKCToken.generateWithCard(
{
pan: '4111111111111111',
cvc: '123',
expiryMMYY: '12/24',
mdOrder: '63447c9c-b432-7c8e-962f-161c0008f9da',
// pubKey: '-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAioZS/AN/xWtZsQNFjOc8VjKnE5xwQuT0zV0q2j2JpBN66We1+dya9gfqt14Mg53tHfvTB+hbHpmK8mYlPdpZXnIIN3TuBv9llfwmAMm4pFRDG8KeIgOVLSGptHufjwoh2iE4YfxZWgCbnkqjDk6YiTPdy+W7nxF+fPUEsFE1YJDTRwzVqpsbjfKW9tQAjDxpAwfsiyhk0NzTEsDahWtjk1+WaqqrN0LRQgtaTnnbjSr3npmegu63mgTXBX1MT5olRY+BjCaPCZLt+6sFNd/wVI+UBo3/U6jHEHVe3T1vdZWNhJe2twFzrSSpm5aevDK7OpQzMT7v2wUIRWIlFvIxFwIDAQAB-----END PUBLIC KEY-----',
},
function (result) {
console.log('Result:', result);
// // Example result:
// {
// token: null,
// errors: [
// {field: "pan", error: "invalid-length"},
// {field: "cvc", error: "required"}
// ]
// }
}
);
</script>
Параметры
Параметр | Обязательно | Назначение |
---|---|---|
mdOrder | да | Идентификатор заказа |
pan | да | Номер карты (без пробелов) |
cvc | нет | CVV/CVC код карты |
expiryMMYY | нет | дата в формате ММ/ГГ или ММГГ |
pubKey | нет | Открытый ключ шифрования (если параметр не задан, ключ будет получен с сервера автоматически) |
Ошибки
Тип ошибки | Пояснение |
---|---|
required | Поле обязательно. |
invalid-format | Недопустимый формат данных. |
invalid-length | Недопустимая длина поля. |
invalid-pub-key | неверный ключ |
get-pub-key-failed | не удалось получить ключ с сервера |
Формат ответа
{
token: "...", // obtained token ready for passing
errors: [ // errors array
{
field: "pan", // Field name
error: "invalid-length" // Error type
},
]
}
Пример запроса на проведение платежа со сгенерированной криптограммой
curl --location --request POST 'https://vtb.rbsuat.com/payment/rest/paymentorder.do' \
--header 'Content-type: application/x-www-form-urlencoded' \
--data-urlencode 'MDORDER=63447c9c-b432-7c8e-962f-161c0008f9da' \
--data-urlencode 'language=en' \
--data-urlencode 'TEXT=CARDHOLDER NAME' \
--data-urlencode 'email=' \
--data-urlencode 'Cfqv4t2XHBb9k8ixM7jxxCvziETS4koa3bV3F0QUvGVY47nKyMBqjGzV%2FrvmCAw6KzwoBDzeLsqwBLEzvQhaF627ZS0OJnhttBi4fL3%2Fh%2FsBSwFtxr3s%2BoVUeoE3e4SNVUq9vciinOyNCIKqfpeQya%2BpOUYt3MgrtSeu66Ar12XEj4k6lecZN7Ffquj9RqhZsYhP63np5VCxJR90cNQG%2BTMWIFU6rqxLAe4gzCJtcXNrPT8aDOI201Zwd%2Be4K1YnrI7dZGlibO7MVMPB9m7NJaJTHko%2FMiJNWumAjS4yDDovLraIKMwOFTvAhqXsHslthpcUO0GZXEIaDRgERD7%2Bjw%3D%3D' \
--data-urlencode 'userName=tm-api' \
--data-urlencode 'password=XXXXXXX'