Page tree


 

Avant de pouvoir utiliser les « webservice » VerifyEnrolment et doAuthorization de Payline, les informations nécessaires à votre authentification et à la mise en œuvre du flux HTTPS sécurisé par SSL V3 sont requises. De plus, un point de vente et un contrat doivent être correctement configurés sur le centre d'administration Payline. Si vous n'avez pas de point de vente, ni de contrat configuré sur le centre d'administration, vous devez vous rendre sur le centre d'administration Payline : https://homologation-admin.payline.com.

Les informations suivantes sont les données indispensables à l'utilisation des « webservice » verifyEnrolment et doAuthorization :

  • L'identifiant commerçant : MerchantID
  • La clé d'accès au service Payline : Accesskey


Lorsque vous réalisez des appels aux services web Payline, l'identifiant de compte commerçant (Merchand ID) et la clé d'API (Merchant Access Key) doivent être obligatoirement présentés pour réaliser une authentification http. Les appels web services ne seront pas acceptés s'ils ne sont pas correctement authentifiés.

La méthode d'authentification utilisée s'appelle http Basic Authentification.

Si l'identifiant de compte commerçant est 1234567890 et votre clé d'accès est DJMESHXYou6LmjQFdH, vous devez encoder en base64 la valeur de 1234567890:DJMESHXYou6LmjQFdH. La chaîne obtenue, MTIzNDU2Nzg5MDpESk1FU0hYWW91NkxtalFGZEg=, est à ajouter à l'entête HTTP comme dans l'exemple ci-dessous :

Authorization : Basic MTIzNDU2Nzg5MdpESk1FU0hYWW91NkxtalFGZEg=


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.
L'utilisation d'iframe n'est pas compatible avec une utilisation optimale et sécuritaire de Payline.

Exemple

Dans l'entête du message HTTP, il est nécessaire de préciser la valeur du champ Authorization. Dans cet exemple, la valeur du champ Authorization est Basic MTExMTExMTExOkFGanU5WEhwbFF6dmFtZmZPNzJM.
Si l'on décode MTExMTExMTExOkFGanU5WEhwbFF6dmFtZmZPNzJM (qui est encodé en base64), nous obtenons la valeur suivante : 111111111:AFju9XHplQzvamffO72L (merchantID : AccessKey). L'ajout de la valeur authorization dans l'entête de la trame dépend de la technologie utilisée.

Si vous utilisez un client web service, il est préférable d'opérer de la manière suivante :

 La variable login prend la valeur du merchantID 
 La variable password prend la valeur de l'accessKey

 //Construction de la requête verifyEnrolment avec les objets payment, card et orderRef
 $verifyEnrollmentRequest = array (
   'payment' => $this->payment($array['payment']),
   'card' => $this->card($array['card']),
   'orderRef' => $array['orderRef']
 );

 //Construction de l'entete du message public $header_soap;
 $this->header_soap = array();
 $this->header_soap['proxy_host'] = $this->proxy_host = PROXY_HOST;
 $this->header_soap['proxy_port'] = $this->proxy_port = PROXY_PORT;
 $this->header_soap['proxy_login'] = $this->proxy_login = PROXY_LOGIN;
 $this->header_soap['proxy_password'] = $this->proxy_password = PROXY_PASSWORD;
 $this->header_soap['login'] = $this->login = MERCHANT_ID;
 $this->header_soap['password'] = $this->password = ACCESS_KEY;
 $this->header_soap['style'] = SOAP_DOCUMENT;
 $this->header_soap['use'] = SOAP_LITERAL; 

 // Creation de l'instance SoapClient qui va permettre l'appel du WebService
 // Déclaration du endPoint ainsi que du header

 $client = new SoapClient('https://services.payline.com/V4/services/DirectPaymentAPI', $this->header_soap); 

 //Appel du WebService
 $verifyEnrollmentResponse = $client->verifyEnrollment($verifyEnrollmentRequest); 

  
Si vous n'utilisez pas de client services web, il faut alors ajouter dans l'entête la valeur en brut comme dans l'impression écran : Authorization : Basic MTExMTExMTExOkFGanU5WEhwbFF6dmFtZmZPNzJM


Plus d'information : Centre Administration - Clés d'API