Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/10/2014, 07:33
Integer78
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 21 años
Puntos: 6
Respuesta: REQUEST dineromail

Hola recuerdo que renegué con esto, pero no recuerdo como lo solucioné te pego el código que uso y funciona:

(Es tomado de un sitio en producción tenés que adaptarlo a lo que quieras hacer, no tengo tiempo de limpiarte el código, pero funciona):

<?
include("admin/conex.php");
/*$_REQUEST["Notificacion"]="<?xml version=\'1.0\' encoding=\'ISO-8859-1\'?><notificacion><tiponotificacion>1</tiponotificacion>//<operaciones><operacion><tipo>1</tipo><id>56</id></operacion></operaciones></notificacion>";*/
mail("[email protected]","Notificacion DM",$_REQUEST["Notificacion"],"From:[email protected]");
//Obtiene la fecha actual
$array_fecha=getdate();
$fecha=strval($array_fecha['mday'])."/".strval($array_fecha['mon'])."/".strval($array_fecha['year']);
$url = 'https://argentina.dineromail.com/Vender/Consulta_IPN.asp'; //URL donde realizo las consultas a DineroMail
//Por cada operacion notificada consulto al servidor de DineroMail para obtener los detalles de cada una
//Armo archivo XML con los datos de la consulta
$data = 'DATA=<REPORTE><NROCTA>2048305</NROCTA><DETALLE><CONSULTA><CLAVE>dinero1194</CLAVE><TIPO>1</TIPO><OPERACIONES>';
if(isset($_REQUEST["Notificacion"]))
{
$notificacion = $_REQUEST["Notificacion"];
$notificacion = stripslashes($notificacion);
$Notificacion = simplexml_load_string($notificacion);
//mail("[email protected]","Notificacion DM","Informacion recibida","From:[email protected]");
foreach($Notificacion->operaciones as $operacion)
{
$id_operacion = $operacion->operacion->id;
$data=$data.'<ID>'.$id_operacion.'</ID>';
}
$data=$data.'</OPERACIONES></CONSULTA></DETALLE></REPORTE>';
mail("[email protected]","Consulta DM",$data,"From:[email protected]");
// parsea URL
$url = parse_url($url);
// obtiene host y path
$host = $url['host'];
$path = $url['path'];
// abre conexion en puerto 80
$fp = fsockopen($host, 80);
// request
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);
$result = '';
while(!feof($fp)) {
// resultado del request
$result .= fgets($fp);
}
// cierra conexion
fclose($fp);
// separa el header del content
$result = explode("\r\n\r\n", $result, 2);
$header = isset($result[0]) ? $result[0] : '';
$content = isset($result[1]) ? $result[1] : '';
mail("[email protected]","Respuesta DM antes",$content,"From:[email protected]");
$content=substr($content,5);
$content=substr($content,0,-7);
mail("[email protected]","Respuesta DM despues",$content,"From:[email protected]") ;
$doc2 = new SimpleXMLElement($content);
foreach ($doc2 ->DETALLE ->OPERACIONES ->OPERACION as $OPERACION)
{
$id_operacion= $OPERACION->ID;
$estado_operacion=$OPERACION->ESTADO;
$email_comprador=$OPERACION->COMPRADOR->EMAIL;
//Actualizo el estado de la operacion
//if($estado_operacion==2)
//{
mysql_query("UPDATE ventas SET pagada='S' WHERE id_venta='$id_operacion'",$link);
//Activo el comercio
mysql_query("UPDATE comercios SET abonado='S' WHERE id_comercio IN (SELECT comercios_id_comercio FROM ventas WHERE id_venta='$id_operacion')",$link);
//Busco los datos de la venta
$ventas=mysql_query("SELECT * FROM ventas WHERE id_venta='$id_operacion'",$link);
$venta=mysql_fetch_array($ventas);
//Busco los datos del usuario
$usuarios=mysql_query("SELECT * FROM usuarios WHERE mail='".$venta['usuarios_mail']."'",$link);
$usuario=mysql_fetch_array($usuarios);
//Armo link para verificar cuenta
//$link_armado="<a href=".$url_cliente."/confirmar.php?dg=".$usuario['digito_verificador'].">".$url_cliente."/confirmar.php?dg=".$usuario['digito_verificador']."</a>";
//Envio mail de aviso al cliente
//Leo la estetica desde un archivo html externo
/*$nombre_fichero = "acuse/tmp_compra.html";
$gestor = fopen($nombre_fichero, "r");
$contenido = html_entity_decode(fread($gestor, filesize($nombre_fichero)));
fclose($gestor);
//Cuerpo del email comenzando por el mensaje principal
$campos = array("{FECHA}", "{LINK}");
$reemplazo = array($fecha, $link_armado);
$mensaje =str_replace($campos, $reemplazo,$contenido);
// Se monta la cabecera del mensaje.
$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";
$cuerpo = $body_top.$mensaje;
//Envío del email*/
$destino = $email_comprador;
mail($usuario['mail'],"Pago Confirmado","Su pago a www.laguialuxe.com.ar ¡ha sido confirmado!\r\nA partir de este momento su comercio aparecera publicado en www.laguialuxe.com.ar\r\nPara ingresar a su cuenta y comenzar a administrar los datos de su comercio clic aqui: http://www.laguialuxe.com.ar/menu_clientes.php","From:[email protected]");
//}
}
}
?>