IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

ATOS Paiement et classe en PHP 5.6


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Points : 11
    Points
    11
    Par défaut ATOS Paiement et classe en PHP 5.6
    Salut,

    J'ai suivi le tuto
    http://thierry-godin.developpez.com/php/atos/
    Aucun souci pour l’installation cela fonctionne à la perfection .
    Par contre je code en POO et pour l'autoresponse je voudrais utiliser des classes PHP pour l'envoi de mail et une classe Facture avec une fonction add pour la BDD.

    Le souci c'est que je veux inclure mes classes :
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    require '/homez.362/XXXXXX/XXXXX/Php/PhpMailer.class.php';
    require '/homez.362/XXXXXX/XXXXX/Php/Mail_html.class.php';
    et par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if(!$bank_response_code)
    		switch ($response_code) 
    		{
    		case "75":
    			$mail = new PhpMailer(array('sujet'=>PhpMailer::PAIEMENT_SUJET."Paiement erreur",'message'=>Mail_html::message_html_paiement($arrayCaddie,$transaction_id),'paiement'=>true));
    $mail->Send();
    			break;
    		[....]
    		}
    Si j'utilise ce code les logs ne sont plus mis à jour et le mail ne s'envoie pas mais aucun message d'erreurs et la page renvoyé est la bonne.
    par contre si j'utilise ceci tout fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(!$bank_response_code)
    		switch ($response_code) 
    		{
    		case "75":
    			mail($destinataire, $objet."Paiement erreur", $message, $headers);
    			break;
    		[....]
    		}
    On dirait qu'il est impossible d'utiliser des classes en php 5.
    J'ai contacté ATOS et j'ai eu le droit à ceci :
    "Nous vous informons que nous n'apportons pas de support sur ce type de demande.
    En effet, il s'agit d'un encodage spécifique à cette boutique.
    "

    ... La Poo c'est devenu un standard depuis un moment donc bon, ça m’embête de bricoler un truc alors que tout est déjà dans mes classes.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Je ne sais pas quelle version de PHPMailer tu utilises mais la signature du constructeur ne correspond pas du tout à celle de la version actuelle (5.2.9).

    Ton message n'a pas de destinataire non plus.

    Teste ton code d'envoi de mail séparément (en dehors de l'API ATOS) et regarde déjà si ça marche.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Salut,
    Merci pour ton message.

    En effet, c'est parce que j'ai rajouté une surcouche à PHP Mailer.

    En dehors de l'API cela fonctionne parfaitement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
        public function __construct(array $array_value)
        {
    		if(isset($array_value['rang']) && $array_value['rang'])
    			{
    			(isset($array_value['from']) && $array_value['from'])?$this->setFrom($array_value['from'],self::DNS):0;
    			(isset($array_value['mail_client']) && isset($array_value['contact_client']) && $array_value['mail_client'] && $array_value['contact_client'])?$this->addAddress($array_value['mail_client'],$array_value['contact_client']):$this->addAddress($array_value['mail_commercial']);
    			(isset($array_value['mail_commercial']) && $array_value['mail_commercial'])?$this->addReplyTo($array_value['mail_commercial']):0;
    			(isset($array_value['sujet']) && $array_value['sujet'])?$this->Subject = $array_value['sujet']:0;
    			(isset($array_value['message']) && $array_value['message'])?$this->msgHTML($array_value['message']):0;
    			(isset($array_value['exceptions']) && $array_value['exceptions'])?$this->exceptions = true:0;
    			}
    		else	
    			{
    			(isset($array_value['from']) && $array_value['from'])?$this->setFrom($array_value['from'],self::DNS):0;
    			(isset($array_value['mail_client']) && isset($array_value['contact_client']) && $array_value['mail_client'] && $array_value['contact_client'])?$this->addAddress($array_value['from'],self::DNS):0;
    			(isset($array_value['mail_contant_paiement']) && $array_value['mail_contant_paiement'])?$this->addAddress($array_value['mail_contant_paiement']):0;
    			(isset($array_value['mail_commercial']) && $array_value['mail_commercial'])?$this->addCC($array_value['mail_commercial']):0;
    			(isset($array_value['mail_commercial']) && $array_value['mail_commercial'])?$this->addReplyTo($array_value['mail_client']):0;
    			(isset($array_value['sujet']) && $array_value['sujet'])?$this->Subject = $array_value['sujet']:0;
    			(isset($array_value['message']) && $array_value['message'])?$this->msgHTML($array_value['message']):0;
    			(isset($array_value['exceptions']) && $array_value['exceptions'])?$this->exceptions = true:0;
    			}
        }

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Points : 208
    Points
    208
    Par défaut
    Salut,

    Tu n'utilises pas de namespace par hasard ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par lilalex Voir le message
    Salut,

    Tu n'utilises pas de namespace par hasard ?
    Non je n'en utilise pas (pour l'instant).

    En tout cas j'ai trouvé la solution!!!

    En faite je travaille sur une version en ligne avec un htaccess avec authentification!

    En enlevant cette dernière ça fonctionne. (Ça fait un moment que je cherche la solution en essayant des trucs incroyables et au final c'était tout bête...) En même temps tout était accessible et aucune erreur....

    Je préfère cependant apporter la solution afin d'aider les personnes dans le même cas que moi.

    Merci à vous deux de m'avoir répondu. En vous souhaitant de bonnes fêtes de fin d'année.

    PS: J'étais sur le point de faire graver une épitaphe "Atos m'a tuer"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] Site de class en PHP
    Par Seth77 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 17/08/2006, 22h34
  2. Problème de classe avec PHP 5 ?
    Par MaTHieU_ dans le forum Langage
    Réponses: 9
    Dernier message: 15/07/2006, 12h36
  3. Réponses: 4
    Dernier message: 07/05/2006, 02h36
  4. [POO] faire des classes en php
    Par gromit83 dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2006, 17h10
  5. Réponses: 3
    Dernier message: 23/08/2004, 18h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo