Pour toute question, nous sommes à un clic

Poser une question

Génération de seToken

Qu'est-ce que seToken

seToken (Self Encrypted Token) - c'est un cryptogramme utilisé pour la transmission sécurisée des données de carte. Il peut être utilisé dans les requêtes suivantes, lorsque les données de carte sont collectées du côté du marchand :

Ci-dessous est décrit comment créer seToken et l'envoyer dans la requête de paiement.

Format seToken avant chiffrement

Avant chiffrement, seToken est une chaîne qui inclut de 5 à 9 paramètres, séparés par le symbole "/".

Paramètres inclus dans la composition de seToken

Le tableau ci-dessous énumère les paramètres qui peuvent être utilisés dans la chaîne seToken. Ces paramètres doivent être inclus dans la chaîne dans une séquence stricte selon ce tableau.

Obligatoire Nom Type Description
Oui

timestamp String Date de la demande selon ISO 8601:2004 au format YYYY-MM-DDThh:mm:ss±hh:mm.
Oui

uuid String [1..32] Identifiant au standard UUID formé conformément au document
Condition

PAN Integer [1..19] Numéro de carte de débit des fonds monétaires. La demande doit inclure soit PAN, soit bindingId.
Obligatoire pour certaines méthodes. La liste des paramètres obligatoires seToken utilisés dans une méthode déterminée est énumérée dans la description de la méthode correspondante dans le Guide API.
Condition (voir description)

CVV String [3] Code de vérification de la carte. Ce paramètre est obligatoire si l'autorisation Peut effectuer un paiement sans confirmation CVC n'est pas sélectionnée pour le marchand.
Seuls les chiffres sont autorisés.
Condition

EXPDATE Integer [6] Date d'expiration de la carte dans le format suivant : YYYYMM, où YYYY - année, MM - mois.
Obligatoire pour certaines méthodes. La liste des paramètres obligatoires seToken utilisés dans une méthode déterminée est énumérée dans la description de la méthode correspondante dans le Guide API.
Condition

mdOrder String [1..36] Identifiant de commande pour le paiement par cryptogramme.
Obligatoire pour certaines méthodes. La liste des paramètres obligatoires seToken utilisés dans une méthode déterminée est énumérée dans la description de la méthode correspondante dans le Guide API.
Condition

bindingId String [1..255] Identifiant d'une liaison déjà existante (identifiant de carte tokenisée par la passerelle). Il ne peut être utilisé que si le marchand a l'autorisation de travailler avec les liaisons. La demande doit inclure soit PAN, soit bindingId.
Obligatoire pour certaines méthodes. La liste des paramètres obligatoires seToken utilisés dans une méthode déterminée est énumérée dans la description de la méthode correspondante dans le Guide API.
Non

cardholder String Nom du titulaire de la carte en lettres latines.
Non

registeredFrom String SDK qui a été utilisé pour l'enregistrement de la commande. Valeurs autorisées : MSDK_CORE, MSDK_FORMS, MSDK_PAYMENT, WSDK_CORE, WSDK_PAYMENT

Exemple de chaîne générée :

2020-09-15T10:00:33+03:00/9bb1501a-1547-425a-a022-1db5ff8f72c4/5555555555555599/123/202412

où :

Algorithme de création de requête de paiement

  1. Envoyez une requête de clé

    Pour cela, ouvrez le lien https://dev.bpcbt.com/payment/se/keys.do.

    En résultat nous obtenons une clé dans le format suivant :

    {
    "keys": [
        {
            "keyValue": "-----BEGIN PUBLIC KEY-----{PUBLIC KEY BODY}-----END PUBLIC KEY-----",
            "protocolVersion": "RSA",
            "keyExpiration": 1893456000000
         },
        {
            "keyValue": "-----BEGIN PUBLIC KEY-----{PUBLIC KEY BODY}-----END PUBLIC KEY-----",
            "protocolVersion": "RSA",
            "keyExpiration": 1924992000000
        }
    ]
    }

    Où :

    • keyValue - représentation en chaîne de la clé publique RSA 2048
    • keyExpiration - date planifiée d'expiration de la clé, date en secondes selon le standard de temps UNIX
    • protocolVersion - version de l'algorithme de chiffrement
  2. Enregistrez la commande

  3. Générez la chaîne qui doit être chiffrée

    Dans notre exemple ci-dessus la valeur orderId=b94eac90-e487-796a-8ed2-cf5a00096352 est indiquée comme UUID. Nous obtenons la chaîne :

    2020-09-15T10:00:33+03:00/9bb1501a-1547-425a-a022-1db5ff8f72c4/5555555555555599/123/202412

  4. Chiffrez la chaîne obtenue

    La chaîne obtenue doit être chiffrée en utilisant l'algorithme de chiffrement RSA "RSA/None/PKCS1Padding" avec une longueur de clé de 2048.

    Exemple de résultat de chiffrement :

    Cfqv4t2XHBb9k8ixM7jxxCvziETS4koa3bV3F0QUvGVY47nKyMBqjGzV/rvmCAw6KzwoBDzeLsqwBLEzvQhaF627ZS0OJnhttBi4fL3/h/sBSwFtxr3s+oVUeoE3e4SNVUq9vciinOyNCIKqfpeQya+pOUYt3MgrtSeu66Ar12XEj4k6lecZN7Ffquj9RqhZsYhP63np5VCxJR90cNQG+TMWIFU6rqxLAe4gzCJtcXNrPT8aDOI201Zwd+e4K1YnrI7dZGlibO7MVMPB9m7NJaJTHko/MiJNWumAjS4yDDovLraIKMwOFTvAhqXsHslthpcUO0GZXEIaDRgERD7+jw==

    Avant l'envoi dans la requête REST, il faut appliquer l'encodage URL à la chaîne chiffrée : Cfqv4t2XHBb9k8ixM7jxxCvziETS4koa3bV3F0QUvGVY47nKyMBqjGzV%2FrvmCAw6KzwoBDzeLsqwBLEzvQhaF627ZS0OJnhttBi4fL3%2Fh%2FsBSwFtxr3s%2BoVUeoE3e4SNVUq9vciinOyNCIKqfpeQya%2BpOUYt3MgrtSeu66Ar12XEj4k6lecZN7Ffquj9RqhZsYhP63np5VCxJR90cNQG%2BTMWIFU6rqxLAe4gzCJtcXNrPT8aDOI201Zwd%2Be4K1YnrI7dZGlibO7MVMPB9m7NJaJTHko%2FMiJNWumAjS4yDDovLraIKMwOFTvAhqXsHslthpcUO0GZXEIaDRgERD7%2Bjw%3D%3D

  5. Envoyez la requête de paiement avec seToken.

    Voir l'exemple de requête de paiement à l'aide de seToken ici.

Catégories:
eCommerce API V1
Catégories
Résultats de recherche