Hey, Never mind, problem solved! By looking at the PHP script, I was able to throw together a script to write the POST and receive a response from PayPal by reading and writing to sockets. I am still curious to know if I can use in libURL functions in a Rev CGI though.
TTFN Bridger Maxwell www.FieryFerret.com On 8/5/07, Bridger Maxwell <[EMAIL PROTECTED]> wrote: > > Hey, I am trying to make a Rev CGI play nicely with PayPal, and I am > stuck. I am trying to implement PayPal's IPN (Instant Payment Notification) > which sends data to a CGI on my site when a purchase is made. It does > this by sending a POST. My CGI is supposed to POST back to PayPal the > data PayPal sent me, and a little extra for verification. As part of the > second the POST, the PayPal site is supposed to send back either > "VERIFIED" or "INVALID." I hope made sense. :) > My CGI is receiving the data, and I try to send a POST back, but no data > is in the "it" variable or the result. How do I get the data? Is the > POST command available in a CGI? Should I just do this with my own custom > sockets? > > > TTFN > Bridger Maxwell > www.FieryFerret.com > > > > > If it helps, I have sample PHP code I am working from, and some of my code > from the CGI. > > > PHP Code (From PayPal): > // post back to PayPal system to validate > $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n"; > $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; > $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; > $fp = fsockopen ('www.paypal.com ', 80, $errno, $errstr, 30); > > > if (!$fp) { > // HTTP ERROR > } else { > fputs ($fp, $header . $req); > while (!feof($fp)) { > $res = fgets ($fp, 1024); > if (strcmp ($res, "VERIFIED") == 0) { > // process payment > } > else if (strcmp ($res, "INVALID") == 0) { > // log for manual investigation > } > } > fclose ($fp); > } > > My CGI Code: > put empty into gBuffer > REPEAT until length(gBuffer) >= $CONTENT_LENGTH > read from stdin until empty > put it after gBuffer > END REPEAT > put "cmd=_notify-validate&" & gBuffer into vReturn > > post vReturn to "http://www.sandbox.paypal.com/cgi-bin/webscr " > --After this post, the "it" variable is empty, and so is the result > _______________________________________________ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution