Aller au contenu principal
loading

Mise en place du paiement en ligne Paybox

POSTÉ DANS Zend Framework TAGS Zend Framework AUTEUR herve COMMENTAIRES 5

Introduction

L'application Paybox est l'interface entre les applications et le portail de paiement par carte bancaire de la socièté paybox.com.
Elle permet de créer un paiement via une API, et donne immédiatement son résultat (paiement accepté oui ou non par la banque).

  • Elle historise tous les tickets de paiement (à conserver obligatoirement pendant 1 an dans la sphère publique)
  • Elle permet d'imprimer les tickets directement à leur réception sur une imprimante (ex: inscriptions administratives)

Plus de détails sur les fonctionnalités de l'application Paybox sont donnés dans la documentation fournie en bas de cette page

Code

Voici un exemple de code à écrire pour faire fonctionner Paybox avec le framewok Zend :

 

           $host = "http://".$_SERVER['HTTP_HOST'];
            // Initialisation des variables (à récupérer en session,
            // ou dans la configuration de zenolithe, par exemple) :
            // valeurs fixes :
            $pbx_mode = '4'; // 4 = "mode en ligne de commande". À ne pas changer.
            $pbx_site = '1999888'; // Site de test. À ne pas changer.
            $pbx_rang = '99'; // boutique de test. À ne pas changer.
            $pbx_identifiant = '2'; // boutique de test. À ne pas changer.
            $pbx_devise = '978'; // code de la devise.
            // (Euros : 978 | Francs suisses : 756 | US Dollars : 840)
            $pbx_retour = 'montant:M;ref:R;auto:A;trans:T'; // Variables renvoyées par Paybox
            // URLs de retour (à adapter selon votre cas) :
            $pbx_effectue = $host.'/sales/order/validationok?id='.$idOrder;
            $pbx_refuse = $host.'/sales/order/validationrefused?id='.$idOrder;
            $pbx_annule= $host.'/sales/order/validationcancelled?id='.$idOrder;
            // valeurs variables :
            $pbx_total = round($cart->getPrice(),2)*100; // montant total en centimes (nombre entier).
            $pbx_cmd = 'ref_'.$idOrder; // référence de la commande.
            $pbx_porteur = Zend_Auth::getInstance()->getIdentity()->email; // Adresse email de l'acheteur.
            // Liste des options Paybox (bien séparer chaque option par des espaces) :
            $pbx_options = 'PBX_MODE='.$pbx_mode;
            $pbx_options .= ' PBX_SITE='.$pbx_site;
            $pbx_options .= ' PBX_RANG='.$pbx_rang;
            $pbx_options .= ' PBX_IDENTIFIANT='.$pbx_identifiant;
            $pbx_options .= ' PBX_TOTAL='.$pbx_total;
            $pbx_options .= ' PBX_DEVISE='.$pbx_devise;
            $pbx_options .= ' PBX_CMD='.$pbx_cmd;
            $pbx_options .= ' PBX_PORTEUR='.$pbx_porteur;
            $pbx_options .= ' PBX_EFFECTUE='.$pbx_effectue;
            $pbx_options .= ' PBX_REFUSE='.$pbx_refuse;
            $pbx_options .= ' PBX_ANNULE='.$pbx_annule;
            $pbx_options = escapeshellcmd($pbx_options . ' PBX_RETOUR='.$pbx_retour);
            // Appel du module CGI :            
            echo shell_exec(PAYBOX_CGI.' '.$pbx_options);

 



5 commentaire