Академический Документы
Профессиональный Документы
Культура Документы
Versión 3
Contenido
Última actualización: Septiembre de 2009
1. INTRODUCCIÓN
2. INSTALACIÓN DE COMPONENTE VIRTUEMART
3. CONFIGURACIÓN MEDIO DE PAGO PAGOSONLINE.NET
4. CREACIÓN PÁGINA DE CONFIRMACIÓN
5. CREACIÓN PÁGINA DE RESPUESTA
1. INTRODUCCIÓN
• 1 Componente (com_virtuemart_1.1.x.zip)
• 1 modulo principal VirtueMart (mod_virtuemart_1.1.x.zip)
• 10 módulos adicionales.
<?php
$llave_encripcion = "00000000000";
$usuarioId = 00000;
$descripcion = "Pruebas de Generacion de Firmas";
$url_respuesta = "dirección completa donde está la pagina de respuesta";
$url_confirmacion = "dirección completa donde está la pagina de confirmacion";
$refVenta = $db->f("order_id");
$valor = number_format(floatval($db->f("order_total")),2,".","");
$iva = $db->f("order_tax");
if($iva == 0)
{
$basevalor = 0;
}
else
{
$basevalor = number_format(floatval($db->f("order_subtotal")),2,".","");
}
$moneda = "COP";
$firma= "$llave_encripcion~$usuarioId~$refVenta~$valor~$moneda";
$firma_codificada = md5($firma);
?>
<form name="form1" method="post"
action="https://gateway.pagosonline.net/apps/gateway/index.html" target="_blank">
<input type="hidden" name="descripcion" value="<?php echo $descripcion; ?>">
<input type="hidden" name="prueba" value="1">
<input type="hidden" name="usuarioId" value="<?php echo $usuarioId ?>">
<input type="hidden" name="refVenta" value="<?php echo $refVenta ?>">
<input type="hidden" name="valor" value="<?php echo $valor ?>">
<input type="hidden" name="iva" value="<?php echo $iva ?>">
<input type="hidden" name="baseDevolucionIva" value="<?php echo $basevalor?>">
<input type="hidden" name="moneda" value="<?php echo $moneda ?>">
<input type="hidden" name="url_confirmacion" value="<?php echo $url_confirmacion ?>">
<input type="hidden" name="url_respuesta" value="<?php echo $url_respuesta?>">
<input type="hidden" name="emailComprador" value="<?php echo $user->email ?>">
<input type="hidden" name="firma" value="<?php echo $firma_codificada ?>">
<input name="Submit" type="submit" value="Enviar Datos para realizar su pago">
</form>
c). Ahora debe crear la tabla en donde va a almacenar sus datos. Por Favor
ejecute el siguiente código SQL:
El siguiente paso es crear una página de confirmación (en donde recibe los
datos suministrados por PagosOnLine para almacenarlos en una base de
datos). Use el siguiente código y guárdelo en una página con el nombre
confirmacion.php
<?php
$usuarioId = $_REQUEST['usuario_id'];
$fecha = date("d.m.Y-H:i:s");
$refVenta = $_REQUEST['ref_venta'];
$refPol = $_REQUEST['ref_pol'];
$estadoPol = $_REQUEST['estado_pol'];
$formaPago = $_REQUEST['tipo_medio_pago'];
$banco = $_REQUEST['medio_pago'];
$codigo = $_REQUEST['codigo_respuesta_pol'];
$mensaje = $_REQUEST['mensaje'];
$valor = $_REQUEST['valor'];
//Escriba su Host, por lo general es 'localhost'
$host = 'localhost';
//Escriba el nombre de usuario de la base de datos
$login = 'nombredeusuario';
//Escriba la contraseña del usuario de la base de datos
$password = 'contraseña ';
//Escriba el nombre de la base de datos a utilizar
$basedatos = 'mibasededatos ';
//conexion a mysql
$conexion = mysql_connect($host, $login, $password);
if(!$conexion){
$mensajeLog .= "[".date("Y-m-d H:i:s")."] Error al conectar la base de datos -
".mysql_error()."\n";
}
if(!mysql_select_db($basedatos, $conexion)){
$mensajeLog .= "[".date("Y-m-d H:i:s")."] Error al seleccionar la base de datos -
".mysql_error()."\n";
}
// consulta a la bd
$sql = "REPLACE INTO pedidos_confir VALUES ('".$fecha."', '".$refVenta."',
'".$refPol."', '".$estadoPol."', '".$formaPago."', '".$banco."', '".$codigo."', '".$mensaje."',
'".$valor."')";
// select para actualizar la bd pedidos_confir y jos_vm_orders
switch($estadoPol)
{
case 4: $result_a = mysql_query("UPDATE jos_vm_orders SET
order_status ='A' WHERE order_id=".$refVenta ,$conexion);
break;
case 5: $result_c = mysql_query("UPDATE jos_vm_orders SET
order_status ='C' WHERE order_id=".$refVenta ,$conexion);
break;
case 6: $result_r = mysql_query("UPDATE jos_vm_orders SET
order_status ='R' WHERE order_id=".$refVenta ,$conexion);
break;
case 12:$result_p = mysql_query("UPDATE jos_vm_orders SET order_status ='P'
WHERE
order_id=".$refVenta ,$conexion);
break;
}
$result = mysql_query($sql);
if (!$result) {
$mensajeLog .= "[".date("Y-m-d H:i:s")."] Error al ejecutar el query (".$sql.") la
base de datos - ".mysql_error()."\n";
}
if(strlen($mensajeLog)>0){
$filename = $_SERVER["DOCUMENT_ROOT"]."/confirmacion.txt";
$fp = fopen($filename, "a");
if($fp) { fwrite($fp, $mensajeLog, strlen($mensajeLog));
fclose($fp);
}
}
?>
Suba este nuevo archivo utilizando un cliente ftp a la raíz del sitio.