Magento 2 Telesales Integration

Aperçu

Ce guide décrit comment ajouter le module complémentaire Affirm Telesales pour Magento 2. Ce module permet à vos représentants téléphoniques et administrateurs de proposer Affirm comme option de paiement lors de la création de commandes dans Magento. Lorsqu'ils créent une commande à l'aide de l'option Téléventes, Affirm envoie au client un lien par courriel et par SMS pour commencer le processus de demande de prêt.

Avant de commencer

Avant d'ajouter le module, vous devez avoir déjà installé et configuré Affirm pour Magento 2.

Cliquez ici pour consulter les notes de version du module de téléventes de Magento 2.

Développement de Sandbox

Développez et testez l'intégration d'Affirm dans votre environnement de développement connecté à notre bac à sable. Pour utiliser notre bac à sable, récupérez vos clés API sandbox sur https://sandbox.affirm.com/dashboard/#/apikeys à utiliser pendant l'intégration.

Notez que nous n'envoyons des SMS avec le lien de paiement que depuis l'environnement Affirm Live. Pendant les tests en environnement Sandbox, utilisez des courriels pour le lien de caisse.

Après le développement et les tests, vous devrez mettre à jour votre intégration pour utiliser vos clés d'API actives, que vous trouverez à l'adresse https://affirm.com/dashboard/#/apikeys.

1. Installer le module M2 Telesales

Téléchargez le module complémentaire Magento Telesales ici

Installation à l'aide de Composer

1. Allez sur MAGENTO_ROOT et exécutez la commande suivante :

composer require affirm/magento2-telesales

2. Mettez à jour le module en exécutant les commandes suivantes :

composer update
php bin/magento setup:upgrade
php bin/magento setup:di:compile

2. Configurer le module M2 Telesales

Après avoir installé le module Magento 2 Telesales, activez-le en mettant à jour les configurations de Magento 2 :

1. Connectez-vous à votre portail d'administration Magento 2.
2. Accédez à Magasins > Configuration > Ventes > Modes de paiement > Affirm > Extension de téléventes Affirm.
3. Définissez Activé à Oui.
4. Sous Affirm, gardez le paramètre Mode défini sur Sandbox (pour le développement et les tests) et assurez-vous que les autres paramètres sont configurés, tels que la clé API publique et la clé API privée que vous avez récupérées dans le tableau de bord de commerçant Sandbox d'Affirm.
5. Si votre processus de caisse capture automatiquement les frais, définissez Action de paiement sur Autoriser et capturer.


3. Testez le module M2 Telesales

Nous envoyons uniquement des SMS avec le lien de paiement de l'environnement Affirm Live. Pendant les tests en environnement Sandbox, utilisez des courriels pour le lien de caisse.

1. Dans votre système de gestion des commandes, créez une commande.
2. Saisissez une adresse aux États-Unis et un numéro de téléphone mobile valides (Affirm ne fonctionnera pas avec une fausse adresse ou un faux numéro de téléphone).
3. Sélectionnez Affirm comme option de paiement.

4. Cliquez sur Soumettre la commande pour la placer dans un état d'attente.
5. Sous Informations de paiement, cliquez sur le bouton Envoyer le lien de caisse Affirm.

6. Trouvez le courriel contenant le lien de paiement et cliquez dessus.
7. Si vous possédez déjà un compte, cliquez sur Se connecter.
8. Si vous n'avez pas de compte existant, créez-en un avec les éléments suivants :

  • Tout nom et prénom
  • Une adresse courriel avec un format valide
  • Un numéro de téléphone cellulaire américain valide (vous n'avez pas besoin d'accéder à ce numéro) que vous utiliserez lors de toutes les tentatives de paiement ultérieures
  • Une date de naissance supérieure à 18 ans
  • Quatre chiffres au choix

9. Saisissez 1234 pour le code de vérification et cliquez sur VÉRIFIER LE CODE.
10. Terminez le processus de caisse et cliquez sur CONFIRMER LE PRÊT.
11. Vérifiez que la commande est traitée ou complétée dans votre tableau de bord de gestion des commandes.
12. Vérifiez que la transaction apparaît dans le panneau d'administration de votre plateforme et sur sandbox.affirm.com/dashboard.


Étape 4. Mettre en ligne

Étape 1 : Développement de Sandbox

Avant de mettre en œuvre votre intégration Affirm, nous vous suggérons de la tester dans votre environnement de développement connecté à notre bac à sable. Pour utiliser notre bac à sable, récupérez vos clés API sandbox sur https://sandbox.affirm.com/dashboard/#/apikeys à utiliser pendant l'intégration.

Après le développement et les tests, vous devrez mettre à jour votre intégration pour utiliser vos clés d'API actives, que vous trouverez à l'adresse https://affirm.com/dashboard/#/apikeys.

Étape 3 : Connexion à l'environnement Affirm en ligne

1. Récupérez vos clés API en direct à l'adresse https://affirm.com/dashboard/#/apikeys.
2. Dans le panneau d'administration de Magento 2, allez sur Magasins > Configuration > Ventes > Méthodes de paiement > Affirm.
3. Définissez Mode sur Production.
4. Saisissez la clé publique API et la clé secrète (clé privée) que vous venez de récupérer dans le tableau de bord du commerçant Affirm.

Étape 3 : Mettre en ligne!

Une fois que vous vous êtes connecté à notre environnement réel et que nous avons testé votre intégration, vous êtes prêt à passer à l'action et à proposer Affirm comme option de paiement à vos clients.


FAQ et autres problèmes connus

1. How to solve compatibility issues with Magento 2.2.x
Magento 2.2.x version or lower will need to have the following functions replaced:
addCommentToStatusHistory --> addStatusHistoryComment

// Update order history comment
$order->addStatusHistoryComment('Affirm checkout has been sent to the customer. Checkout token: '.$checkout_token, false, false);

Les modifications liées à CsrfAwareActionInterface devront être supprimées :
class Confirm extends Action implements CsrfAwareActionInterface --> class Confirm extends Action

class Confirm extends Action

2. How to solve blank admin error page issue when installing under MAGENTO_ROOT/app/code/
Magento 2.2.x:

{
    $realPath = str_replace('\\', '/', $this->fileDriver->getRealPath($path));
    if (!is_array($directories)) {
        $directories = (array)$directories;
    }
    foreach ($directories as $directory) {
        if (0 === strpos($realPath, $directory)) {
            return true;
        }
    }
    return false;
}

Magento 2.3.x :

$realPath = str_replace('\\', '/', $this->fileDriver->getRealPath($path));