Hola,
Te pego un codigo funcionando que hice para DineroMail, supongo que tenes
que hacer algo parecido.

Saludos!,
Diego


private string GetPayments(DateTime StartDate, DateTime EndDate)

{

string lcUrl = "https://www.dineromail.com/Vender/ConsultaPago.asp";;

HttpWebRequest loHttp = (HttpWebRequest) WebRequest.Create(lcUrl);

loHttp.Method = "POST";

PostData(loHttp, StartDate, EndDate);

return GetResponseXML(loHttp);

}

private static string GetResponseXML(HttpWebRequest loHttp)

{

HttpWebResponse loWebResponse = (HttpWebResponse) loHttp.GetResponse();

Encoding enc = Encoding.GetEncoding(1252);

StreamReader loResponseStream = new StreamReader(
loWebResponse.GetResponseStream(), enc);

string xml = loResponseStream.ReadToEnd();

loWebResponse.Close();

loResponseStream.Close();

return xml;

}

private void PostData(HttpWebRequest loHttp, DateTime StartDate,
DateTimeEndDate)

{

string lcPostData = "Email=" + Email +

"&Acount=" + HttpUtility.UrlEncode(CodigoComercio) +

"&pin=" + HttpUtility.UrlEncode(Pin) +

"&StartDate=" + FormatDate(StartDate) +

"&EndDate=" + FormatDate(EndDate) +

"&XML=1";

byte[] lbPostBuffer = Encoding.GetEncoding(1252).GetBytes(lcPostData);

loHttp.ContentLength = lbPostBuffer.Length;

loHttp.ContentType="application/x-www-form-urlencoded";

Stream loPostData = loHttp.GetRequestStream();

loPostData.Write(lbPostBuffer, 0, lbPostBuffer.Length);

loPostData.Close();

}







On 3/20/07, Matias Q <[EMAIL PROTECTED]> wrote:

Buen dia lista,

Estamos implementando una interfaz con un servicio de pago para Bancos,
Tarjetas de Credito, etc. Nuestro sistema es Web (.NET 2.0), redirige a
una pagina del Servicio de Pago donde se valida la tarjeta/banco y luego
ellos redirigen al cliente nuevamente a nuestro sistema, la pagina que luego
recibe al cliente tiene un resumen de su pago (la informacion a esta pagina
se recibe mediante un POST normal de un formulario, asi que utilizamos
Request.Form para hacerlo). Al mismo tiempo, el Servicio de Pago, envia
mediante un proceso interno mas informacion a traves de un HttpWebRequest a
otra de nuestras paginas, no visible al cliente. El problema es que esta
pagina que recibe el HttpWebRequest, no esta ejecutando ninguna linea de su
Code-Behind, no ejecuta nada en absoluto.

El Servicio de Pago lo envia de esta forma:

        HttpWebRequest request = (URL);

        request.ContentType = "application/x-www-form-urlencoded";
        request.Method = "POST";
        request.Accept = "text/*";
        request.AllowAutoRedirect = false;
        UTF8Encoding Encoding = new UTF8Encoding();
        byte[] postBytes = Encoding.GetBytes("informacion");
        request.ContentLength = postBytes.Length;
        Stream requestStream = request.GetRequestStream();
        requestStream.Write(postBytes, 0, postBytes.Length);
        requestStream.Close();


El HttpWebRequest tiene un encoding UTF8 y envia un string de datos, el
POST llega a nuestro servidor y se registra en el IIS, pero la pagina no
corre nada de su Code-Behind, ni una linea. El codigo de recepcion se esta
ejecutando en el evento Page_Load, deberia ser en otro evento? Deberia tener
algun tipo de header HTTP especial para recibir el HttpWebRequest? Tendra
que ver con el Encoding?

Si alguien puede iluminarme, lo agradeceria mucho.

Matias

------------------------------
Your friends are close to you. Keep them that 
way.<http://spaces.live.com/signup.aspx%0A>

Responder a