{"id":23138,"date":"2021-04-25T11:23:00","date_gmt":"2021-04-25T08:23:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23138"},"modified":"2021-10-18T02:26:08","modified_gmt":"2021-10-17T23:26:08","slug":"un-guide-pour-l-integration-de-paypal-sur-votre-site-web-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/un-guide-pour-l-integration-de-paypal-sur-votre-site-web-en-php\/","title":{"rendered":"Un guide pour l&rsquo;int\u00e9gration de PayPal sur votre site Web en PHP"},"content":{"rendered":"<p>PayPal est sans aucun doute l&rsquo;une des passerelles de paiement les plus populaires pour les sites Web. La plupart des sites Web utilisent PayPal pour recevoir des paiements sur leur application. Dans cet article, nous \u00e9tudions l&rsquo;int\u00e9gration de PayPal sur une application web en PHP.<\/p>\n<h3>Pourquoi choisir PayPal ?<\/h3>\n<p>La cr\u00e9ation d&rsquo;un <a href=\"https:\/\/www.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">compte sur PayPal<\/a> est totalement gratuite. Vous n&rsquo;avez rien \u00e0 payer d&rsquo;avance. PayPal vous facturera par transaction.<\/p>\n<p>Lors des transactions de paiement, PayPal utilise le cryptage Secure Socket Layers (SSL). Cela prot\u00e8ge les donn\u00e9es personnelles et confidentielles de vos clients. De ce fait, vos clients se sentent en s\u00e9curit\u00e9 lorsqu&rsquo;ils effectuent des paiements via votre application Web.<\/p>\n<p>PayPal permet \u00e9galement de payer par solde PayPal, cartes de cr\u00e9dit ou de d\u00e9bit. Il ajoute un certain nombre d&rsquo;options pour qu&rsquo;un client paie pour votre service.<\/p>\n<p>Pour accepter les paiements par carte de cr\u00e9dit, vous pouvez \u00e9galement utiliser le service <a href=\"http:\/\/reseller.authorize.net\/application\/103001\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.net<\/a>. Si vous souhaitez en savoir plus sur Authorize.net, suivez notre tutoriel <a href=\"https:\/\/themewp.inform.click\/fr\/acceptez-le-paiement-par-carte-de-credit-en-utilisant-la-passerelle-de-paiement-authorize-net-en-php\/\" title=\"Accepter le paiement par carte de cr\u00e9dit \u00e0 l&#039;aide de la passerelle de paiement Authorize.net en PHP\">Accepter le paiement par carte de cr\u00e9dit \u00e0 l&rsquo;aide de la passerelle de paiement Authorize.net en PHP<\/a>.<\/p>\n<h3>Int\u00e9gration PayPal<\/h3>\n<p>Comme nous parlons de site Web aliment\u00e9 par PHP, nous utiliserons la <a href=\"https:\/\/github.com\/paypal\/PayPal-PHP-SDK\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">biblioth\u00e8que officielle GiHub de PayPal<\/a>. Cette biblioth\u00e8que est destin\u00e9e aux applications PHP.<\/p>\n<p>Nous vous recommandons d&rsquo;utiliser <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> pour l&rsquo;installation de la biblioth\u00e8que.<\/p>\n<p>Ainsi, pour int\u00e9grer PayPal au site Web, ex\u00e9cutez d&rsquo;abord la commande ci-dessous dans le r\u00e9pertoire racine du projet.<\/p>\n<pre><code>composer require \"paypal\/rest-api-sdk-php:*\"<\/code><\/pre>\n<h3>Obtenir l&rsquo;identifiant du client et le secret du client<\/h3>\n<p>Lorsque le client paie via PayPal, le montant doit \u00eatre d\u00e9pos\u00e9 sur votre compte PayPal. Pour ce faire, nous devons obtenir votre identifiant client et votre secret client. Vous pouvez cr\u00e9er vos identifiants \u00e0 partir d&rsquo; <a href=\"https:\/\/developer.paypal.com\/developer\/applications\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ici<\/a>.<\/p>\n<p>Sur cette page Mes applications et informations d&rsquo;identification, faites d\u00e9filer jusqu&rsquo;\u00e0 la section \u00ab\u00a0Applications API de repos\u00a0\u00bb et cliquez sur le bouton \u00ab\u00a0Cr\u00e9er une application\u00a0\u00bb.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d897ebfb.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d897ebfb.png\" alt=\"Un guide pour l&#039;int\u00e9gration de PayPal sur votre site Web en PHP\" ><\/a><\/p>\n<p>Donnez le nom \u00e0 votre application et cliquez sur le bouton \u00ab\u00a0Cr\u00e9er une application\u00a0\u00bb.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" alt=\"Un guide pour l&#039;int\u00e9gration de PayPal sur votre site Web en PHP\" ><\/a><\/p>\n<p>Apr\u00e8s les \u00e9tapes ci-dessus, vous obtiendrez des informations d&rsquo;identification pour le mode Sandbox et Live.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" alt=\"Un guide pour l&#039;int\u00e9gration de PayPal sur votre site Web en PHP\" ><\/a><\/p>\n<p>Nous sommes maintenant pr\u00eats avec notre identifiant client et nos cl\u00e9s secr\u00e8tes client. Prenons une longueur d&rsquo;avance et \u00e9crivons un morceau de code.<\/p>\n<h3>Code r\u00e9el pour l&rsquo;int\u00e9gration PayPal<\/h3>\n<p>\u00c0 ce stade, nous sommes pr\u00eats avec la biblioth\u00e8que et les informations d&rsquo;identification. Maintenant, pour int\u00e9grer PayPal au site Web, nous cr\u00e9ons 4 fichiers\u00a0:<\/p>\n<p><code>checkout.php<\/code>: Dans ce fichier, nous avons un formulaire qui contient le nom et le montant de l&rsquo;article.<br \/>\n<code>payment.php<\/code>: C&rsquo;est le fichier dans lequel nous \u00e9crivons tous les codes li\u00e9s \u00e0 PayPal.<br \/>\n<code>success.php<\/code>: Apr\u00e8s le paiement r\u00e9ussi, le client sera redirig\u00e9 vers ce fichier.<br \/>\n<code>error.php<\/code>: Si le paiement \u00e9choue, alors le client redirige vers ce fichier.<\/p>\n<p><strong>caisse.php<\/strong><\/p>\n<pre><code>&lt;form action=\"payment.php\" method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"item\" placeholder=\"Enter Item Name\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"amount\" placeholder=\"Enter Amount\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Pay\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p><strong>paiement.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nuse PayPalApiItem;\nuse PayPalApiItemList;\n\u00a0\n$apiContext = new PayPalRestApiContext(\n\u00a0\u00a0\u00a0\u00a0new PayPalAuthOAuthTokenCredential(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'YOUR_CLIENT_ID',\u00a0\u00a0\u00a0\u00a0 \/\/ ClientID\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'YOUR_CLIENT_SECRET'\u00a0 \/\/ ClientSecret\n\u00a0\u00a0\u00a0\u00a0)\n);\n\u00a0\n$apiContext-&gt;setConfig(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'log.LogEnabled' =&gt; true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'log.FileName' =&gt; 'PayPal.log',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'log.LogLevel' =&gt; 'DEBUG',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'mode' =&gt; 'sandbox', \/\/'live' or 'sandbox'\n\u00a0\u00a0\u00a0\u00a0)\n);\n\u00a0\n$payer = new PayPalApiPayer();\n$payer-&gt;setPaymentMethod('paypal');\n\u00a0\n$item1 = new Item();\n$item1-&gt;setName($_POST['item'])\n\u00a0\u00a0\u00a0\u00a0-&gt;setCurrency('USD')\n\u00a0\u00a0\u00a0\u00a0-&gt;setQuantity(1)\n\u00a0\u00a0\u00a0\u00a0-&gt;setPrice($_POST['amount']);\n\u00a0\n$itemList = new ItemList();\n$itemList-&gt;setItems(array($item1));\n\u00a0\n$amount = new PayPalApiAmount();\n$amount-&gt;setTotal($_POST['amount']);\n$amount-&gt;setCurrency('USD');\n\u00a0\n$transaction = new PayPalApiTransaction();\n$transaction-&gt;setDescription(\"Payment For Service\")\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setItemList($itemList)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setAmount($amount);\n\u00a0\n$redirectUrls = new PayPalApiRedirectUrls();\n$redirectUrls-&gt;setReturnUrl(\"YOUR_HTTP_PATH\/success.php\")\n\u00a0\u00a0\u00a0\u00a0-&gt;setCancelUrl(\"YOUR_HTTP_PATH\/error.php\");\n\u00a0\n$payment = new PayPalApiPayment();\n$payment-&gt;setIntent('sale')\n\u00a0\u00a0\u00a0\u00a0-&gt;setPayer($payer)\n\u00a0\u00a0\u00a0\u00a0-&gt;setTransactions(array($transaction))\n\u00a0\u00a0\u00a0\u00a0-&gt;setRedirectUrls($redirectUrls);\n\u00a0\n\/\/ 4. Make a Create Call\ntry {\n\u00a0\u00a0\u00a0\u00a0$payment-&gt;create($apiContext);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0header('Location: '. $payment-&gt;getApprovalLink());\n}\ncatch (PayPalExceptionPayPalConnectionException $ex) {\n\u00a0\u00a0\u00a0\u00a0\/\/ This will print the detailed information on the exception.\n\u00a0\u00a0\u00a0\u00a0\/\/REALLY HELPFUL FOR DEBUGGING\n\u00a0\u00a0\u00a0\u00a0echo $ex-&gt;getData();\n}\n?&gt;<\/code><\/pre>\n<p>Assurez-vous de remplacer les espaces r\u00e9serv\u00e9s par les valeurs r\u00e9elles. Dans le code ci-dessus, nous d\u00e9finissons la valeur &lsquo;mode&rsquo; sur &lsquo;sandbox&rsquo;. Lors du passage \u00e0 la production, d\u00e9finissez cette valeur sur \u00ab\u00a0live\u00a0\u00bb et ajoutez votre identifiant client et votre secret client en direct.<\/p>\n<p>Une fois votre processus de paiement termin\u00e9 via PayPal, sur la base du succ\u00e8s ou de l&rsquo;\u00e9chec du paiement, il sera redirig\u00e9 vers le fichier success.php ou error.php.<\/p>\n<p><strong>succ\u00e8s.php<\/strong><\/p>\n<pre><code>&lt;h2&gt;Payment Successful.&lt;\/h2&gt;<\/code><\/pre>\n<p><strong>erreur.php<\/strong><\/p>\n<pre><code>&lt;h2&gt;Something went wrong. Try again later.&lt;\/h2&gt;<\/code><\/pre>\n<p>Nous esp\u00e9rons que vous comprenez l&rsquo;int\u00e9gration de PayPal sur l&rsquo;application Web. S&rsquo;il vous pla\u00eet partager vos pens\u00e9es dans la section commentaire ci-dessous.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans ce tutoriel, nous \u00e9tudions l&rsquo;int\u00e9gration de PayPal dans l&rsquo;application Web. Pour commencer, nous allons installer la biblioth\u00e8que officielle GitHub pour PHP. Ensuite, nous montrons<\/p>\n","protected":false},"author":1,"featured_media":21797,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[273],"tags":[844],"class_list":["post-23138","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=23138"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23138\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21797"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=23138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=23138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=23138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}