source: spip-zone/_plugins_/commandes_paypal/commandes_paypal_pipelines.php @ 57367

Last change on this file since 57367 was 57367, checked in by yffic@…, 9 years ago

Ecrire dans le meme fichier log que le plugin Commandes

File size: 1.7 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) return;
5
6function commandes_paypal_traitement_paypal($flux){
7        // Si on est dans le bon cas d'un paiement de commande et qu'il y a une référence et que la commande existe toujours
8        if (
9                $flux['args']['paypal']['custom'] == 'payer_commande'
10                and $reference = $flux['args']['paypal']['invoice']
11                and $commande = sql_fetsel('id_commande, statut, id_auteur', 'spip_commandes', 'reference = '.sql_quote($reference))
12        ){
13                $id_commande = $commande['id_commande'];
14                $statut_commande = $commande['statut'];
15                $statut_paypal = $flux['args']['paypal']['payment_status'];
16                $prix_paypal = $flux['args']['paypal']['mc_gross'];
17               
18                // Si le statut Paypal est "Pending" on passe juste la commande en attente et on verra plus tard pour le reste
19                if ($statut_paypal == 'Pending'){
20                        $statut_nouveau = 'attente';
21                }
22                // Si Paypal est "Completed" on vérifie que le montant correspond au prix de cette commande
23                elseif ($statut_paypal == 'Completed'){
24                        $fonction_prix = charger_fonction('prix', 'inc/');
25                        $prix_commande = $fonction_prix('commande', $id_commande);
26                         
27                         // Si on a pas assez payé
28                         if ($prix_paypal < $prix_commande){
29                                $statut_nouveau = 'partiel';
30                         }
31                         // Sinon c'est bon
32                         else{
33                                $statut_nouveau = 'paye';
34                         }
35                }
36                // Sinon on dit que c'est en erreur
37                else{
38                        $statut_nouveau = 'erreur';
39                }
40
41                spip_log("commandes_paypal_traitement envoi vers instituer $id_commande-$statut_nouveau",'commandes');
42               
43                //on institue la commande
44                $action = charger_fonction('instituer_commande', 'action');
45                $action($id_commande."-".$statut_nouveau);
46
47        }
48       
49        return $flux;
50}
51
52?>
Note: See TracBrowser for help on using the repository browser.