osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Ajout de code partenaire dans la confirmation de commande
seb57
posté 16 Jul 2008, 14:02
Message #1


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 17
Inscrit : 11-October 02
Membre no 496



Bonjour,

Je dois ajouter un code qui transmet le prix et le numéro de bon de commande à mon partenaire une fois que la commande est validée.

Code
<img src="http://xxx.com/scripts/sale.asp?fournisseur=LOGIN_FOURNISSEUR&prix=PRIXPRODUIT&produit=PRODUIT&statut=LESTATUT&type=LETYPE&code=CODEREFERENCE&donnee=VAR&rand=NOMBREALÉATOIRE" width=1 height=1>

"Pour tracker les ventes, vous devez activer ce code IMAGE et être en mesure d'y ajouter la variable prix et un nombre aléatoire. L'idéal est de mettre ce code sur la page web résultant d'un achat sur votre site. "

Donc je voudrais savoir sur quel page je dois insérer ce code

Merci d'avance
Go to the top of the page
 
delete
posté 16 Jul 2008, 15:04
Message #2


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Sur la page checkout_success. Car l'utilisateur y arrive, en théorie, forcement quand la vente est finalisée.

Go to the top of the page
 
seb57
posté 16 Jul 2008, 16:55
Message #3


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 17
Inscrit : 11-October 02
Membre no 496



Merci pour ta réponse

Le probleme est que je ne trouve pas les variables correspondant au prix total dans ce fichier

Tu as une idée ?
Go to the top of the page
 
delete
posté 16 Jul 2008, 17:07
Message #4


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Il y a un moyen :

Dans checkout_process, enregistrer la valeur provenant du panier et l'enregistrer dans une variable de session avant $cart->reset(true) :

$total = $cart->show_total();
tep_session_register('total');

Et ensuite récupérer cette valeur dans checkout_sucess :

echo $total ;

Ce message a été modifié par delete - 16 Jul 2008, 17:08.
Go to the top of the page
 
seb57
posté 17 Jul 2008, 10:24
Message #5


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 17
Inscrit : 11-October 02
Membre no 496



Je viens de mettre ce code en place et tout a l'air correct

J'ai une dernière question quelle variable utiliser pour avoir le total HT sans les frais de port ?

Merci beaucoup pour ton aide
Go to the top of the page
 
delete
posté 17 Jul 2008, 10:54
Message #6


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



show_total() c'est déjà sans les frais de port.

Pour le total H.T. de la commande il faut faire une boucle sur le tableau $products, j'ai trouvé ca chiant et comme je travaille à 100% à 19.6 %
sur mes retours d'affiliation je renvoie la valeur $show_total() / 1.196 cool.gif

C'est pas très propre hein sad.gif
Go to the top of the page
 
delete
posté 17 Jul 2008, 11:08
Message #7


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Ca m'a donné des scrupules alors je suis aller corriger ca ninja.gif :

tu enregistre ta variable dans checkout_paiement.php :

$total_ht = $order->info['subtotal'] -$order->info['tax'] ;
tep_session_register('total_ht');

et voilà !

Ce message a été modifié par delete - 28 Jul 2008, 13:26.
Go to the top of the page
 
seb57
posté 17 Jul 2008, 12:33
Message #8


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 17
Inscrit : 11-October 02
Membre no 496



Super! Merci pour ton aide

Bonne continuation
Go to the top of the page
 
shoprun
posté 7 Nov 2008, 13:40
Message #9


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



J'arrive sur ce sujet par le biais d'un lien d'un autre sujet, et il me semble qu'il y aurait une petite correction à apporter.

Théoriquement, il est possible qu'une boutique est des produits dans le panier avec des TVA différentes, genre TVA normal et TVA réduite.
Pour éviter une certaine incohérence potentiel sur le montant total HT (hors tout : frais de port ...), le moment le plus opportun à mon sens se trouve dans la classe order.php -> catalog/includes/classes/orders.php

Répérer ce code : (ligne ~250)
Code
$shown_price = $currencies->calculate_price($this->products[$index]['final_price'], $this->products[$index]['tax'], $this->products[$index]['qty']);
$this->info['subtotal'] += $shown_price;


