bugs entre paypal IPN et Atos |
Bienvenue invité ( Connexion | Inscription )
bugs entre paypal IPN et Atos |
11 Apr 2009, 09:38
Message
#1
|
|
Ceinture orange OSC Groupe : Membres Messages : 203 Inscrit : 7-April 06 Membre no 9828 |
Depuis que j'ai installé la contribution de paiement de Pericles
http://www.oscommerce-fr.info/forum/index....owtopic=6938.Le paiement en paypal est ok mais j'ai pas de commande dans l'admin d'OS Commerce. En gros la table orders_total n'est pas mise à jour alors que la table orders est bien mise à jour Du coup dans l'admin de'oscommerce j'ai pas le montant total de la commande avec les frais de port le fichier en cause est checkout_confirmation.php . Car en remettant checkout_confirmation.php avant l'install de la contribution Atos .Ca remarche . j'ai mis en rouge les modifications qui sont à l'origine du bug suite à l'install de Atos Si vous avez une idée ca m'aiderait vraiment merci d'avance [code supprimé] je pense que c'est le tuto de Pericles qui est en cause Citation A la ligne 324, remplacer la ligne
echo tep_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER) . '</form>' . "\n"; par if (isset($$payment->form_submit)) { $form_submit = $$payment->form_submit; } else { $form_submit = tep_image_submit('button_confirm_order.gif', IMAGE_BUTTON_CONFIRM_ORDER); } echo $form_submit . '</form>' . "\n"; A la ligne 249, remplacer les lignes if (is_array($payment_modules->modules)) $confirmation = $payment_modules->confirmation(); par if (is_array($payment_modules->modules)) { if ($confirmation) { A la ligne 87, remplacer les lignes $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2); par $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2); if (is_array($payment_modules->modules)) $confirmation = $payment_modules->confirmation(); Ce message a été modifié par bigos - 12 Apr 2009, 11:50.
Raison de l'édition : [code supprimé] trop long et non mis en forme
|
|
10 Jun 2013, 16:28
Message
#2
|
|
Ceinture bleue OSC Groupe : Membres Messages : 912 Inscrit : 4-February 04 Membre no 1926 |
Bonjour,
Je me permet de remonter le sujet car je suis confronté au même problème. Quelqu'un a-t'il trouvé la correction ? -------------------- L'indispensable est en cours de traitement,
L'urgent sera traité demain, Le normal sera traité plus tard, Le reste on vera ... En conclusion : les journées sont trop courtes. Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-) |
|
10 Jun 2013, 17:03
Message
#3
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
sans doute des conflits dans les conditionnelles if else elseif ... vive la programmation procédurale !
bref, comparateur de fichiers pour voir où les instructions se chevauchent. |
|
10 Jun 2013, 18:12
Message
#4
|
|
Ceinture bleue OSC Groupe : Membres Messages : 912 Inscrit : 4-February 04 Membre no 1926 |
Ce que je ne capte pas c'est que seule les infos de la table orders_total ne sont pas enregistrées.
Les tables orders sont mises à jours via la fonction confirmation de paypal_ipn.php On met à jour la table orders (et on récupère un valeur pour $insert_id) et juste après on traite la table orders_total Code for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $sql_data_array = array('orders_id' => $insert_id, 'title' => $order_totals[$i]['title'], 'text' => $order_totals[$i]['text'], 'value' => $order_totals[$i]['value'], 'class' => $order_totals[$i]['code'], 'sort_order' => $order_totals[$i]['sort_order']); tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array); } L'explication logique serait que la boucle ne se fasse pas ; donc que l'array $order_totals ne soit pas défini. $order_totals est défini dans la fonction process_button de paypal_ipn.php Code $order_totals = array(); if (is_array($order_total_modules->modules)) { reset($order_total_modules->modules); while (list(, $value) = each($order_total_modules->modules)) { $class = substr($value, 0, strrpos($value, '.')); if ($GLOBALS[$class]->enabled) { for ($i=0, $n=sizeof($GLOBALS[$class]->output); $i<$n; $i++) { if (tep_not_null($GLOBALS[$class]->output[$i]['title']) && tep_not_null($GLOBALS[$class]->output[$i]['text'])) { $order_totals[] = array('code' => $GLOBALS[$class]->code, 'title' => $GLOBALS[$class]->output[$i]['title'], 'text' => $GLOBALS[$class]->output[$i]['text'], 'value' => $GLOBALS[$class]->output[$i]['value'], 'sort_order' => $GLOBALS[$class]->sort_order); } } } } } C'est probablement la condition : Code if (is_array($order_total_modules->modules)) { qui n'est plus remplie ; mais je ne vois pas en quoi les modifs faites sur checkout_confirmation interviennent -------------------- L'indispensable est en cours de traitement,
L'urgent sera traité demain, Le normal sera traité plus tard, Le reste on vera ... En conclusion : les journées sont trop courtes. Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-) |
|
11 Jun 2013, 06:38
Message
#5
|
|
Ceinture marron OSC Groupe : Membres Messages : 1665 Inscrit : 3-June 09 Membre no 25501 |
sans aucune certitude, mais ne manquerait il pas quelque part la globale $order_totals dans une fonction ?
|
|
11 Jun 2013, 17:55
Message
#6
|
|
Ceinture bleue OSC Groupe : Membres Messages : 912 Inscrit : 4-February 04 Membre no 1926 |
Pour l'instant je n'ai pas trouvé oû $order_totals serait absente.
Paypal_IPN marche sans soucis sans les modifs faites sur checkout_confirmation, donc logiquement rien ne manque Et je ne vois pas comment les modifs faites sur checkout_confirmation peuvent provoquer ce genre de soucis -------------------- L'indispensable est en cours de traitement,
L'urgent sera traité demain, Le normal sera traité plus tard, Le reste on vera ... En conclusion : les journées sont trop courtes. Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-) |
|
12 Jun 2013, 15:05
Message
#7
|
|
Ceinture bleue OSC Groupe : Membres Messages : 912 Inscrit : 4-February 04 Membre no 1926 |
Bon je n'ai pas encore compris le pourquoi de la chose, mais si je ne fais pas la manip suivante
Code A la ligne 249, remplacer les lignes if (is_array($payment_modules->modules)) $confirmation = $payment_modules->confirmation(); par if (is_array($payment_modules->modules)) { if ($confirmation) { A la ligne 87, remplacer les lignes $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2); par $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2); if (is_array($payment_modules->modules)) $confirmation = $payment_modules->confirmation(); Tout semble fonctionner sans problème atos, paypal etc ... C'est donc l'ordre des instructions qui pose problème. -------------------- L'indispensable est en cours de traitement,
L'urgent sera traité demain, Le normal sera traité plus tard, Le reste on vera ... En conclusion : les journées sont trop courtes. Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-) |
|
13 Jun 2013, 13:57
Message
#8
|
|
Ceinture bleue OSC Groupe : Membres Messages : 912 Inscrit : 4-February 04 Membre no 1926 |
La solution semble être de déplacer la commande
Code if (MODULE_ORDER_TOTAL_INSTALLED) { $order_total_modules->process(); } avant Code if (is_array($payment_modules->modules)) $confirmation = $payment_modules->confirmation(); Avec cette manip tout fonctionne ; mais je ne comprend pas la logique de la chose. Si quelqu'un pouvait m'expliquer je serais moins bête Merci -------------------- L'indispensable est en cours de traitement,
L'urgent sera traité demain, Le normal sera traité plus tard, Le reste on vera ... En conclusion : les journées sont trop courtes. Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-) |
|
Version bas débit | Nous sommes le : 16th April 2024 - 07:26 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |