FAQ sur Adobe Commerce

Obtenez des réponses aux questions courantes sur votre intégration Adobe Commerce avec Affirm.

Impact de la politique relative aux témoins de Chrome SameSite sur mon intégration Adobe Commerce?

Avec la récente version de la politique relative aux cookies SameSite de Google Chrome, la dernière version de Chrome a mis à jour la façon dont elle gère les fichiers témoins. Par conséquent, nous avons constaté une augmentation des échecs d'autorisation de prêt pour les commerçants Adobe Commerce intégrés à Affirm. Consultez notre guide pour en savoir plus sur ce problème et pour savoir comment le résoudre.


Comment modifier le placement mensuel des messages de paiement sur les détails du produit ou la page du panier?

Pour placer un message de paiement mensuel sur les détails du produit :

  1. Sur la page d’administration d’Adobe Commerce, accédez à Magasins > Configuration > Général > Promotions Affirm.
  2. Dans la section Paramètres supplémentaires du développeur Aussi bas que, définissez les options de placement du PDP pour Aussi peu que sur l'une de ces options :
  • Après le prix (sélectionné par défaut)
  • Avant le prix
  • Renseignements sur la fin du produit
2266

Cette intégration utilise le bloc Affirm/Block/Promotion/ProductPage/Aslowas et le modèle Affirm/view/frontend/templates/promotion/aslowasPDP.phtml .

Pour inclure ce bloc à un emplacement spécifique sur la page du produit ou du panier, vous devez sélectionner l'ancre appropriée (la page du produit par défaut dans Adobe Commerce est  catalog_product_view.xml) et le bloc ou le conteneur parent, qui rendra le bloc aussi peu que le bloc (en utilisant <referenceBlock name="parent_block_name"> structure ou <referenceContainer name="test_content">), où parent_block_name - nommez le bloc parent dans la mise en page).


Que faire si je vois un message d'erreur « Ligne d'en-tête non valide détectée » lorsque je passe une commande avec Affirm?

Cette erreur est causée par une mise à niveau de nos Load Balencers d'AWS Classic ELB vers AWS Application Load Balancer et le nouveau ALB prend en charge HTTP/1.1 et HTTP/2. Par conséquent, les clients qui prennent en charge HTTP/2 effectueront une mise à niveau automatique. Il est probable que cURL procède également à une mise à niveau automatique vers HTTP/2, de manière transparente, c'est-à-dire qu'elle envoie une requête HTTP/2 avec une réponse HTTP/2, sur le fil.

Nous utilisons la bibliothèque Zend Framework d'Adobe Commerce pour les requêtes cURL et elle ne prend pas en charge HTTP/2. Nous prévoyons de passer à une autre bibliothèque ou à une cURL d'Adobe Commerce à l'avenir. En attendant, vous pouvez suivre les instructions ci-dessous pour appliquer un correctif pour ajouter la prise en charge HTTP/2 à la bibliothèque ZF1.

// Modify the following file path around line 185:
File path : <magento root>/vendor/magento/zendframework1/library/Zend/Http/Response.php 
// From:
        if (! preg_match('|^\d\.\d$|', $version)) {
// To:
        if (! preg_match('|^\d\.\d$|', $version) && ($version != 2)) { // Hot fix by Affirm
 
// Modify the following file path around line 517:
File path : <magento root>/vendor/magento/zendframework1/library/Zend/Http/Response.php

// From:
        if ($index === 0 && preg_match('#^HTTP/\d+(?:\.\d+) [1-5]\d+#', $line)) {
            // Status line; ignore
            continue;
        }
// To:
        if ($index === 0 && preg_match('#^HTTP/\d+(?:\.\d+) [1-5]\d+#', $line)) {
            // Status line; ignore
            continue;
        }
        // Hot fix by Affirm
        if ($index === 0 && preg_match('#^HTTP/2 200#', $line)) {
            // Status line; ignore
            continue;
        }

Comment puis-je obtenir le paiement Affirm pour travailler avec Magento 2.2 ou une version inférieure?

Vous pouvez utiliser la version 2.1.5 pour Magento 2.2 et versions antérieures.

Utilisez la commande ci-dessous pour l'installation de Composer :

composer require affirm/magento2:2.1.5
composer update
php bin/magento setup:upgrade
php bin/magento setup:di:compile

Affirm prend-il en charge le paiement multiexpédition?

Non, Affirm ne prend pas en charge le paiement multiexpédition car nous utilisons les adresses d'expédition et de facturation du client dans notre processus de souscription pour valider la fraude.

Appliquer le patch Gzip

Créez un fichier gzip.patch dans le répertoire Magento Root avec le code suivant

diff --git a/vendor/affirm/magento2/Gateway/Http/Client/ClientService.php b/Gateway/Http/Client/ClientService.php
index 415efcc..2242dcd 100644
--- a/vendor/affirm/magento2/Gateway/Http/Client/ClientService.php
+++ b/vendor/affirm/magento2/Gateway/Http/Client/ClientService.php
@@ -135,7 +135,7 @@ class ClientService implements ClientInterface
                 $client->setRawData($data, 'application/json');
             }
             $response = $client->request($transferObject->getMethod());
-            $rawResponse = $response->getRawBody();
+            $rawResponse = $response->getBody();
             $response = $this->converter->convert($rawResponse);
         } catch (\Exception $e) {
             $log['error'] = $e->getMessage();

Dans l'interface de ligne de commande, exécutez les commandes suivantes en fonction de l'extension de correctif :

patch < gzip.patch

Si vous êtes invité à entrer le fichier à corriger, saisissez

vendor/affirm/magento2/Gateway/Http/Client/ClientService.php