Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Post data not working when executed through code C#

  •  08-01-2011, 16:45

    Post data not working when executed through code C#

    Καλησπέρα σε όλους,

    Αυτή είναι η πρώτη μου δημοσίευση - ερώτηση. Να σας πω την αλήθεια με έπεισε το ITPRODEVCONNECTIONS 2010 , για να κάνω πιο ενεργεί τη συμμετοχή μου στην κοινότητα.

    Ορίστε λοιπόν το πρόβλημα μου.

    Φτιάχνω μία υλοποίηση ενός πολύ απλού ηλεκτρονικού καταστήματος που να δέχεται πληρωμές με κάρτες μέσω λογαριασμών merchant.

    Ενώ όταν κάνω το POST με απλή form και HTML μέσω submit χωρίς κώδικα από την "~/checkout.aspx" όλα δουλεύουν και μου εμφανίζει τη σελίδα success/NoSuccess (π.χ. ~/NotOK.aspx).

    Όταν κάνω το POST μέσω κώδικα δε μου δουλεύει.

    Παρακάτω είναι ο κώδικας που χρησιμοποιώ. H sendPayment() καλείται μέσα σε έναν event handler ενός asp:button.

     private bool sendPayment()
    {     
      //Εάν έχει επιλεγεί πληρωμή μέσω κάρτας, τότε αποστολή των στοιχείων της παραγγελίας στη σελίδα της τράπεζας
            //για χρέωση της κάρτας του πελάτη
            string postData = "+APACScommand+=NewPayment&merchantID=" + sMerchantID + "&amount=" + sAmount + "&merchantRef=" + 
            sRef + "&merchantDesc=" + "ThisIsTest" + "&currency=" + sCurrency + "&lang=&Var1=" + 
            "&Var2=" + "Visa" + "&Var3=&Var4=&Var5=&Var6=" + 
            "Andy%40mymail.com" + "&Var7=&Var8=&Var9=&CustomerEmail=" + "Andy%40mymail.com" + "&Offset=0&Period=0";
            string resp = "";
            resp = PerformRequest(WebRequestMethods.Http.Post, "https://eptest.eurocommerce.gr/proxypay/apacs", postData);
    
            //επιτυχής αποθήκευση
            return true;
        }
    
        /// <summary>
        /// Performs requests to urls by sending data using methods "GET" or "POST"
        /// </summary>
        /// <param name="method">Specified method to send data (POST or GET)</param>
        /// <param name="url">The url which the data are submitted</param>
        /// <param name="data">String with the data</param>
        /// <returns>The response of the server</returns>
        public static string PerformRequest(string method, string url, string data)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.ContentType = "application/x-www-form-urlencoded";
                request.Method = method;
                request.ContentLength = data.Length;
                StreamWriter sWriter = new StreamWriter(request.GetRequestStream());
                sWriter.Write(data);
                sWriter.Close();
                WebResponse response = request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream());
                string responseString = reader.ReadToEnd();
                reader.Close();
                return responseString;
            }
            catch (HttpException hex)
            {
                return hex.Message;
            }
        }


    Δημοσίευση στην κατηγορία: , , ,
Δείτε όλες τις δημοσιεύσεις της Θεματική Ενότητας
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems