Web SDK Core
Bibliothèque pour la formation de cryptogrammes basés sur les données obtenues à partir 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ée par le commerçant sur son site. Un ensemble de paramètres du formulaire de paiement (mdOrder, pan, expiry etc.) est transmis à la bibliothèque, 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 la 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 automatiquement depuis le serveur) |
Erreurs
| Type d'erreur | Explication |
|---|---|
| required | Champ obligatoire. |
| invalid-format | Format de données inadmissible. |
| invalid-length | Longueur de champ inadmissible. |
| invalid-pub-key | clé incorrecte |
| get-pub-key-failed | impossible d'obtenir la clé depuis le 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 'seToken=Cfqv4t2XHBb9k8ixM7jxxCvziETS4koa3bV3F0QUvGVY47nKyMBqjGzV%2FrvmCAw6KzwoBDzeLsqwBLEzvQhaF627ZS0OJnhttBi4fL3%2Fh%2FsBSwFtxr3s%2BoVUeoE3e4SNVUq9vciinOyNCIKqfpeQya%2BpOUYt3MgrtSeu66Ar12XEj4k6lecZN7Ffquj9RqhZsYhP63np5VCxJR90cNQG%2BTMWIFU6rqxLAe4gzCJtcXNrPT8aDOI201Zwd%2Be4K1YnrI7dZGlibO7MVMPB9m7NJaJTHko%2FMiJNWumAjS4yDDovLraIKMwOFTvAhqXsHslthpcUO0GZXEIaDRgERD7%2Bjw%3D%3D' \
--data-urlencode 'userName=tm-api' \
--data-urlencode 'password=XXXXXXX'Catégories:
eCommerceSDK