{"id":23803,"date":"2021-05-06T17:01:00","date_gmt":"2021-05-06T14:01:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23803"},"modified":"2021-10-18T02:21:01","modified_gmt":"2021-10-17T23:21:01","slug":"comment-configurer-des-paiements-recurrents-dans-authorize-net","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/comment-configurer-des-paiements-recurrents-dans-authorize-net\/","title":{"rendered":"Comment configurer des paiements r\u00e9currents dans Authorize.net"},"content":{"rendered":"<p>Nous avons \u00e9crit un article <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\">Accepter le paiement par carte de cr\u00e9dit \u00e0 l&rsquo;aide de la passerelle de paiement Authorize.net<\/a>. Dans cet article, nous avons expliqu\u00e9 comment recevoir un paiement par carte de cr\u00e9dit via Authorize.net. En outre, cet article est essentiellement ax\u00e9 sur le paiement unique.<\/p>\n<p>Mais que faire si quelqu&rsquo;un souhaite int\u00e9grer les paiements r\u00e9currents dans son application? Dans cet article, nous vous montrons comment configurer des paiements r\u00e9currents en utilisant <a href=\"http:\/\/reseller.authorize.net\/application\/103001\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.net<\/a>.<\/p>\n<h3>Qu&rsquo;est-ce que le paiement r\u00e9current\u00a0?<\/h3>\n<p>Le paiement r\u00e9current ou par abonnement signifie d\u00e9biter automatiquement la carte de cr\u00e9dit d&rsquo;un montant fixe apr\u00e8s un intervalle sp\u00e9cifique et pour une p\u00e9riode sp\u00e9cifi\u00e9e.<\/p>\n<p>Par exemple, disons que vous ex\u00e9cutez votre site Web sur l&rsquo; h\u00e9bergement <a href=\"https:\/\/www.bluehost.com\/track\/artisansweb\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bluehost<\/a> et que vous avez pay\u00e9 un montant pour la premi\u00e8re ann\u00e9e. Lorsque votre forfait expire, Bluehost d\u00e9bitera automatiquement votre paiement par carte de cr\u00e9dit pour l&rsquo;ann\u00e9e suivante (si vous avez choisi l&rsquo;option de paiement r\u00e9current).<\/p>\n<p>L&rsquo;avantage d&rsquo;autoriser le plan d&rsquo;abonnement est que vous n&rsquo;avez pas besoin de vous souvenir de la date d&rsquo;expiration du service que vous utilisez. Le fournisseur de services le conserve comme un syst\u00e8me automatis\u00e9. Une fois votre forfait expir\u00e9, ils renouvellent votre service en prenant les paiements de votre carte de cr\u00e9dit en arri\u00e8re-plan.<\/p>\n<p>Cela dit, voyons comment configurer des paiements r\u00e9currents \u00e0 l&rsquo;aide d&rsquo;Authorize.net.<\/p>\n<p>Vous devriez d&rsquo;abord lire notre article <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\">Accepter le paiement par carte de cr\u00e9dit \u00e0 l&rsquo;aide de la passerelle de paiement Authorize.net<\/a>. Dans cet article, nous avons discut\u00e9 de l&rsquo;installation et de la configuration des <a href=\"https:\/\/github.com\/AuthorizeNet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">biblioth\u00e8ques Authorize.net SDK<\/a>.<\/p>\n<p>Pour notre tutoriel, nous utilisons le compte sandbox. Vous devez donc d&rsquo;abord cr\u00e9er votre <a href=\"https:\/\/developer.authorize.net\/hello_world\/sandbox\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">compte Sandbox<\/a> et obtenir vos cl\u00e9s API. Vous pouvez trouver vos cl\u00e9s API dans <strong>Account-&gt;API Credentials &#038; Keys<\/strong>.<\/p>\n<h3>Installation<\/h3>\n<p>Pour commencer, nous devons installer <a href=\"https:\/\/github.com\/AuthorizeNet\/sdk-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP SDK Library<\/a>. Nous recommandons <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>Cr\u00e9ez un <code>composer.json<\/code>fichier dans le r\u00e9pertoire racine de votre projet et ajoutez-y le code ci-dessous.<\/p>\n<p><strong>compositeur.json<\/strong><\/p>\n<pre><code>{\n\u00a0\u00a0\u00a0\u00a0\"require\": {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"php\": \"&gt;=5.6\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"authorizenet\/authorizenet\": \"~1.9.6\"\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Ouvrez le terminal dans le r\u00e9pertoire racine de votre projet et ex\u00e9cutez la <code>composer install<\/code>commande. Cette commande va t\u00e9l\u00e9charger la d\u00e9pendance d&rsquo;une biblioth\u00e8que.<\/p>\n<h3>Configurer l&rsquo;environnement<\/h3>\n<p>Nous avons install\u00e9 la biblioth\u00e8que PHP SDK. Cr\u00e9ez maintenant deux fichiers appel\u00e9s <code>constants.php<\/code>et <code>subscriptionpayment.php<\/code>. Dans le fichier constants.php, nous stockons nos cl\u00e9s API comme suit.<\/p>\n<p><strong>constantes.php<\/strong><\/p>\n<pre><code>&lt;?php\ndefine('ANET_LOGIN_ID', 'YOUR_LOGIN_ID');\ndefine('ANET_TRANSACTION_KEY', 'YOUR_TRANSACTION_KEY');\n?&gt;<\/code><\/pre>\n<p>Assurez-vous d&rsquo;avoir remplac\u00e9 les espaces r\u00e9serv\u00e9s YOUR_LOGIN_ID et YOUR_TRANSACTION_KEY par des valeurs r\u00e9elles.<\/p>\n<p><code>subscriptionpayment.php<\/code>est le fichier o\u00f9 nous allons \u00e9crire un code pour les paiements d&rsquo;abonnement d&rsquo;une carte de cr\u00e9dit. Pour ce faire, nous devons d&rsquo;abord inclure les fichiers principaux de la biblioth\u00e8que.<\/p>\n<p><strong>abonnementpaiement.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"constants.php\";\n\u00a0\nuse netauthorizeapicontractv1 as AnetAPI;\nuse netauthorizeapicontroller as AnetController;\n?&gt;<\/code><\/pre>\n<h3>Code r\u00e9el pour les paiements r\u00e9currents dans Authorize.net<\/h3>\n<p>Authorize.net fournit un <a href=\"https:\/\/github.com\/AuthorizeNet\/sample-code-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">exemple de biblioth\u00e8que de code<\/a> pour la r\u00e9f\u00e9rence des d\u00e9veloppeurs. Pour notre tutoriel, nous utilisons la r\u00e9f\u00e9rence de <a href=\"https:\/\/github.com\/AuthorizeNet\/sample-code-php\/blob\/master\/RecurringBilling\/create-subscription.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">RecurringBilling<\/a>.<\/p>\n<p>Nous modifions l\u00e9g\u00e8rement la <code>createSubscription<\/code>m\u00e9thode du code de r\u00e9f\u00e9rence et l&rsquo;\u00e9crivons comme suit.<\/p>\n<pre><code>function createSubscription($arr_data = [])\n{\n\u00a0\u00a0\u00a0\u00a0extract($arr_data);\n\u00a0\u00a0\u00a0\u00a0\/* Create a merchantAuthenticationType object with authentication details\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0retrieved from the constants file *\/\n\u00a0\u00a0\u00a0\u00a0$merchantAuthentication = new AnetAPIMerchantAuthenticationType();\n\u00a0\u00a0\u00a0\u00a0$merchantAuthentication-&gt;setName(ANET_LOGIN_ID);\n\u00a0\u00a0\u00a0\u00a0$merchantAuthentication-&gt;setTransactionKey(ANET_TRANSACTION_KEY);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Set the transaction's refId\n\u00a0\u00a0\u00a0\u00a0$refId = 'ref'. time();\n\u00a0\u00a0\u00a0\u00a0\/\/ Subscription Type Info\n\u00a0\u00a0\u00a0\u00a0$subscription = new AnetAPIARBSubscriptionType();\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setName(\"Sample Subscription\");\n\u00a0\u00a0\u00a0\u00a0$interval = new AnetAPIPaymentScheduleTypeIntervalAType();\n\u00a0\u00a0\u00a0\u00a0$interval-&gt;setLength($intervalLength);\n\u00a0\u00a0\u00a0\u00a0$interval-&gt;setUnit(\"days\");\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule = new AnetAPIPaymentScheduleType();\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule-&gt;setInterval($interval);\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule-&gt;setStartDate(new DateTime($start_date));\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule-&gt;setTotalOccurrences($totalcycles);\n\u00a0\u00a0\u00a0\u00a0\/\/$paymentSchedule-&gt;setTrialOccurrences(\"1\");\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setPaymentSchedule($paymentSchedule);\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setAmount($amount);\n\u00a0\u00a0\u00a0\u00a0\/\/$subscription-&gt;setTrialAmount(\"0.00\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$creditCard = new AnetAPICreditCardType();\n\u00a0\u00a0\u00a0\u00a0$creditCard-&gt;setCardNumber($card_number);\n\u00a0\u00a0\u00a0\u00a0$creditCard-&gt;setExpirationDate($expiry_date);\n\u00a0\u00a0\u00a0\u00a0$payment = new AnetAPIPaymentType();\n\u00a0\u00a0\u00a0\u00a0$payment-&gt;setCreditCard($creditCard);\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setPayment($payment);\n\u00a0\u00a0\u00a0\u00a0$order = new AnetAPIOrderType();\n\u00a0\u00a0\u00a0\u00a0$order-&gt;setInvoiceNumber(mt_rand(10000, 99999));\u00a0\u00a0 \/\/generate random invoice number\u00a0\u00a0\u00a0\u00a0 \n\u00a0\u00a0\u00a0\u00a0$order-&gt;setDescription(\"Daily Subscription For 1 USD\"); \n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setOrder($order); \n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$billTo = new AnetAPINameAndAddressType();\n\u00a0\u00a0\u00a0\u00a0$billTo-&gt;setFirstName($first_name);\n\u00a0\u00a0\u00a0\u00a0$billTo-&gt;setLastName($last_name);\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setBillTo($billTo);\n\u00a0\u00a0\u00a0\u00a0$request = new AnetAPIARBCreateSubscriptionRequest();\n\u00a0\u00a0\u00a0\u00a0$request-&gt;setmerchantAuthentication($merchantAuthentication);\n\u00a0\u00a0\u00a0\u00a0$request-&gt;setRefId($refId);\n\u00a0\u00a0\u00a0\u00a0$request-&gt;setSubscription($subscription);\n\u00a0\u00a0\u00a0\u00a0$controller = new AnetControllerARBCreateSubscriptionController($request);\n\u00a0\u00a0\u00a0\u00a0$response = $controller-&gt;executeWithApiResponse( netauthorizeapiconstantsANetEnvironment::SANDBOX);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (($response != null) &amp;&amp; ($response-&gt;getMessages()-&gt;getResultCode() == \"Ok\")) \u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"SUCCESS: Subscription ID: \". $response-&gt;getSubscriptionId(). \"n\";\n\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0else\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"ERROR :\u00a0 Invalid responsen\";\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$errorMessages = $response-&gt;getMessages()-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Response: \". $errorMessages[0]-&gt;getCode(). \"\u00a0 \" .$errorMessages[0]-&gt;getText(). \"n\";\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0return $response;\n}<\/code><\/pre>\n<p>Notez la ligne <code>$response = $controller-&gt;executeWithApiResponse(netauthorizeapiconstantsANetEnvironment::SANDBOX);<\/code>de la m\u00e9thode ci-dessus. Lorsque nous passons \u00e0 la production, nous devons changer SANDBOX en PRODUCTION dans cette ligne. Nous devons \u00e9galement modifier notre identifiant de connexion et nos cl\u00e9s de transaction pour qu&rsquo;ils correspondent \u00e0 notre compte r\u00e9el.<\/p>\n<p>Notre m\u00e9thode <code>createSubscription<\/code>prend un param\u00e8tre de tableau que nous devons construire ci-dessous.<\/p>\n<pre><code>$arr_subscription = [\n\u00a0\u00a0\u00a0\u00a0'intervalLength' =&gt; 7, \/\/ Here 7 means recurring payment occurs after each 7 days\n\u00a0\u00a0\u00a0\u00a0'start_date' =&gt; date('Y-m-d'),\n\u00a0\u00a0\u00a0\u00a0'totalcycles' =&gt; 10, \/\/Billing cycles. Here 10 means 10 transactions\n\u00a0\u00a0\u00a0\u00a0'amount' =&gt; 1.00,\n\u00a0\u00a0\u00a0\u00a0'card_number' =&gt; '4111111111111111',\n\u00a0\u00a0\u00a0\u00a0'expiry_date' =&gt; '2020-12',\n\u00a0\u00a0\u00a0\u00a0'first_name' =&gt; 'John',\n\u00a0\u00a0\u00a0\u00a0'last_name' =&gt; 'Smith'\n];<\/code><\/pre>\n<p>Nous utilisons les num\u00e9ros de carte de cr\u00e9dit de test fournis sur le <a href=\"https:\/\/developer.authorize.net\/hello_world\/testing_guide\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">guide de test<\/a>.<\/p>\n<p>En passant le tableau ci-dessus \u00e0 la fonction <code>createSubscription<\/code>, cela cr\u00e9era un paiement d&rsquo;abonnement de 1,00 USD tous les 7 jours jusqu&rsquo;\u00e0 10 cycles de facturation.<\/p>\n<h3>Code final<\/h3>\n<p><strong>abonnementpaymen.phpt<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"constants.php\";\n\u00a0\nuse netauthorizeapicontractv1 as AnetAPI;\nuse netauthorizeapicontroller as AnetController;\n\u00a0\n$arr_subscription = [\n\u00a0\u00a0\u00a0\u00a0'intervalLength' =&gt; 7,\n\u00a0\u00a0\u00a0\u00a0'start_date' =&gt; date('Y-m-d'),\n\u00a0\u00a0\u00a0\u00a0'totalcycles' =&gt; 10,\n\u00a0\u00a0\u00a0\u00a0'amount' =&gt; 1.00,\n\u00a0\u00a0\u00a0\u00a0'card_number' =&gt; '4111111111111111',\n\u00a0\u00a0\u00a0\u00a0'expiry_date' =&gt; '2020-12',\n\u00a0\u00a0\u00a0\u00a0'first_name' =&gt; 'John',\n\u00a0\u00a0\u00a0\u00a0'last_name' =&gt; 'Smith'\n];\n\u00a0\ncreateSubscription($arr_subscription);\n\u00a0\nfunction createSubscription($arr_data = [])\n{\n\u00a0\u00a0\u00a0\u00a0extract($arr_data);\n\u00a0\u00a0\u00a0\u00a0\/* Create a merchantAuthenticationType object with authentication details\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0retrieved from the constants file *\/\n\u00a0\u00a0\u00a0\u00a0$merchantAuthentication = new AnetAPIMerchantAuthenticationType();\n\u00a0\u00a0\u00a0\u00a0$merchantAuthentication-&gt;setName(ANET_LOGIN_ID);\n\u00a0\u00a0\u00a0\u00a0$merchantAuthentication-&gt;setTransactionKey(ANET_TRANSACTION_KEY);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Set the transaction's refId\n\u00a0\u00a0\u00a0\u00a0$refId = 'ref'. time();\n\u00a0\u00a0\u00a0\u00a0\/\/ Subscription Type Info\n\u00a0\u00a0\u00a0\u00a0$subscription = new AnetAPIARBSubscriptionType();\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setName(\"Sample Subscription\");\n\u00a0\u00a0\u00a0\u00a0$interval = new AnetAPIPaymentScheduleTypeIntervalAType();\n\u00a0\u00a0\u00a0\u00a0$interval-&gt;setLength($intervalLength);\n\u00a0\u00a0\u00a0\u00a0$interval-&gt;setUnit(\"days\");\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule = new AnetAPIPaymentScheduleType();\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule-&gt;setInterval($interval);\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule-&gt;setStartDate(new DateTime($start_date));\n\u00a0\u00a0\u00a0\u00a0$paymentSchedule-&gt;setTotalOccurrences($totalcycles);\n\u00a0\u00a0\u00a0\u00a0\/\/$paymentSchedule-&gt;setTrialOccurrences(\"1\");\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setPaymentSchedule($paymentSchedule);\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setAmount($amount);\n\u00a0\u00a0\u00a0\u00a0\/\/$subscription-&gt;setTrialAmount(\"0.00\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$creditCard = new AnetAPICreditCardType();\n\u00a0\u00a0\u00a0\u00a0$creditCard-&gt;setCardNumber($card_number);\n\u00a0\u00a0\u00a0\u00a0$creditCard-&gt;setExpirationDate($expiry_date);\n\u00a0\u00a0\u00a0\u00a0$payment = new AnetAPIPaymentType();\n\u00a0\u00a0\u00a0\u00a0$payment-&gt;setCreditCard($creditCard);\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setPayment($payment);\n\u00a0\u00a0\u00a0\u00a0$order = new AnetAPIOrderType();\n\u00a0\u00a0\u00a0\u00a0$order-&gt;setInvoiceNumber(mt_rand(10000, 99999));\u00a0\u00a0 \/\/generate random invoice number\u00a0\u00a0\u00a0\u00a0 \n\u00a0\u00a0\u00a0\u00a0$order-&gt;setDescription(\"Daily Subscription For 1 USD\"); \n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setOrder($order); \n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$billTo = new AnetAPINameAndAddressType();\n\u00a0\u00a0\u00a0\u00a0$billTo-&gt;setFirstName($first_name);\n\u00a0\u00a0\u00a0\u00a0$billTo-&gt;setLastName($last_name);\n\u00a0\u00a0\u00a0\u00a0$subscription-&gt;setBillTo($billTo);\n\u00a0\u00a0\u00a0\u00a0$request = new AnetAPIARBCreateSubscriptionRequest();\n\u00a0\u00a0\u00a0\u00a0$request-&gt;setmerchantAuthentication($merchantAuthentication);\n\u00a0\u00a0\u00a0\u00a0$request-&gt;setRefId($refId);\n\u00a0\u00a0\u00a0\u00a0$request-&gt;setSubscription($subscription);\n\u00a0\u00a0\u00a0\u00a0$controller = new AnetControllerARBCreateSubscriptionController($request);\n\u00a0\u00a0\u00a0\u00a0$response = $controller-&gt;executeWithApiResponse( netauthorizeapiconstantsANetEnvironment::SANDBOX);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0if (($response != null) &amp;&amp; ($response-&gt;getMessages()-&gt;getResultCode() == \"Ok\")) \u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"SUCCESS: Subscription ID: \". $response-&gt;getSubscriptionId(). \"n\";\n\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0else\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"ERROR :\u00a0 Invalid responsen\";\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$errorMessages = $response-&gt;getMessages()-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Response: \". $errorMessages[0]-&gt;getCode(). \"\u00a0 \" .$errorMessages[0]-&gt;getText(). \"n\";\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0return $response;\n}\n?&gt;<\/code><\/pre>\n<p>Nous esp\u00e9rons que vous comprenez comment configurer les paiements r\u00e9currents dans Authorize.net. 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>Vous souhaitez param\u00e9trer le paiement r\u00e9current dans votre application ? Dans cet article, nous vous montrons comment configurer des paiements r\u00e9currents en utilisant Authorize.net.<\/p>\n","protected":false},"author":1,"featured_media":20728,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[273],"tags":[844],"class_list":["post-23803","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\/23803","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=23803"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23803\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/20728"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=23803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=23803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=23803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}