Sécurité
Dans l’objectif de conserver vos communications avec Payline sécurisées, vous devez obligatoirement utiliser :
- une connexion HTTPS sécurisé par TLS 1.2 ou supérieur.
- une des deux méthodes d'authentification proposées par Payline : clé d’accès ou certificat client
En complément, nous vous recommandons de vérifier l’authenticité du certificat serveur qui vous est présenté lors d’une connexion HTTPS avant d’envoyer vos données ou de réaliser une authentification HTTP. Cela consiste à s’assurer que :
- Le certificat appartient bien à Payline,
- Le certificat est signé par une autorité de certification digne de confiance,
- Le certificat est toujours valide (n’est pas expiré et n’est pas révoqué).
Authentification par clé d'API
Lorsque vous réalisez des demandes de paiement à l’API Payline, vous devez obligatoirement présenter votre identifiant de compte commerçant (Merchand ID) et votre clé d’accès (Merchant Access Key) pour réaliser une authentification HTTP. Payline n’acceptera pas vos demandes si elles ne sont pas correctement authentifiées.
Ne communiquez jamais votre clé d’accès (Merchant Access Key) à une tierce personne. Payline utilise votre clé d’accès pour vous identifier en tant qu’expéditeur de vos demandes de paiement. Aucun interlocuteur chez Payline ne la connaît et ne vous demandera cette information.
Récupérer votre clé d'accès
Une fois connecter au centre administration Payline, vous pouvez générer une clé : Centre Administration - Gestion des clefs d'API
Méthode HTTP Basic Authentification
Payline utilise le mécanisme HTTP Basic Authentification pour authentifier les commerçants abonnés.
Si votre identifiant de compte commerçant est 1234567890 et votre clé d’accès est DJMESHXYou6LmjQFdH, vous devez encoder en base64 la valeur de 123456 7890:DJMESHXYou6LmjQFdH. La chaîne obtenue est à ajouter à l’entête HTTP comme dans l’exemple ci-dessous :
Authorization : Basic MTIzNDU2Nzg5MdpESk1FU0hYWW91NkxtalFGZEg=
En fonction du langage de programmation, l’identifiant et clé d’accès sont automatiquement encodés en base64 et ajoutés à l’entête HTTP.
Grâce à cette mécanique, vous sécurisez de façon optimale vos échanges informatiques entre vos applications et Payline et assurez :
- l’authentification des interlocuteurs : vos serveurs et les serveurs Payline,
- l’intégrité des messages,
- le cryptage des données.
Authentification par certificat client
La mise en place de l’authentification par certificat de type class 3.
Le certificat utilisé pour la signature devra être présent dans le magasin des certificats pour accorder l’accès.
Le certificat devra prendre en compte les exigences de sécurité PCI et de la solution de paiement Payline :
- Algo de hash : SHA-256,
- Clés de chiffrement : RSA (Longueur 2048 version V3). De plus la clef privée associée devra être supérieur ou égale à un encodage de 2048 bits (le common name doit être votre identifiant marchand).
Le CSR fournit par le commerçant sera signé par MONEXT, et ce certificat CSR signé sera déposé avec la clef privé généré lors de la création du csr dans le keystore du commerçant et il sera utilisé lors de chaque appels web services vers la solution de paiement Payline.
Dans le cas où vous utilisez openSSL, la commande à exécuter pour générer la clef privée et le certificat csr :
openssl req -out CSR.csr -sha256 -new -newkey rsa:2048 -nodes -keyout privateKey.key
Ensuite il faut répondre à un certain nombre de question. Le plus important est de mettre l'identifiant du commerçant dans le Common Name
Si vous souhaitez vérifier votre CSR, vous pouvez utiliser cette commande :
openssl req -text -noout -verify -in CSR.csr
Puis vous devez utiliser la commande décrite ci-dessous, dès réception du certificat signé par Monext, ce fichier générer le pkcs12, vous permettra de configurer votre serveur lors de chaque appel webservice
openssl pkcs12 -export -in cert_client_xxx.pem -inkey clef.key -certfile ca_inter.pem -out nom_du fichier_de_sortie.p12 -name "Nom du certificat"
point d'accès dédié
Page Associée