ResponseNVP execute( RequestNVP requestNvp ) { StringBuilder spec = new StringBuilder( "https://" ); spec.Append( _sandbox ? PAYPAL_SANDBOX : PAYPAL_HOST ); spec.Append( "/nvp" ); HttpWebRequest request = (HttpWebRequest) WebRequest.Create( spec.ToString() ); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; using ( Stream stream = request.GetRequestStream() ) { UTF8Encoding encoding = new UTF8Encoding(); byte[] bytes = encoding.GetBytes( requestNvp.ToString() ); stream.Write( bytes , 0 , bytes.Length ); } HttpWebResponse response = (HttpWebResponse) request.GetResponse(); ResponseNVP responseNvp; using ( Stream stream = response.GetResponseStream() ) { using ( StreamReader reader = new StreamReader( stream , Encoding.UTF8 ) ) { string result = reader.ReadToEnd(); responseNvp = (ResponseNVP) result.ToString(); } } return responseNvp; }
RequestNVP createNVP() { RequestNVP nvp = new RequestNVP(); nvp.Version = version; nvp.User = user; nvp.Password = pswd; nvp.Signature = signature; return nvp; }
public Operation( ExpressCheckoutApi ec ) { this.ec = ec; requestNVP = ec.createNVP(); }