Et rajouter comme ceci :
Code
// Prix_HT_BOC
$price_ht = $currencies->calculate_price($this->products[$index]['final_price'], 0, $this->products[$index]['qty']);
$this->info['subtotal_ht'] += $price_ht;
// Prix_HT_EOC
$shown_price = $currencies->calculate_price($this->products[$index]['final_price'], $this->products[$index]['tax'], $this->products[$index]['qty']);
$this->info['subtotal'] += $shown_price;


Pour la suite, il suffit d'exploiter cette nouvelle donnée dans les autres codes comme ceci pour obtenir le montant HT :
echo $order->info['subtotal_ht'];


Faut vérifier aussi que dans les autres codes l'objet $order est bien une portée/visibilité "global", exemple :
Code
function leChmilblik($var1, $var2) {
    global $order;
    
    echo $order->info['subtotal_ht'];
}


--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
troubadour
posté 7 Nov 2008, 15:58
Message #10


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



merci pour toutes ces indications !
Go to the top of the page
 
troubadour
posté 12 Nov 2008, 11:26
Message #11


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



bonjour,

je ne sais pas vraiment quelle variables utiliser pour trouver le sous-total.

sur mon oscommerce, j'ai ceci dans la page checkout_confirmation.php



la ligne sous-total est bien le montant sans tva ni frais de port.

où puis-je trouver cette variable?

merci!

Ce message a été modifié par troubadour - 12 Nov 2008, 12:00.
Go to the top of the page
 
troubadour
posté 12 Nov 2008, 16:06
Message #12


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



et j'ai essayé de trouver ce code dans la page dite, mais il n'y figure pas :

CODE
$shown_price =
$currencies->calculate_price($this->products[$index]['final_price'],
$this->products[$index]['tax'], $this->products[$index]['qty']);
$this->info['subtotal'] += $shown_price;


est-ce normal?
Go to the top of the page
 
troubadour
posté 12 Nov 2008, 16:30
Message #13


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



autre question:

comment modifier la phrase "Frais au Total (Meilleur choix):"

j'ai cherché dans l'admin et dans le code source des pages, mais je n'ai pas trouvé...
Go to the top of the page
 
troubadour
posté 19 Nov 2008, 09:09
Message #14


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



bonjour,

savez-vous quelle variable utiliser pour récupérer le numéro de référence de la commande?
Go to the top of the page
 
delete
posté 19 Nov 2008, 09:55
Message #15


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



A mon sens, après réflexion, il n'y a ni besoin de faire des modifications dans la classe order ni se trimbaler des variables de session.

Le plus simple dans checkout_sucess.php, c'est de déclarer la classe order et récupérer les éléments nécessaires :

Après application_top.php
Code
  require(DIR_WS_CLASSES . 'order.php');


En fin de fichier :
Code
$order = new order((int)$orders['orders_id']);


Les éléments dont on peut avoir besoin sont ici
Code
$id    = (int)$orders['orders_id'];
$taxes = $order->info['tax']; // 5.5 & 19.6 confondus
$total_HT = $order->info['subtotal'];
$total_TTC     = $order->info['total'];
$frais_de_port = $order->info['shipping_cost'];


