Présentation
Le SKD PHP est composé des éléments suivants :
- une notice d’installation du SDK de développement ;
- un descripteur composer.json pour le téléchargement via Composer de la librairie PHP qui permet d'utiliser les fonctions de l'API Payline ;
- un exemple d’application web utilisant le SDK.
En décompressant le fichier zip, on trouve trois répertoires :
Le répertoire 'exemples'
Le répertoire « exemple » correspond à l'application web implémentant l’ensemble des fonctionnalités Payline disponible via la librairie PHP. Chaque fonctionnalité se décline sous la forme de deux fichiers :
- un fichier <nom_fonction>Form.php contenant le formulaire de présentation.
- un fichier <nom_fonction>.php qui récupère les données transmises par l’utilisateur via le formulaire. Le code PHP réalise l’appel au Web Service souhaité.
Par exemple, la fonctionnalité « doWebPayment » qui permet la réalisation d’un paiement Web via le SDK, se traduit par la présence des deux fichiers suivant :
- doWebPaymentForm.php : Ce fichier simule la page récapitulatif de la commande de votre client. Elle constitue l’étape 0 dans le processus de paiement web. Vous pouvez modifier les valeurs des champs du formulaire : Amount, Currency et OrderRef pour réaliser des paiements tests.
- doWebPayment.php : Ce fichier contient le code PHP qui récupère les informations transmises par le formulaire et utilise la librairie pour initialiser une demande de paiement web.
Le répertoire 'lib'
Il regroupe les classes qui décrivent les demandes, réponses et objets de l’API SOAP Payline.
- paylineSDK.php : Ce fichier contient la classe principale qui permet la création de messages SOAP ainsi que les autres classes spécifiques qui réalisent gèrent les demandes et réponses métier. Par exemple : doWebPayment, getWebPaymentDetails.
- lib_debug.php : C’est la librairie de débug qui permet l’affichage sous forme de tableau imbriqué du message retour de vos demandes à l’API SOAP Payline.
- v4.XX.wsdl : Le descripteur des web services Payline, à partir duquel les requêtes/réponses sont construites. Ce fichier est remplacé à chaque nouvelle release de Payline, la compatibilité ascendante est assurée.
- CONFIG.php : Ce fichier introduit dans la version V4.64.1 remplace le répertoire configuration et son contenu. Il contient les paramètres de connexion à Payline, ainsi que les paramètres (contrats, version, devise,...) affichés par défaut dans les pages d'exemple.
Le fichier CONFIG.php peut être édité directement, ou via le formulaire inclu dans la rubrique Home.
Le répertoire 'logs'
Au sein de l’archive, ce répertoire est vide. Il correspond au répertoire par défaut d’écriture des traces.Un fichier <date>.log (<date> étant au format aaaa-mm-jj) est créé et/ou alimenté lors de chaque appel à une fonction de la librairie.
La fonction d’ajout d’une ligne dans ce fichier se nomme writeTrace. C’est une fonction publique de la classe paylineSDK, qui peut donc être réutilisée.
Installation
Télécharger le SDK de l'API Payline version 26 29 de la release 4.64.166
Téléchargez des examples directement ici : payline-php-samples-master.zip
Décompressez l'archive à la racine de votre serveur web. Si vous n'utilisez pas encore Composer, téléchargez l'exécutable composer.phar via https://getcomposer.org/download/ et déposez le au même niveau que le fichier composer.json inclu dans l'archive.
Fonctions
La classe paylineSDK propose une fonction correspondant à chaque web service, portant le même nom que ce dernier (doWebPayment, doAuthorization, …).
Appel
Retour
Cas particulier
Configuration du SDK
Le fonctionnement du SDK nécessite l’activation des extensions PHP suivantes sur votre serveur : php_curl, php_http, php_openssl, php_soap
MERCHANT_ID : l’identifiant de votre compte commerçant
ACCESS_KEY_REF : la référence web2token associée à votre clé d’accès
Compatibilité du SDK
Le SDK PHP est testé avec l’environnement suivant :
- le système Windows 7 Professionnel
- le serveur Apache 2.2.22
- la version PHP 5.3.13
Intégration
Lors de l'intégration, veuillez bien à nommer les balises comme indiqué dans le kit. Elles peuvent être différentes de l' API Payline.
Pour la balise <authentication3DSecure>, il faut appeler <3DSecure>
- Le commerçant doit valoriser le tableau en remplaçant ['authentication3DSecure'] par ['3DSecure']
Pour la balise <selectedContractList> s'appelle <contracts>
- Le commerçant doit valoriser le tableau en remplaçant [' selectedContractList '] par ['contracts]
Bloc de code | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
public function doAuthorization(array $array) { $this->formatRequest($array); $WSRequest = array( 'payment' => $this->payment($array['payment']), 'card' => $this->card($array['card']), 'order' => $this->order($array['order']), 'buyer' => $this->buyer($array['buyer'], $array['shippingAddress'], $array['billingAddress'], $array['merchantAuthentication']), 'owner' => $this->owner($array['owner'], $array['ownerAddress']), 'privateDataList' => $this->privateData, 'authentication3DSecure' => $this->authentication3DSecure($array['3DSecure']), 'bankAccountData' => $this->bankAccountData($array['bankAccountData']), 'subMerchant' => $this->subMerchant($array['subMerchant']), 'asynchronousRetryTimeout' => $array['asynchronousRetryTimeout'] ); |
Bloc de code | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
public function doWebPayment(array $array) { $this->formatRequest($array); $WSRequest = array( 'payment' => $this->payment($array['payment']), 'returnURL' => $array['returnURL'], 'cancelURL' => $array['cancelURL'], 'order' => $this->order($array['order']), 'notificationURL' => $array['notificationURL'], 'customPaymentTemplateURL' => $array['customPaymentTemplateURL'], 'selectedContractList' => $array['contracts'], 'secondSelectedContractList' => $array['secondContracts'], 'privateDataList' => $this->privateData, 'languageCode' => $array['languageCode'], 'customPaymentPageCode' => $array['customPaymentPageCode'], 'buyer' => $this->buyer($array['buyer'], $array['shippingAddress'], $array['billingAddress'], $array['merchantAuthentication']), 'owner' => $this->owner($array['owner'], $array['ownerAddress']), 'securityMode' => $array['securityMode'], 'contractNumberWalletList' => $array['walletContracts'], 'merchantName' => $array['merchantName'], 'subMerchant' => $this->subMerchant($array['subMerchant']), 'miscData' => $array['miscData'], 'asynchronousRetryTimeout' => $array['asynchronousRetryTimeout'], 'threeDSInfo' => $this->threeDSInfo($array['threeDSInfo'], $array['browser'], $array['sdk']) ); |
Pages associées
Contenu par étiquette showLabels false max 10 spaces com.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@9a3 showSpace false sort title type page cql label = "php" and label = "integration" and label = "fr" and type = "page" and space = "DT" labels bancontact belgique choixdelamarque