![]() | | ||||||||
| | #1 |
| Active Warrior Join Date: Sep 2008 Location: Southeastern Wisconsin
Posts: 30
Thanks: 1
Thanked 0 Times in 0 Posts
|
I'm wanting to make a potential link (mywebsite.com/buy) a workable link using a php redirect to go directly to PayPal to purchase a product. I'm wanting to use the link for a specific autoresponder email. My problem is the PayPal button is encrypted and I'm not sure sure if I can even pull this off and might just have to end up having it on a webpage as originally thought but I was curious if there was anyway I can take out one click in the buying process. I really appreciate any advice and help - thank you. |
| | |
| | #2 |
| HyperActive Warrior War Room Member Join Date: May 2005 Location: Auckland, New Zealand.
Posts: 241
Thanks: 0
Thanked 13 Times in 12 Posts
|
Hmm. I think yes. Encrypted buttons are usually done using a POST, but PayPal also accepts GET requests for use via email links etc. The only issue might be the length of the resulting URL. Most browsers will cope fine with up to 1KB of text in the URL, many with 2 KB, but I'm not sure how big the encrypted URL would be. I'll just check my WSO order page .... 44 lines x 64 characters, almost 3kb. Your button might be shorter of course. |
| | |
| | |
| | #3 |
| Active Warrior Join Date: Sep 2008 Location: Southeastern Wisconsin
Posts: 30
Thanks: 1
Thanked 0 Times in 0 Posts
| |
| | |
| | #4 |
| HyperActive Warrior War Room Member Join Date: May 2005 Location: Auckland, New Zealand.
Posts: 241
Thanks: 0
Thanked 13 Times in 12 Posts
|
Just thought of a solution though. Create a page with only the form on it. Let people click through to it from the email. Include javascript on the page to automatically click the button on the form. Should have the same effect for more than 90% of people. |
| | |
| | |
| | #5 |
| HyperActive Warrior War Room Member Join Date: Jul 2005 Location: Bjolsen, Oslo , Norway.
Posts: 241
Thanks: 10
Thanked 2 Times in 2 Posts
|
I realize this thread is a little old, but I thought I'd contribute the code to do this if anyone else need it... I see two solutions. One in the JavaScript solution outlined above (have JavaScript click the button for the user): SOLUTON 1: JavaScript (This is a hybrid php / JavaScript / HTML solution... just remove the php if you want): echo '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id=paymentform>'; echo '<input type="hidden" name="cmd" value="_s-xclick">'; echo '<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" border="0" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!">'; echo '<input type="hidden" name="encrypted" value="'; echo $paypal->getButton(); echo '">'; echo "</form>\n"; ?> <script language=javascript> setTimeout('redir()', 10000); function redir(){ document.getElementById('paymentform').submit(); } </script> --------- Just make sure the id of the form is the one called by JavaScript, and you'll be sweet. SOLUTION 2: Pure php <?php $data['custom reason'] = $data['return'])) $return ="http://yoursite.com/thanks.php"; $data['cancel_return'])) "http://yoursite.com/cancelled.php"; $data['notify_url'])) = "http://yoursite.com/ipn_res.php"; // and so on with any info you want to send to PayPal, anything you would put in the form // Then, simply: $result = post_it($data, "https://www.paypal.com/cgi-bin/webscr"); // Now, we've "faked" posting the data to PayPal. // We need to analyze the $result and see where to send the user next // (that is left as an exercise for the reader ;-) ?> <?php function post_it($datastream, $url) { $url = preg_replace("@^http://@i", "", $url); $host = substr($url, 0, strpos($url, "/")); $uri = strstr($url, "/"); $reqbody = ""; foreach($datastream as $key=>$val) { if (!($reqbody=='')) $reqbody.= "&"; $reqbody.= $key."=".urlencode($val); } $contentlength = strlen($reqbody); $reqheader = "POST $uri HTTP/1.1\r\n". "Host: $host\n". "User-Agent: PostIt\r\n". "Content-Type: application/x-www-form-urlencoded\r\n". "Content-Length: $contentlength\r\n\r\n". "$reqbody\r\n"; $socket = fsockopen($host, 80, $errno, $errstr); if (!$socket) { $result["errno"] = $errno; $result["errstr"] = $errstr; return $result; } fputs($socket, $reqheader); while (!feof($socket)) { $result[] = fgets($socket, 4096); } fclose($socket); return $result; } ?> |
| Increase your email response by 460% WSO on now :)
| |
| | |
| | #6 |
| Certified Aspie/Gimp Guru Join Date: Mar 2008 Location: Ma , USA.
Posts: 348
Blog Entries: 1 Thanks: 1
Thanked 18 Times in 13 Posts
|
Yes, Since you are redirecting there is no need to use an encrypted link, just use the standard unencrypted link. The redirect protects the Pay Pal link. To add them to a autoresponder list you need to use the add additional options url on payment/cancel. Simple send them to a thank you page where they enter their e-mail address and your autoresponder then can send them the info etc... |
| Taking it to the next level... Geoff. l Free Gimp Help.. l .Free Webmaster Tools,l free peel away ad help click here .. l.Last orders at the bar | |
| | |
| | #7 | |
| HyperActive Warrior War Room Member Join Date: Jul 2005 Location: Bjolsen, Oslo , Norway.
Posts: 241
Thanks: 10
Thanked 2 Times in 2 Posts
| Quote:
Best regards, Sten | |
| Increase your email response by 460% WSO on now :)
| ||
| | |
![]() |
|
| Tags |
| button, code, encrypted, paypal, php, redirect, redirecting |
| Thread Tools | |
| |
![]() |