Le notifications sont activées par défaut si ce n'est pas le cas (ligne 40 env) :
déplacer la ligne if ($global['global_product_notifications'] != '1') {
en dessous de $orders = tep_db_fetch_array($orders_query);

Ce message a été modifié par delete - 19 Nov 2008, 09:57.
Go to the top of the page
 
troubadour
posté 19 Nov 2008, 11:07
Message #16


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



Citation (delete @ 19 Nov 2008, 10:55) *
En fin de fichier :
Code
$order = new order((int)$orders['orders_id']);



merci pour ton aide ! à quoi sert ce code en fin de fichier?
Go to the top of the page
 
delete
posté 19 Nov 2008, 11:24
Message #17


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Je récapitule :
Code
$order = new order((int)$orders['orders_id']);

$id    = (int)$orders['orders_id'];
$taxes = $order->info['tax']; // 5.5 & 19.6 confondus
$total_HT = $order->info['subtotal'];
$total_TTC     = $order->info['total'];
$frais_de_port = $order->info['shipping_cost'];


Car sinon tu n'auras aucune info sur ta commande wacko.gif

Ce message a été modifié par delete - 19 Nov 2008, 11:25.
Go to the top of the page
 
troubadour
posté 19 Nov 2008, 11:31
Message #18


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



dès que je mets le code

CODE
require(DIR_WS_CLASSES . 'order.php');



ça fait planter mon fichier checkout_confirmation.php (je dois mettre le tag dans cette page).


tu sais pourquoi?

Ce message a été modifié par troubadour - 19 Nov 2008, 11:31.
Go to the top of the page
 
delete
posté 19 Nov 2008, 11:34
Message #19


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Oui la classe order est déjà déclarée.

C'est dans checkout_success qu'il faut le mettre ton tag, dans checkout_confirmation le client n'a pas encore payé.
Go to the top of the page
 
troubadour
posté 19 Nov 2008, 11:53
Message #20


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



j'ai pas le choix, le client le veut là ! blush.gif

donc j'ai mis ton code

CODE
$order = new order((int)$orders['orders_id']);

$id = (int)$orders['orders_id'];
$taxes = $order->info['tax']; // 5.5 & 19.6 confondus
$total_HT = $order->info['subtotal'];
$total_TTC = $order->info['total'];
$frais_de_port = $order->info['shipping_cost'];


mais ça ne ressort pas le numéro de référence...
Go to the top of the page
 
oneill
posté 19 Nov 2008, 12:08
Message #21


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 7619
Inscrit : 28-December 03
Lieu : Hollywood les Granits
Membre no 1773



(je me mèle à la conversation)

Et pour cause, à checkout_confirmation le n° de commande n'est pas encore créé. Ton client le veut là, oui, mais faudra lui expliquer. De base, le n° de commande est créé quand le paiement est effectué.


--------------------
Go to the top of the page
 
troubadour
posté 19 Nov 2008, 13:11
Message #22


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



merci tu as bien fait de te mêler de la conversation !! wink.gif
Go to the top of the page
 
troubadour
posté 4 Dec 2008, 10:11
Message #23


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



si jamais ça peut servir à quelqu'un, on m'a filé une autre façon de faire :

Please backup your existing OsCommerce files before making any changes.
Login to your OsCommerce cart. Using the 'File Manager' menu item located under the Administration/Tools menu item

Code
// load the after_process function from the payment modules

$payment_modules->after_process();

$cart->reset(true);


Add Above it:

Code
// Begin Affiliate Program - Sales Tracking

$orders_total=$currencies->format($cart->show_total()- $total_tax);

tep_session_register('orders_total');

$orders_id=$order_products_id;

tep_session_register('orders_id');

// End Affiliate Program - Sales Tracking


2) Locate the following line in the page catalog/checkout_success.php

Code
<h3><?php echo TEXT_THANKS_FOR_SHOPPING; ?></h3></td>

</tr>

</table></td>

</tr>


Add After it:

Code
<?php

echo '<img src="ICI VIENT LE TAG DU PARTENAIRE" width=1 height=1">';

tep_session_unregister('orders_total');

tep_session_unregister('orders_id');

?>


Ce message a été modifié par oneill - 4 Dec 2008, 22:45.
Raison de l'édition : Mise entre balise [code]
Go to the top of the page
 
delete
posté 4 Dec 2008, 10:51
Message #24


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Si tu pouvais éditer ton post et mettre le tout dans un codebox ce serait mieux. sad.gif

excl.gif D'autre part il n'est vraiment pas préconiser d'utiliser le filemanager d'osCommerce.

Cette réponse qui t'a été donnée correspond exactement à ce que je cite dans ce topic avant celui de Shoprun

à l'exception que je doutes que cette méthode soit appropriée pour une remontée d'info dans une tag car le prix est formaté (donc avec la devise)...

Ce message a été modifié par delete - 4 Dec 2008, 10:52.
Go to the top of the page
 
troubadour
posté 10 Dec 2008, 10:10
Message #25


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 19
Inscrit : 7-November 08
Membre no 23613



désolé pour la mise en forme et merci oneill de l'avoir fait à ma place.

bon, oneill, tu m'as dit ceci :

Citation
(je me mèle à la conversation)

Et pour cause, à checkout_confirmation le n° de commande n'est pas encore créé. Ton client le veut là, oui, mais faudra lui expliquer. De base, le n° de commande est créé quand le paiement est effectué.


quelles sont les variables que je pourrais utiliser pour différencier chaque commande lors de l'envoi du tag ?

car le partenaire ne veut pas que le tag soit envoyé après que l'on revienne de la page de la banque (checkout-success), de peur de manquer trop de commandes...

Merci encore !
Go to the top of the page
 

2 Pages V   1 2 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 18th June 2013 - 23:18
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)