Formulaire d'achat a tester 2017-02-24

This commit is contained in:
Claire DELBOS 2017-02-24 17:22:35 +01:00
parent 996423d7ca
commit 397fb4ec63
5 changed files with 119 additions and 64 deletions

View File

@ -18,6 +18,8 @@ class Achatclient_IndexController extends Zend_Controller_Action
protected $maxcredit=2000;
protected $libdroits = 'searchent';
public function init()
{
if (Zend_Registry::isRegistered('logger')) {
@ -26,7 +28,7 @@ class Achatclient_IndexController extends Zend_Controller_Action
$autoloader = Zend_Loader_Autoloader::getInstance();
// --- Theme
$this->theme = Zend_Registry::get('theme');
$request = $this->getRequest();
$this->view->title='Votre compte crédits en ligne';
require_once 'Scores/WsScores.php';
}
@ -35,40 +37,97 @@ class Achatclient_IndexController extends Zend_Controller_Action
*/
public function indexAction()
{
//Validation des droits
$user = new Scores_Utilisateur();
$ok=$user->checkperm('searchent');
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->redirect('/');
}
$ws = new WsScores();
$customer_credit = $ws->getCredit();
$infos=array('user' => $user,'wscredit' => $customer_credit,'tranches' => $this->tranches);
if(intval($customer_credit)>$this->maxcredit){
$this->view->msg='Vous détenez déjà le plafond de crédits autorisé.';
return;
}
$infos=array('user' => $user,'wscredit' => $customer_credit);
$this->view->infos=$infos;
var_dump($infos);die;
$this->logger->info(print_r($infos,1));
if ($infos === false) {
$this->logger->info(print_r($user,1));
if ($customer_credit === false and false) {
$this->forward('soap', 'error');
}
//Paybox
Zend_Loader::loadClass('Paybox_System');
$paybox = new \Paybox\System(false);
$paybox->setUrlPaiement();
$paybox->setEmail($row->email);
$paybox->setReference($cmdId);
$paybox->setMontant($this->montant);
$paybox->setUrlRepondreA("http://".$request->getHttpHost()."/report/checkpmt");
$paybox->setUrlParameters("http://".$request->getHttpHost()."/report/retour");
$paybox->calculateHMAC();
//Récupération des Parametres
$infos=array('user' => $user,'wscredit' => intval($customer_credit),'tranches' => $this->tranches);
//var_dump($infos);die;
$this->view->infos=$infos;
$this->view->submitValue='Commander';
}
public function paiementAction()
{
//Validation
$request = $this->getRequest('');
$nb_credit=$request->getParam('nb_credit');
if(intval($nb_credit)==0){
$this->error(__LINE__);
}
if(!isset($this->tranches[$nb_credit])){
$this->error(__LINE__);
}
$user = new Scores_Utilisateur();
$ok=$user->checkperm($this->libdroits);
if(!$ok){
$this->error(__LINE__);
}
//Parametrage
$pbparam=array();
$pbparams['cmdId']=implode('#',array($user->identity->id,time()));
$pbparams['email']=$user->identity->email;
$pbparams['montant']=$this->tranches[$nb_credit]['montant']/100;
$pbparams['montantht']=$this->tranches[$nb_credit]['montantht']/100;
$pbparams['tva']=$this->tranches[$nb_credit]['tva']/100;
$ws = new WsScores();
//$customer_credit = $ws->addCredit();
/*
$this->view->Siren = isset($session->CmdSiren)?$session->CmdSiren:'000000000';
$this->view->RaisonSociale = isset($session->CmdRaisonSociale)?$session->CmdRaisonSociale:'testdev';
$this->view->AdresseL1 = isset($session->CmdAdresseL1)?$session->CmdAdresseL1:'';
$this->view->AdresseL2 = isset($session->CmdAdresseL2)?$session->CmdAdresseL2:'';
$this->montantht=20;
$this->montant=20;
$this->tva=0;
//Lire la bdd
//$commandM = new Application_Model_Command();
//$row = $commandM->fetchRow('cmdId="'.$cmdId.'"');
$this->view->montant = $this->montantht." € HT" . " (".$this->montant." € TTC)";
$data = array(
'mt' => $this->montantht,
'tax' => $this->tva,
);
//$commandM->update($data, 'id='.$row->id);*/
//Paybox
Zend_Loader::loadClass('Paybox_Config');
Zend_Loader::loadClass('Paybox_System');
$paybox = new Paybox_System(true);
$paybox->setUrlPaiement();
$paybox->setEmail($pbparams['email']);
$paybox->setReference($pbparams['cmdId']);
$paybox->setMontant($pbparams['montant']);
//echo "http://".$request->getHttpHost()."/achatclient/pbanswer";die;
//$paybox->setUrlRepondreA("http://".$request->getHttpHost()."/achatclient/checkpmt");
$paybox->setUrlParameters("http://".$request->getHttpHost()."/achatclient/pbanswer");
$paybox->calculateHMAC();
//$_POST=$paybox->getFormParameters();
//$this->redirect($paybox->getFormUrl());
$this->view->PayboxUrl = $paybox->getFormUrl();
$this->view->PayboxValues = $paybox->getFormParameters();
//$pb=new Paybox_System('test');
//var_dump($pb);
}
}
public function pbanswer(){
echo 'thanks';die;
}
/**
* Sélection du mode de paiement
*/
@ -130,6 +189,9 @@ class Achatclient_IndexController extends Zend_Controller_Action
}
}
private function error($ligne=0,$message=""){
echo $ligne;die;
}
}
?>

