Προσπαθώ να παίξω με το IPN της Paypal. Το συγκεκριμένο service, αφού ολοκληρωθεί η διαδικασία πληρωμής, καλεί μία φορά μία σελίδα που έχω στο web server μου, η οποία ξανακάνει ένα request στην paypal, το οποίο με τη σειρά του, ξανακάνει request στη σελίδα μου (η όλη διαδικασία γίνεται για verification purposes)
Χρησιμοποιώ ένα τμήμα κώδικα παρόμοιο με το επόμενο
// A post is essentially a string delimited in a special way
string stringPost = Request.Form.ToString();
...
// Accept the form elements (e.g., Request.Form.Get("txn_id")) and store them in local variables.
...
HttpWebRequest httpWebRequest
= (HttpWebRequest)WebRequest.Create("https://www.paypal.com/cgi-bin/webscr");
httpWebRequest.Method = "POST";
httpWebRequest.ContentLength = stringPost.Length + 21; // &cmd=_notify-validate is 21 chars long
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
StreamWriter streamWriter = null;
streamWriter = new StreamWriter(httpWebRequest.GetRequestStream());
stringPost = stringPost + "&cmd=_notify-validate";
streamWriter.Write(stringPost);
streamWriter.Close();
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
{
stringResult = streamReader.ReadToEnd();
streamReader.Close();
}που το πήρα από τη σελίδα
http://www.activedataonline.com.au/articles/paypalipn.htmlΤο συγκεκριμένο τμήμα κώδικα το έχω στο Load event της σελίδας.
Η ερώτηση μου είναι η εξής: Όταν θα γίνει request πίσω στη σελίδα της Paypal, και μου έρθει το response, θα το πάρω μεν στο httpWebResponse object μου, μια χαρά. Το Load event της σελίδας μου δεν θα γίνει και πάλι trigger, όμως;;; Δηλαδή, αφού θα γίνει request πάλι από το paypal στη σελίδα μου, δεν θα τρέξει πάλι το Load; Και, αν υποθέσουμε ότι συμβαίνει αυτό, δεν θα έχουμε τότε ένα infinite loop από requests/responses;;;;
Dimitris-Ilias Gkanatsios
Developer Evangelist, Microsoft Hellas
My BlogStudentGuruTwitterFacebook