Web SDK Core
Bibliothèque pour la formation de cryptogrammes à partir des données obtenues du formulaire de paiement. La bibliothèque forme la réponse de manière asynchrone. Pour obtenir le résultat, un callback est utilisé.
Utilisé par le marchand sur son site web. Dans la bibliothèque est transmise une liste de paramètres du formulaire de paiement (mdOrder, pan, expiry etc.), et en sortie on obtient un cryptogramme prêt à être transmis au backend d'acquiring.
Exemple d'utilisation
<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>Paramètres
| Paramètre | Obligatoire | Objectif |
|---|---|---|
| mdOrder | oui | Identifiant de commande |
| pan | oui | Numéro de carte (sans espaces) |
| cvc | non | Code CVV/CVC de la carte |
| expiryMMYY | non | date au format MM/AA ou MMAA |
| pubKey | non | Clé publique de chiffrement (si le paramètre n'est pas défini, la clé sera obtenue du serveur automatiquement) |
Erreurs
| Type d'erreur | Explication |
|---|---|
| required | Champ obligatoire. |
| invalid-format | Format de données non valide. |
| invalid-length | Longueur de champ non valide. |
| invalid-pub-key | clé incorrecte |
| get-pub-key-failed | impossible d'obtenir la clé du serveur |
Format de réponse
{
token: "...", // obtained token ready for passing
errors: [ // errors array
{
field: "pan", // Field name
error: "invalid-length" // Error type
},
]
}Exemple de demande de traitement de paiement avec cryptogramme généré
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'Catégories:
eCommerce
SDK