source: spip-zone/_plugins_/transaction/traiter/paiement_cmcic.php @ 43314

Last change on this file since 43314 was 43314, checked in by j4444k@…, 10 years ago

Traitement et mise en forme des messages de retour du formulaire

File size: 2.2 KB
Line 
1<?php
2
3// Sécurité
4if (!defined("_ECRIRE_INC_VERSION")) return;
5
6function traiter_paiement_cmcic_dist($args, $retours){
7       
8        $formulaire = $args['formulaire'];
9        $options = $args['options'];
10        $saisies = unserialize($formulaire['saisies']);
11        $traitements = unserialize($formulaire['traitements']);
12        $champs = saisies_lister_champs($saisies);
13       
14        // Empecher le traitement en AJAX car on sait que le formulaire va rediriger autre part
15    refuser_traiter_formulaire_ajax();
16   
17    // On stocke le montant et la référence de la transaction
18    session_start();
19   
20    // Le serveur doit-il être appelé en mode test ou prod ?
21    if ($options['champ_test'] == "test"){ $test = "test/"; }
22    if ($options['champ_test'] == "prod"){ $test = ""; }
23       
24    // On récupère la banque à utiliser et on établi une variable de session contenant l'adresse du serveur
25        if ($options['champ_banque']){
26                switch ($options['champ_banque']) {
27            case "banque1":
28                $_SESSION['banque'] = "https://ssl.paiement.cic-banques.fr/" . $test;
29                break;
30            case "banque2":
31                $_SESSION['banque'] = "https://paiement.creditmutuel.fr/" . $test;
32                break;
33            case "banque3":
34                $_SESSION['banque'] = "https://ssl.paiement.banque-obc.fr/" . $test;
35                break;
36                }
37        }
38   
39    if ($_REQUEST['montant_1']) $_SESSION['total'] = $_REQUEST['montant_1'];
40    if ($_REQUEST['montant_selection_1']) $_SESSION['total'] = $_REQUEST['montant_selection_1'];
41   
42    // ID unique de la transaction
43    $_SESSION['ref'] = uniqid();
44
45        $nb_paiement = 0;
46    //On compte le nombre de paiement utilisé par le formulaire
47    foreach($traitements as $type_traitement=>$options){
48                if (substr($type_traitement,0,9) == "paiement_") $nb_paiement++;
49        }
50       
51        //On envoi vers la banque si CMCIC est le seul mode de paiement sinon on affiche les choix possibles
52        if ($nb_paiement == 1) {
53                $retours['redirect'] = find_in_path("paiement/cmcic/paiement.php");
54        } else {
55                // Le formulaire a été validé, on le masque
56                $retours['editable'] = false;
57                $retours['message_ok'] .=  "<span class='transaction_ok cmcic'><a href='".find_in_path("paiement/cmcic/paiement.php")."'>"._T('transaction:traiter_cheque_message_cmcic')."</a></span>";
58        }
59       
60        return $retours;
61}
62
63?>
Note: See TracBrowser for help on using the repository browser.