Web SDK Core
Biblioteca para la formación de criptogramas basados en datos obtenidos del formulario de pago. La biblioteca genera la respuesta de forma asíncrona. Para obtener el resultado se utiliza callback.
Es utilizada por el vendedor en su sitio web. A la biblioteca se le pasa una lista de parámetros del formulario de pago (mdOrder, pan, expiry, etc.), y como salida se obtiene un criptograma listo para transmitir al backend de acquiring.
Ejemplo de uso
<script src="https://dev.bpcbt.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>Parámetros
| Parámetro | Obligatorio | Propósito |
|---|---|---|
| mdOrder | sí | Identificador del pedido |
| pan | sí | Número de tarjeta (sin espacios) |
| cvc | no | Código CVV/CVC de la tarjeta |
| expiryMMYY | no | fecha en formato MM/AA o MMAA |
| pubKey | no | Clave pública de cifrado (si el parámetro no se especifica, la clave se obtendrá del servidor automáticamente) |
Errores
| Tipo de error | Explicación |
|---|---|
| required | Campo obligatorio. |
| invalid-format | Formato de datos no válido. |
| invalid-length | Longitud de campo no válida. |
| invalid-pub-key | clave incorrecta |
| get-pub-key-failed | no se pudo obtener la clave del servidor |
Formato de respuesta
{
token: "...", // obtained token ready for passing
errors: [ // errors array
{
field: "pan", // Field name
error: "invalid-length" // Error type
},
]
}Ejemplo de solicitud para realizar un pago con criptograma generado
curl --location --request POST 'https://dev.bpcbt.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'Categorías:
eCommerce
SDK