Changeset 87121 in spip-zone


Ignore:
Timestamp:
Jan 16, 2015, 4:36:40 PM (7 years ago)
Author:
camille.sauvage@…
Message:

Création du message servant de base au hmac demandé par le serveur de Paybox
Récupération des paramètres depuis mes_options.php, sinon on part en config par défaut
MàJ du z (x.y.z)

Location:
_plugins_/transaction
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/transaction/css/transaction.css

    r44874 r87121  
    66.transaction_info { font-size: 0.6em; }
    77.transaction_erreur { color: red; }
    8 a.valider { background: url(../images/button.png) no-repeat; display: block; color: green; font-weight: bold; height: 35px; line-height: 32px; margin-bottom: 14px; text-decoration: none; }
     8a.valider { background: url(../images/button.png) no-repeat; display: block; color: green; font-weight: bold; height: 35px; line-height: 32px; margin-bottom: 14px; text-decoration: none; font-size: smaller; }
    99a:hover.valider { color: #0066CC; }
    1010a.valider span { background: transparent url(../images/paiement_cb.png) 0 2px no-repeat; text-indent: 73px; display: block; }
  • _plugins_/transaction/paiement/paybox/paiement.php

    r64608 r87121  
    2525?>
    2626<?php
     27        function footprint($params_paybox, $total, $transaction, $porteur, $time) {
     28                $msg =
     29                        "PBX_SITE=".$params_paybox['site'].
     30                        "&PBX_RANG=".$params_paybox['rang'].
     31                        "&PBX_IDENTIFIANT=".$params_paybox['id'].
     32                        "&PBX_TOTAL=$total".
     33                        "&PBX_DEVISE=978".
     34                        "&PBX_CMD=$transaction".
     35                        "&PBX_PORTEUR=$porteur".
     36                        "&PBX_RETOUR=Mt:Mt:M;Ref:R;Auto:A;Erreur:E".
     37                        (isset($params_paybox['retour_ok'])
     38                                ? "&PBX_EFFECTUE=".urlencode($params_paybox['retour_ok'])
     39                                : '').
     40                        (isset($params_paybox['retour_ko'])
     41                                ? "&PBX_REFUSE=".urlencode($params_paybox['retour_ko'])
     42                                : '').
     43                        (isset($params_paybox['retour_ok'])
     44                                ? "&PBX_ANNULE=".urlencode($params_paybox['retour_ko'])
     45                                : '').
     46                        "&PBX_HASH=SHA512".
     47                        "&PBX_TIME=$time";
     48
     49
     50                $cle_bin = pack("H*", $params_paybox['cle']);
     51                $hmac = strtoupper(hash_hmac('SHA512', $msg, $cle_bin));
     52
     53                return $hmac;
     54        }
     55
    2756        //Charger SPIP
    2857        if (!defined('_ECRIRE_INC_VERSION')) {
     
    4776
    4877        //CONFIGURATION DU PAIEMENT PAYBOX
    49         $mode = '1';
    50         $site = 'SITE';
    51         $rang = 'RANG';
    52         $id = 'IDENTIFIANT';
    53         $devise = '978';
    54         $serveur = $GLOBALS['meta']['adresse_site']."/cgi-bin/modulev2.cgi";
     78        $params_paybox = false;
     79        if (isset($GLOBALS['PARAMS_PAYBOX'])) {
     80                $params_paybox = $GLOBALS['PARAMS_PAYBOX'];
     81        } else {
     82                $params_paybox = array(
     83                        'site' => '1999888',
     84                        'rang' => '32',
     85                        'id' => '2',
     86                        'cle' => '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF',
     87                        'serveur' => 'https://preprod-tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi',
     88                        //'retour_ok' => $GLOBALS['meta']['adresse_site']."/?page=transaction_merci",
     89                        //'retour_ko' => $GLOBALS['meta']['adresse_site']."/?page=transaction_regret",
     90                );
     91        }
    5592        //FIN CONFIGURATION DU PAIEMENT PAYBOX
    56                
    57         $lang = $_SESSION['langue_paybox'];
    58         $retourok = $GLOBALS['meta']['adresse_site']."/?page=transaction_merci";
    59         $retourko = $GLOBALS['meta']['adresse_site']."/?page=transaction_regret";
    60        
     93
    6194        session_start();
    6295
    63         $total = $_SESSION['total'];
     96        $lang = $_SESSION['langue_paybox'];
     97        $total = intval($_SESSION['total']) * 100;
     98        $transaction = urlencode($_SESSION['ref']);
     99        $porteur = $_SESSION['porteur'];
     100        $time = date("c");
    64101
    65         $total *= 100;
    66 
    67         $transaction = urlencode($_SESSION['ref']);
    68 
     102        $hmac = footprint($params_paybox, $total, $transaction, $porteur, $time);
    69103?>
    70104
     
    80114<body onload="document.getElementById('formpaybox').submit();">
    81115
     116<table align="center">
     117  <tr>
     118    <td>
     119        <form action="<?php echo $params_paybox['serveur']; ?>" id="formpaybox" method="post" />
     120                <input type="hidden" name="PBX_SITE" value="<?php echo $params_paybox['site']; ?>" />
     121                <input type="hidden" name="PBX_RANG" value="<?php echo $params_paybox['rang']; ?>" />
     122                <input type="hidden" name="PBX_IDENTIFIANT" value="<?php echo $params_paybox['id']; ?>" />
     123                <input type="hidden" name="PBX_TOTAL" value="<?php echo $total; ?>" />
     124                <input type="hidden" name="PBX_DEVISE" value="978" />
     125                <input type="hidden" name="PBX_CMD" value="<?php echo $transaction; ?>" />
     126                <input type="hidden" name="PBX_PORTEUR" value="<?php echo $porteur; ?>" />
     127                <input type="hidden" name="PBX_RETOUR" value="Mt:Mt:M;Ref:R;Auto:A;Erreur:E">
     128                <?php if (isset($params_paybox['retour_ok'])) { ?>
     129                <input type="hidden" name="PBX_EFFECTUE" value="<?php echo urlencode($params_paybox['retour_ok']); ?>" />
     130                <?php } ?>
     131                <?php if (isset($params_paybox['retour_ko'])) { ?>
     132                <input type="hidden" name="PBX_REFUSE" value="<?php echo urlencode($params_paybox['retour_ko']); ?>" />
     133                <input type="hidden" name="PBX_ANNULE" value="<?php echo urlencode($params_paybox['retour_ko']); ?>" />
     134                <?php } ?>
     135                <input type="hidden" name="PBX_HASH" value="SHA512" />
     136                <input type="hidden" name="PBX_TIME" value="<?php echo $time; ?>" />
     137                <input type="hidden" name="PBX_HMAC" value="<?php echo $hmac; ?>" />
    82138
    83 <table align="center">
    84 
    85   <tr>
    86 
    87     <td>
    88        
    89         <form action="<?php echo $serveur; ?>" id="formpaybox" method="post">
    90                 <input type="hidden" name="PBX_MODE" value="<?php echo $mode; ?>">
    91                 <input type="hidden" name="PBX_SITE" value="<?php echo $site; ?>">
    92                 <input type="hidden" name="PBX_RANG" value="<?php echo $rang; ?>">
    93                 <input type="hidden" name="PBX_IDENTIFIANT" value="<?php echo $id; ?>">
    94                 <input type="hidden" name="PBX_TOTAL" value="<?php echo $total; ?>">
    95                 <input type="hidden" name="PBX_DEVISE" value="<?php echo $devise; ?>">
    96                 <input type="hidden" name="PBX_PORTEUR" value="">
    97                 <input type="hidden" name="PBX_REFUSE" value="<?php echo $retourko; ?>">
    98                 <input type="hidden" name="PBX_ANNULE" value="<?php echo $retourko; ?>">
    99                 <input type="hidden" name="PBX_CMD" value="<?php echo $transaction; ?>">
    100                 <input type="hidden" name="PBX_RETOUR" value="montant:M;ref:R;auto:A;trans:T;erreur:E">
    101                 <input type="hidden" name="PBX_EFFECTUE" value="<?php echo $retourok; ?>">
    102                
    103                
    104                
    105139                <input type="image" src="<?php echo ($GLOBALS['meta']['adresse_site'].'/'.find_in_path("paiement/paybox/logo.jpg")); ?>" />
    106140        </form>
  • _plugins_/transaction/plugin.xml

    r87113 r87121  
    44        <auteur>Arnault Pachot, Emmanuel Nurit</auteur>
    55        <licence>GPL v3</licence>
    6         <version>0.3.2</version>
     6        <version>0.3.3</version>
    77        <version_base>0.1</version_base>
    88        <etat>dev</etat>
Note: See TracChangeset for help on using the changeset viewer.