Caddie a 0 euro
longquanlo
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
longquanlo Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
longquanlo Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis debutant en php et je cherche a modifier mon panier existant
Tout fonctionne a merveille sauf que quand un client a un avoir et que son panier est donc a 0 euro, il arrive sur la page pour payer et a le choix entre le cheque, virement ou la carte bancaire.
Dans la logique on ne devrait pas arriver sur cette page puisqu'il n'a rien a payer
Voici mon code actuel :
function get_payment_form($order_id, $forced_type = null, $send_admin_email = false, $amount_to_pay=0)
{
$output = '';
$result = query('SELECT *
FROM nb_commandes
WHERE id="' . intval($order_id) . '"');
$com = fetch_object($result);
if(empty($amount_to_pay)) {
$amount_to_pay = $com->montant;
}
if (!empty($forced_type)) {
$type = $forced_type;
} else {
$type = $com->paiement;
}
switch ($type) {
case 'check':
$output .= '
<p>- <a href="' . $GLOBALS['wwwroot'] . '/factures/commande_pdf.php?code_facture=' . $com->code_facture . '&mode=bdc" onclick="return(window.open(this.href)?false:true);">' . PRINT_PROFORMA . '</a></p>
<p>- ' . SEND_CHECK . BEFORE_TWO_POINTS . ': ' . print_societe(true) . '</p>';
break;
case 'transfer':
$output .= '
<p>- <a href="' . $GLOBALS['wwwroot'] . '/factures/commande_pdf.php?code_facture=' . $com->code_facture . '&mode=bdc" onclick="return(window.open(this.href)?false:true);">' . PRINT_PROFORMA . '</a></p>
<p>- ' . SEND_TRANSFER . BEFORE_TWO_POINTS . ':<br />' . print_rib(true) . '</p>';
break;
case 'paypal':
if (file_exists($GLOBALS['fonctionspaypal']) && !empty($GLOBALS['site_parameters']['email_paypal'])) {
require_once($GLOBALS['fonctionspaypal']);
$js_action='document.getElementById("paypalForm").submit()';
$output .= '
<div align="center">
' . REGLEMENT_CARTE_BANCAIRE . '<br />
' . getPaypalForm($order_id, $_SESSION['session_langue'], fprix($amount_to_pay, false, $com->devise, true, $com->currency_rate, false, false), $_SESSION['session_devise']['code'], $com->email, 1, '', $_SESSION['session_utilisateur']['id_utilisateur'], $com->prenom_ship, $com->nom_ship, $com->adresse_ship, $com->zip_ship, $com->ville_ship, $com->pays_ship, $com->telephone_ship) . '
<br />
' . PAYPAL_IMG . '
</div>
';
$send_admin_template_email = 'admin_info_payment_credit_card';
}
break;
default :
break;
}
if ($send_admin_email && !empty($send_admin_template_email)) {
unset($custom_template_tags);
$custom_template_tags['ORDER_ID'] = $order_id;
send_email($GLOBALS['support'], '', '', $send_admin_template_email, $custom_template_tags, 'html', $GLOBALS['support']);
}
if(is_autosend_module_active() && !empty($js_action) && !empty($GLOBALS['site_parameters']['module_autosend_delay'])) {
$output .= '<script type="text/javascript"><!--//--><![CDATA[//><!--
setTimeout (\''.$js_action.'\', '. ($GLOBALS['site_parameters']['module_autosend_delay']*1000) .');
//--><!]]></script>';
}
return $output;
}
Dans mon idee ce serait que si le panier = 0 soit on n'affiche qu'une case supplementaire comme case 'avoir': mais les autres cases paypal, virement et check sont soient grisees ou n'apparaissent pas
Quelqu'un aurait-il une idee ?
Merci d'avance
je suis debutant en php et je cherche a modifier mon panier existant
Tout fonctionne a merveille sauf que quand un client a un avoir et que son panier est donc a 0 euro, il arrive sur la page pour payer et a le choix entre le cheque, virement ou la carte bancaire.
Dans la logique on ne devrait pas arriver sur cette page puisqu'il n'a rien a payer
Voici mon code actuel :
function get_payment_form($order_id, $forced_type = null, $send_admin_email = false, $amount_to_pay=0)
{
$output = '';
$result = query('SELECT *
FROM nb_commandes
WHERE id="' . intval($order_id) . '"');
$com = fetch_object($result);
if(empty($amount_to_pay)) {
$amount_to_pay = $com->montant;
}
if (!empty($forced_type)) {
$type = $forced_type;
} else {
$type = $com->paiement;
}
switch ($type) {
case 'check':
$output .= '
<p>- <a href="' . $GLOBALS['wwwroot'] . '/factures/commande_pdf.php?code_facture=' . $com->code_facture . '&mode=bdc" onclick="return(window.open(this.href)?false:true);">' . PRINT_PROFORMA . '</a></p>
<p>- ' . SEND_CHECK . BEFORE_TWO_POINTS . ': ' . print_societe(true) . '</p>';
break;
case 'transfer':
$output .= '
<p>- <a href="' . $GLOBALS['wwwroot'] . '/factures/commande_pdf.php?code_facture=' . $com->code_facture . '&mode=bdc" onclick="return(window.open(this.href)?false:true);">' . PRINT_PROFORMA . '</a></p>
<p>- ' . SEND_TRANSFER . BEFORE_TWO_POINTS . ':<br />' . print_rib(true) . '</p>';
break;
case 'paypal':
if (file_exists($GLOBALS['fonctionspaypal']) && !empty($GLOBALS['site_parameters']['email_paypal'])) {
require_once($GLOBALS['fonctionspaypal']);
$js_action='document.getElementById("paypalForm").submit()';
$output .= '
<div align="center">
' . REGLEMENT_CARTE_BANCAIRE . '<br />
' . getPaypalForm($order_id, $_SESSION['session_langue'], fprix($amount_to_pay, false, $com->devise, true, $com->currency_rate, false, false), $_SESSION['session_devise']['code'], $com->email, 1, '', $_SESSION['session_utilisateur']['id_utilisateur'], $com->prenom_ship, $com->nom_ship, $com->adresse_ship, $com->zip_ship, $com->ville_ship, $com->pays_ship, $com->telephone_ship) . '
<br />
' . PAYPAL_IMG . '
</div>
';
$send_admin_template_email = 'admin_info_payment_credit_card';
}
break;
default :
break;
}
if ($send_admin_email && !empty($send_admin_template_email)) {
unset($custom_template_tags);
$custom_template_tags['ORDER_ID'] = $order_id;
send_email($GLOBALS['support'], '', '', $send_admin_template_email, $custom_template_tags, 'html', $GLOBALS['support']);
}
if(is_autosend_module_active() && !empty($js_action) && !empty($GLOBALS['site_parameters']['module_autosend_delay'])) {
$output .= '<script type="text/javascript"><!--//--><![CDATA[//><!--
setTimeout (\''.$js_action.'\', '. ($GLOBALS['site_parameters']['module_autosend_delay']*1000) .');
//--><!]]></script>';
}
return $output;
}
Dans mon idee ce serait que si le panier = 0 soit on n'affiche qu'une case supplementaire comme case 'avoir': mais les autres cases paypal, virement et check sont soient grisees ou n'apparaissent pas
Quelqu'un aurait-il une idee ?
Merci d'avance
A voir également:
- Caddie a 0 euro
- Remettre a 0 un pc - Guide
- Formule excel si inférieur à 0 égal 0 ✓ - Forum Excel
- Code ascii de 0 à 9 - Guide
- Numéro de téléphone excel 0 - Guide
- A-docv9-0-zn - Forum Freebox
2 réponses
Ton message manque un peu de clarté pour que l'on puisse t'aider...
Reformule et pense bien qu'on est pas au courant du fond de ton projet.
Reformule et pense bien qu'on est pas au courant du fond de ton projet.
Bonjour,
Je suis desole, je vais essayer de m'expliquer plus simplement
J'ai un panier sur lequel les clients peuvent ajouter des produits lorsqu'ils passent a l'etape du paiement, ils ont le choix entre la cart bancaire, le virement ou le cheque bancaire.
Mon probleme est le suivant : lorsque le client possede un avoir, celui-ci se deduit donc dans son panier de maniere automatique. Si son panier etait de 12 euros et que son avoir est de 12 euros, son panier est donc a 0 euro.
Lorsqu'il valide sa commande, il arrive sur la page de paiement et a le choix des differents modes enonces au-dessus.
Pour plus de logique, ces modes ne devraient pas apparaitre car il n'y a en fait rien a payer. Parce que si le client clique sur carte bancaire, il tombe sur le site paypal pour payer 0 euro (pas tres logique et pas tres pro, vous en conviendrez).
Dans l'idee, j'aimerai ne pas afficher les trois modes de paiement si le caddie est egal a 0. Je pensais soit afficher un mode "payer avec votre avoir" si le caddie
= 0 soit passer cette etape et valider directement le panier.
Mais voila mes competences php etant limitees car je debute, j'ai du mal a sortir un code qui fonctionne pour realiser cette option
Je suis desole, je vais essayer de m'expliquer plus simplement
J'ai un panier sur lequel les clients peuvent ajouter des produits lorsqu'ils passent a l'etape du paiement, ils ont le choix entre la cart bancaire, le virement ou le cheque bancaire.
Mon probleme est le suivant : lorsque le client possede un avoir, celui-ci se deduit donc dans son panier de maniere automatique. Si son panier etait de 12 euros et que son avoir est de 12 euros, son panier est donc a 0 euro.
Lorsqu'il valide sa commande, il arrive sur la page de paiement et a le choix des differents modes enonces au-dessus.
Pour plus de logique, ces modes ne devraient pas apparaitre car il n'y a en fait rien a payer. Parce que si le client clique sur carte bancaire, il tombe sur le site paypal pour payer 0 euro (pas tres logique et pas tres pro, vous en conviendrez).
Dans l'idee, j'aimerai ne pas afficher les trois modes de paiement si le caddie est egal a 0. Je pensais soit afficher un mode "payer avec votre avoir" si le caddie
= 0 soit passer cette etape et valider directement le panier.
Mais voila mes competences php etant limitees car je debute, j'ai du mal a sortir un code qui fonctionne pour realiser cette option