Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Atos Sips 1.1.0 (Faille exploitable corrigé)
 
Boutik Circus
Member
 
Avatar
Total Posts:  72
Joined:  2008-10-06
France
 

Je suis en train de migrer sur la nouvelle version 1.1.7 avec le nouveau module. Je pourrais faire un retour jeudi mais pas avant…

 
Magento Community Magento Community
Magento Community
Magento Community
 
steph_paris15
Jr. Member
 
Total Posts:  10
Joined:  2008-03-31
 
ryu007 - 22 November 2008 12:15 PM

J’ai zappé la première méthode.

J’aurais besoin de beta-testeur par contre.
Il n’y a qu’un seul fichier à modifier pour prendre en compte les changements.

Modifier le fichier /skin/frontend/votre_template/default/js/opcheckout.js :
La fonction à modifié est nextStep de la classe Checkout (~ Ligne 700)

nextStep: function(transport){
        
if (transport && transport.responseText{
            
try {
                response 
eval('(' transport.responseText ')');
            
}
            
catch (e) {
                response 
{};
            
}
            
            
var atosMethodRegexp = new RegExp('[atos]'"g");
            var 
elements Form.getElements('co-payment-form');
            
            for (var 
i=0i<elements.lengthi++) {
                
if (elements[i].name=='payment[method]'{
                    
if (elements[i].checked{
                        
var currentPaymentMethod elements[i].value;
                    
}
                }
            }
            
            
if (response.redirect && currentPaymentMethod.match(atosMethodRegexp))
            
{
                
new Ajax.Request(response.redirect{method:'get',
                  
onSuccess: function success(response{
                      
var content '<li id="opc-atos" class="section allow active">'+
                                    
'<div class="head"><h3><span class="step-count">6</span> Valider votre paiement</h3></div>'+
                                    
'<div id="ajax-atos">'+response.responseText+'</div>'+
                                    
'</li>';
                                    
                      $(
'checkout-step-review').hide();
                      $(
'checkoutSteps').insert(content);
                      
                      $$(
'.head').each(function(titleindex{
                          
if (index <= 3{
                              Event
.observe(title'click', function(e{
                                  
$('opc-atos').remove();
                                  
e.stop();
                              
});
                          
}
                      }
);
                  
},
                  
onFailure: function failure() {
                      
// TO DO
                  
}
                }
);
                return;
            
}
            
if (response.redirect{
                location
.href response.redirect;
                return;
            
}
            
if (response.success{
                this
.isSuccess true;
                
[removed]=this.successUrl;
            
}
            else{
                
var msg response.error_messages;
                if (
typeof(msg)=='object'{
                    msg 
msg.join("\n");
                
}
                alert(msg)
;
            
}
        }
    }
,

Le script va charger le contenu du controller atos response.
Et ajouter une section html au onepage avec les cartes de crédit.

en cas de clique sur une autre section telle que Adresse de facturation, Adresse de livraison, etc. (sauf le review)
Le fichier javascript supprimera le bloc ajouté des cartes de crédits.
Cela fonctionne avec tous les modules (paiement en 3x fois, aurore, standard).

Aucune modification pour les autres modules de paiement.
Le module redirige normalement pour les autres.

Dites moi ce que vous en pensez.

(Votre réponse doit générer de l’HTML brut, pas de chargement de layout ou autre, ok ?)

Tester sur IE7 et Mozilla firefox 3.

[Edition] Correction d’un problème avec le Payment.currentMethod.

Bonsoir à tous,

Très bien cette méthode, je trouve !

J’ai juste fait une petite modif pour griser l’étape précédente (comme pour les autres étapes) :

// Permet de changer le style de l'étape précédente (étape 5)
                      $('opc-review').removeClassName('active');
--> à placer après $(’checkout-step-review’).hide();

Par aileurs, je n’ai pas encore pu tester le tout sur IE6.

Stéphane

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mitirapa
Jr. Member
 
Total Posts:  30
Joined:  2007-08-31
 

Salut,

gros bug avec la 1.1.8 :
quand on choisit ce mode de paiement, ca enleve du stock et ca bloque la commande car le produit n’est plus en stock.

exemple : j’ai 1 livre “X” en stock dans mon back office
si j’essai de l’acheter, j’arrive bien a l’etape de paiement (onepage), mais quand je clique sur le dernier bouton pour payer, ca enleve 1 du stock, mais du coup ca bloque ma commande et ca me dit “* Ce produit est actuellement épuisé. “ alors qu’il etait bien en stoclk, et je suis rerouté donc sur le panier au lieu d’acceder a la page de paiment

et ayant quasi tt le tps des produits en 1 en quantité… j’suis un peu emmerdé :D

 
Magento Community Magento Community
Magento Community
Magento Community
 
Boutik Circus
Member
 
Avatar
Total Posts:  72
Joined:  2008-10-06
France
 

Exact! J’ai le même problème avec la version 1.1.7!
Je n’ai malheureusement pas le temps de regarder ca avant ce we....

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mageho
Sr. Member
 
Avatar
Total Posts:  291
Joined:  2008-03-24
France, Paris
 

mais quand je clique sur le dernier bouton pour payer

Sur quel bouton ?
Le bouton de la page “récapitulatif panier” ?

Des clients m’ont harcelés au téléphone car il n’arrivait pas à passer commande.
Je commence à comprendre alors.

quand on choisit ce mode de paiement, ca enleve du stock et ca bloque la commande car le produit n’est plus en stock.

ça n’est pas le module qui enlève du stock.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mageho
Sr. Member
 
Avatar
Total Posts:  291
Joined:  2008-03-24
France, Paris
 

J’ai fait un essai avec un produit de ma boutique.
ça a l’air de bien fonctionner.

Est-ce que l’option “Commande en rupture de stock” est à “Pas de commande au-delà des stocks” chez toi ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mageho
Sr. Member
 
Avatar
Total Posts:  291
Joined:  2008-03-24
France, Paris
 

Le problème vient de la méthode checkQuoteItemQty de la classe Mage/CatalogInventory/Model/Stock/Item.php
Magento fait la vérification lors du review dorénavant et non plus à l’enregistrement de la commande.

ça va contribuer à bien compliqué les choses tout ça.

Je voudrais dire que ça ressemble plus à une erreur de programmation cette erreur.
Car avec le module paypal, ça fonctionne partiellement mais lors de l’annulation du paiement sur le serveur paypal la quantité est bien décrémenté.

On ne peut plus comme avant choisir un autre module de paiement, faire ses modifications, etc en cliquant sur le bouton précédent de son navigateur (le bouton retour paypal fonctionne, mais les gens ont tendances à utiliser la touche précédente).

Je pense trouver la solution dans le module PayPal fait par Varien, mais on ne pourra plus revenir en arrière ?

[Edit]
Pour résoudre le problème,
Il faut modifier les controllers atos (several, aurore, standard)

Pour le controller standard :

public function redirectAction()
{
$session = Mage::getSingleton(’checkout/session’);
$session->setAtosStandardQuoteId($session->getQuoteId());
$this->getResponse()->setBody($this->getLayout()->createBlock(’atos/standard_redirect’)->toHtml());
$session->unsQuoteId();
}

Pour several et aurore modifier setAtosStandardQuoteId par respectivement setAtosSeveralQuoteId et setAtosAuroreQuoteId.

Seulement le client est dans l’obligation de payer, si il revient sur la boutique le produit sera hors stock.
Le problème existe aussi sur paypal donc il faut le signaler à l’equipe.

En attendant, ne perdez pas de vente et faites les modifications nécessaires.

[Edit 2]
A noter que le code javascript ci-dessous n’est plus bon.
je posterais le nouveau code plus tard.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Funforge
Jr. Member
 
Total Posts:  3
Joined:  2008-10-29
 

Bonjour,

Merci Ryu007 pour ce module plus que bien utile !
J’ai fini par faire fonctionner sans problème le module ATOS/SIPS mais j’ai un dernier problème persistant que je ne parviens pas à résoudre et qui, bien que mineur, est génant : le logo marchand ne s’affiche pas sur les pages de paiement (sogenactif), à la place j’ai le placeholder “logo”. J’ai paramétré les paths dans le pathfile, les logos des cartes de paiement s’affichent correctement d’ailleurs, j’ai placé le fichier correspondant (bon nom, bon format de fichier) dans cet endroit là et je ne le vois toujours pas apparaitre sur la page de paiement.
J’ai peut-être raté quelque chose au niveau de la configuration des pathfiles mais je ne vois pas quoi.
Merci de votre aide.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mageho
Sr. Member
 
Avatar
Total Posts:  291
Joined:  2008-03-24
France, Paris
 

Il faut que tu te rapproches de ta hotline.
C’est à eux d’uploader ton logo (on est en connexion sécurisé, n’oublie pas) et à parametrer ton front-office.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Funforge
Jr. Member
 
Total Posts:  3
Joined:  2008-10-29
 

Ok, c’est ce qu’il me semblait le plus logique après avoir tout essayé de mon côté mais je n’en étais pas certain.
Merci !

 
Magento Community Magento Community
Magento Community
Magento Community
 
anatalsceo
Jr. Member
 
Avatar
Total Posts:  20
Joined:  2008-04-03
 

Merci pour ce module.
Vraiment très bien fait. Un peu de problème à l’installe, mais en lisant correctement ce post et le précédent on s’en sort.

Du très beau travail.

Damien

 
Magento Community Magento Community
Magento Community
Magento Community
 
Funforge
Jr. Member
 
Total Posts:  3
Joined:  2008-10-29
 

Désolé de revenir avec ma question concernant le logo mais après l’avoir fourni à ATOS j’ai eu comme réponse :

“Vous devez appeler votre logo depuis votre requête de paiement.
Par exemple, depuis le champ “logo_id” ou “logo_id2” de votre script de requête.”

Je ne comprends pas bien quel fichier éditer. Il me semblait qu’il s’agissait des pathfiles mais il semble que non (d’ailleurs il y a 2 pathfiles de générés un pathfile.XXXXXX et un pathfile.parmcom.XXXXXX, lequel correspond à quoi ?).
Quelqu’un aurait-il l’amabilité d’indiquer quels fichiers éditer pour indiquer les différents chemins (quand je rentre l’url complète du logo dans le parmcom client cela génère une erreur car le lien est trop long).
Merci d’avance !

[EDIT] Finalement il semblerait que j’avais mal édité le fichier parmcom, apparemment tout est en ordre, merci !

 
Magento Community Magento Community
Magento Community
Magento Community
 
Matthieu26
Jr. Member
 
Total Posts:  14
Joined:  2008-07-31
 

ryu007, bonne nouvelle, ta contribution marche très bien avec ie 6 !

J’ai modifié le fichier opcheckout.js pour l’adapter à un thème dérivé du modern theme.

 
Magento Community Magento Community
Magento Community
Magento Community
 
poupougnac
Jr. Member
 
Total Posts:  16
Joined:  2008-05-27
 

Merci ryu007 pour ce module que j’utilise et qui marche parfaitement. Je me posais une question concernant le logo visible sur la page de la saisie du code bancaire. J’ai sur cette page “Logo du site” à la place du logo que j’ai envoyé à ATOS. Ceux-ci m’ont expliqué que je devais faire un appel à mon logo via le call_request.
Je pensais me mettre un peu dans l’exploration de ton module à moins qu’il y ai une solution déjà disponible car ça me semble une opération assez utile pour tous. Quelqu’un à une solution?

Edit:Fichier à modifier dans le parmcom.XXXXXX à cette ligne LOGO!logo_atos.gif!

 
Magento Community Magento Community
Magento Community
Magento Community
 
Mageho
Sr. Member
 
Avatar
Total Posts:  291
Joined:  2008-03-24
France, Paris
 

J’ai une nouvelle contribution que je vous soumettrais bientôt.

Elle permet de faire :
- Gestion des Acomptes.
- Paiement en attente (si le client part du processus de commande) :
Le client peut payer sur l’historique de commande
- Nouvelle commande crée dans le back-office :
Le client peut payer sur l’historique de commande
- Paiement supplémentaire
Régler des suppléments (produit ajoutés, frais d’expédition supplémentaires, etc.)

et apporte quelques modifications techniques à l’ensemble.
Dont l’amélioration du debuggage et de la création de fichier.

Sachez que je détiens pas les droits sur cette contribution :
Vous pouvez l’améliorer.
SI des bugs sont présent faites les remonter.

Quelqu’un peut-il m’indiquer comment uploader la contribution sur magento connect aussi.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top