Application de Frais au paiement paypal

2 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour

j'ai déjà posé la question sur le forum, et j'avais laissé tomber depuis...

donc je ré-ouvre un topic.

Voilà. Lorsque j'ai fini les travaux, et pour que je puisse envoyer le coli au client, je lui demande de régler la facture.

Je souhaite donc envoyer au client le HTML pour qu'il paye par Paypal.

Or, j'ai décidé d'appliquer des frais supplémentaires de 5% pour les paiements paypal.

Si un client a une facture de 100euros par exemple, il devrait payer 105euros.

Or, quand j'envoie le HTML au client, ou bien quand je vais payer sur Paypal, il n'y a que 100euros à payer...

Est ce normal ?? ça le fait chez vous aussi ??

merci pour votre aide

PS : d'ailleurs, il n'apparaît numme part sur les pdf BDC, Facture, Facture HTML ou Proforma, les frais appliqués avec le moyen de paiement paypal sélectionné... Je suis perdu.

JL

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Une correction à été faite sur le logiciel sur l'application du surcout du moyen de paiement. Celui corrige le dysfonctionnement rapporté par Carcy.

Pour une version 6.4.2 :

* Dans lib/Class/Caddie.php, remplacer la fonction set_paiement par


function set_paiement($payment_technical_code)
{
// On définit ce nouveau moyen de paiement
$this->payment_technical_code = $payment_technical_code;
// On lance les calculs
$frm = array('payment_technical_code'=>$this->payment_technical_code, 'sub_total' => $this->total - $this->tarif_paiement, 'sub_total_ht' => $this->total_ht - $this->tarif_paiement_ht);
set_paiement($frm);
$this->tarif_paiement_ht = $frm['tarif_paiement_ht'];
if ($this->apply_vat) {
$this->tarif_paiement = $frm['tarif_paiement'];
} else {
$this->tarif_paiement = $this->tarif_paiement_ht;
}
$this->tva_tarif_paiement = $this->tarif_paiement - $this->tarif_paiement_ht ;
}
[/CODE] * Dans lib/fonctions/display_caddie.php fonction get_caddie_products_summary_table vers la ligne 800, il faut ajouter
[CODE]
if (!empty($_SESSION['session_caddie']->tarif_paiement)) {
$output .= '
<p>
<label>' . PDF_GESTION . BEFORE_TWO_POINTS . ':</label>
' . fprix($_SESSION['session_caddie']->tarif_paiement, true) . '
</p>';
}
Juste sous le bloc
  
if ($with_totals_summary) {
$output .= '
<div id="step2caddie">';
[/code] * Dans lib/fonctions/fonction_admin.php fonction save_commande_in_database vers la ligne 1180, il faut remplacer
[code]


// On r&#233;cup&#232;re le type de transport
if (!empty($frm['type_transport'])) {
$frm['type'] = get_delivery_type_name(vb($frm['type_transport']));
}
// On recup&#232;re le cout de paiement
set_paiement($frm);
$small_order_overcost_amount = get_float_from_user_input($frm['small_order_overcost_amount'], $frm['currency_rate']);
$tva_small_order_overcost = get_float_from_user_input($frm['tva_small_order_overcost'], $frm['currency_rate']);
if (!empty($frm['avoir'])) {
// L'avoir est limit&#233; au total de la commande.
// L'avoir est uniquement sur le TTC et n'affecte pas le calcul de la TVA
$avoir = max(0, min(get_float_from_user_input(vn($frm['avoir']), $frm['currency_rate']), vn($total_produit) + vn($cout_transport) + vn($small_order_overcost_amount)));
} else {
$avoir = 0;
}
$montant = vn($total_produit) - vn($avoir) + vn($cout_transport) + vn($tarif_paiement) + vn($small_order_overcost_amount);
$montant_ht = vn($total_produit_ht) + vn($cout_transport_ht) + vn($tarif_paiement_ht) + (vn($small_order_overcost_amount) - vn($tva_small_order_overcost));
$total_tva = (vn($montant) + vn($avoir)) - vn($montant_ht);
Par



// On r&#233;cup&#232;re le type de transport
if (!empty($frm['type_transport'])) {
$frm['type'] = get_delivery_type_name(vb($frm['type_transport']));
}
$small_order_overcost_amount = get_float_from_user_input($frm['small_order_overcost_amount'], $frm['currency_rate']);
$tva_small_order_overcost = get_float_from_user_input($frm['tva_small_order_overcost'], $frm['currency_rate']);
if (!empty($frm['avoir'])) {
// L'avoir est limit&#233; au total de la commande.
// L'avoir est uniquement sur le TTC et n'affecte pas le calcul de la TVA
$avoir = max(0, min(get_float_from_user_input(vn($frm['avoir']), $frm['currency_rate']), vn($total_produit) + vn($cout_transport) + vn($small_order_overcost_amount)));
} else {
$avoir = 0;
}
// Calcul du sous total pour pouvoir appliquer le cout du paiement en pourcentage
$frm['sub_total'] = vn($total_produit) - vn($avoir) + vn($cout_transport) + vn($small_order_overcost_amount);
$frm['sub_total_ht'] = vn($total_produit_ht) + vn($cout_transport_ht) + (vn($small_order_overcost_amount) - vn($tva_small_order_overcost));
// On recup&#232;re le co&#251;t de paiement. La fonction set_paiement d&#233;finit les variables : $frm['tarif_paiement'], $frm['tarif_paiement_ht'] et $frm['tva_tarif_paiement']
set_paiement($frm);
$montant = $frm['sub_total'] + vn($frm['tarif_paiement']);
$montant_ht = $frm['sub_total_ht'] + vn($frm['tarif_paiement_ht']);
$total_tva = (vn($montant) + vn($avoir)) - vn($montant_ht);[/code] * Dans cette même fonction, il faut également supprimer les deux lignes
[code]
$frm['tarif_paiement'] = $tarif_paiement;
$frm['tarif_paiement_ht'] = $tarif_paiement_ht;
* Vous devez supprimer la fonction set_paiement() dans lib/fonctions/fonction_admin.php. * Dans lib/fonctions/fonctions.php, il faut ajouter cette version de la fonction set_paiement :

/**
* Traitement du moyen de paiement
*
* @param array $frm
* @return
*/
function set_paiement(&$frm)
{
if (!empty($frm['payment_technical_code'])) {
$sql = "SELECT nom_" . $_SESSION['session_langue'] . " as paiement, tarif, tarif_percent, tva
FROM peel_paiement
WHERE technical_code = '" . nohtml_real_escape_string($frm['payment_technical_code']) . "'";
$query = query($sql);
if ($obj = fetch_object($query)) {
$frm['tarif_paiement_ht'] = $frm['sub_total_ht'] * ($obj->tarif_percent / 100) + $obj->tarif;
$frm['tarif_paiement'] = $frm['sub_total'] * ($obj->tarif_percent / 100) + $obj->tarif;
$frm['tva_tarif_paiement'] = $frm['tarif_paiement'] - $frm['tarif_paiement_ht'];
}
} else {
$frm['tarif_paiement'] = 0;
$frm['tarif_paiement_ht'] = 0;
$frm['tva_tarif_paiement'] = 0;
}
}[/code]

Le surcout du paiement est affiché dans les factures PDF sous la mention [i]Frais de gestion[/i]

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping