Présentation
Un kit d'intégration est une librairie logicielle (sdk) qui facilite le développement informatique que vous allez devoir réaliser pour intégrer la solution de paiement Payline dans votre site.
Vous devez consulter la documentation Comment démarrer et l'intégration Paiement Page Web pour développer votre Paiement Page Web.
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é.
- 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.
Installation
Exécuter les étapes suivantes :
1. Télécharger le SDK de l'API Payline :
Si vous n'utilisez pas encore Composer, téléchargez l'exécutable composer.phar via https://getcomposer.org/download/
Déposez l'exécutable composer.phar au même niveau que le fichier composer.json inclu dans l'archive payline-php-sdk.
composer require monext/payline-sdk
En montant le fichier avec composer on trouve trois répertoires :
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
- debug 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
- inclut 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 de la release 4.64.1
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.
Extrait | ||
---|---|---|
| ||
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 :
|
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é compatible avec l’environnement suivant :
- le système Windows 7 Professionnel
- le serveur Apache 2.2.22
- la version PHP 5.3.13PHP : voir le fichier README.md sur github
Intégration
Veuillez consulter la documentation Comment démarrer et l'intégration Paiement Page Web pour développer votre Paiement Page Web.
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']
Exemple d'utilisation de l'initialisation de paiement en mode page web :
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'])
); |
Exemple d'utilisation d'une demande d'autorisation de paiement en mode direct
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']
); |
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 in ( = "pluginphp" , and label = "phpintegration" ) and label = "integrationfr" and type = "page" and space = "DT" labels bancontact belgique choixdelamarque