View File

@ -1,30 +1,33 @@
<style>
div .credit{
margin-left:25px;
}
</style>
<div id="center">
<div id="oldform" method="POST" action="https://preprod-tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi">
<input type="hidden" name="PBX_SITE" value="1999888">
<input type="hidden" name="PBX_RANG" value="32">
<input type="hidden" name="PBX_IDENTIFIANT" value="110647233">
<input type="hidden" name="PBX_TOTAL" value="999">
<input type="hidden" name="PBX_DEVISE" value="978">
<input type="hidden" name="PBX_CMD" value="TEST Paybox">
<input type="hidden" name="PBX_PORTEUR" value="test@paybox.com">
<input type="hidden" name="PBX_RETOUR" value="Mt:M;Ref:R;Auto:A;Erreur:E">
<input type="hidden" name="PBX_HASH" value="SHA512">
<input type="hidden" name="PBX_TIME" value="2013-10-11T09:42:08+00:00">
<input type="hidden" name="PBX_HMAC" value="D47AB2FDC9ADF9669651C6F8F785F698FB77C75AE314D0060A0528B434F4FE12BA3D027D066A1E8038FA56E7704EC882AA8E44FB36D44957A0F5BA8BE03E03E9">
<input type="submit" value="PayerOld">
<h1><?=$this->titre?></h1>
<h2>Votre compte crédit</h2>
<div class="credit">
<p>
Le compte <?=isset($this->infos['user']->identity->username)?$this->infos['user']->identity->username:""?> détient actuellement <?=intval($this->infos['wscredit'])?> crédits.<br>
<?=$this->msg?>
</p>
</div>
<?php if(isset($this->infos) && isset($this->infos['tranches'])):?>
<h2>Vos choix de commande</h2>
<form action="<?=$this->url(array('controller'=>'index', 'action'=>'paiement'))?>" method="GET">
<div class="credit">
<?php foreach($this->infos['tranches'] as $credit => $item):?>
<input type="radio" name="nb_credit" value="<?=$credit?>" />&nbsp;&nbsp;<?=$credit?>&nbsp;Crédits (<?=$item['montant']/100?> Euros)
<?php endforeach;?>
</div>
<div class="submit">
<p class="submit-button">
<input type="submit" class="button" value="<?php echo $this->submitValue?>" />
</p>
</div>
</form>
<?php endif;?>
</div>
<form method="POST" action="https://preprod-tpeweb.paybox.com/cgi/MYchoix_pagepaiement.cgi" target="_blank">
<input type="hidden" name="PBX_SITE" value="5136925">
<input type="hidden" name="PBX_RANG" value="001">
<input type="hidden" name="PBX_IDENTIFIANT" value="533616985">
<input type="hidden" name="PBX_TOTAL" value="20">
<input type="hidden" name="PBX_DEVISE" value="978">
<input type="hidden" name="PBX_CMD" value="TEST Paybox">
<input type="hidden" name="PBX_PORTEUR" value="test@paybox.com">
<input type="hidden" name="PBX_RETOUR" value="Mt:M;Ref:R;Auto:A;Erreur:E">
<input type="hidden" name="PBX_HASH" value="SHA512">
<input type="hidden" name="PBX_TIME" value="<?=Date('Y-m-dTH:i:s+00:00'); ?>">
<input type="hidden" name="PBX_HMAC" value="E941B48379E0C65997F52FDA8DC920B358B1AAB99A6E3CCF584F97E6AC55FB3C701DE0CC0CCFAEC82A1B0AA865CCDA36A420C4043376BBAFB51790D8480E2F77">
PBX_EFFECTUE
<input type="submit" value="Payer">
</form></div>

View File

@ -4,7 +4,7 @@
<h2>ACHAT de CREDITS <small>Mode de paiement</small></h2>
</div>
<?php if ( $this->CmdID ) {?>
<?php //if ( $this->CmdID ):?>
<div class="row">
@ -12,18 +12,6 @@
<h3>Informations de la commande</h3>
<dl class="dl-horizontal">
<dt>Siren : </dt>
<dd><?=$this->Siren?></dd>
<dt>Raison Sociale : </dt>
<dd><?=$this->RaisonSociale?></dd>
<dt>Adresse : </dt>
<dd><?=$this->AdresseL1?></dd>
<dt></dt>
<dd><?=$this->AdresseL2?></dd>
</dl>
<div class="alert alert-info">Prix : <?=$this->montant?></div>
</div>
@ -49,7 +37,7 @@
</form>
<?php }?>
<?php // }?>
</div>

View File

@ -22,9 +22,11 @@ class Paybox_Config
public function __construct($test = false)
{
if ($test === false) {
Zend_Loader::loadClass('Paybox_Config_Prod');
$config = new Paybox_Config_Prod();
} else {
$config = new Paybox_Config_Test();
Zend_Loader::loadClass('Paybox_Config_Test');
$config = new Paybox_Config_Test();
}
foreach ( $config->variables as $var => $value ) {

View File

@ -3399,7 +3399,7 @@ class WsScores
$message.= "\n\n";
}
$message.= "Referer : ".$_SERVER['HTTP_REFERER']."\n\n";
$message.= "Referer : ".isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:''."\n\n";
$message.= "Requete :\n ".$requete."\n";
$message.= "Reponse :\n ".$reponse."\n";