Warrior Forum - The #1 Digital Marketing Forum & Marketplace

Warrior Forum - The #1 Digital Marketing Forum & Marketplace (https://www.warriorforum.com/)
-   Programming (https://www.warriorforum.com/programming/)
-   -   Is it possible to use PHP for redirecting an encrypted PayPal button code? (https://www.warriorforum.com/programming/11343-possible-use-php-redirecting-encrypted-paypal-button-code.html)

evolvingpublishing 11th September 2008 02:32 PM

Is it possible to use PHP for redirecting an encrypted PayPal button code?
 
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.

rwil02 11th September 2008 04:22 PM

Re: Is it possible to use PHP for redirecting an encrypted PayPal button code?
 
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.

evolvingpublishing 11th September 2008 06:34 PM

Re: Is it possible to use PHP for redirecting an encrypted PayPal button code?
 
Quote:

Originally Posted by rwil02 (Post 97040)
44 lines x 64 characters, almost 3kb.

Your button might be shorter of course.

Actually mine is the same size after looking back at the code...

Thank you rwil02, I appreciate your help.

rwil02 11th September 2008 06:52 PM

Re: Is it possible to use PHP for redirecting an encrypted PayPal button code?
 
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.

Sten M. Andersen 30th September 2008 11:10 AM

Re: Is it possible to use PHP for redirecting an encrypted PayPal button code?
 
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;

}

?>

e-mail2u 1st October 2008 08:39 AM

Re: Is it possible to use PHP for redirecting an encrypted PayPal button code?
 
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...

Sten M. Andersen 6th October 2008 01:24 AM

Re: Is it possible to use PHP for redirecting an encrypted PayPal button code?
 
Quote:

Originally Posted by e-mail2u (Post 143239)
Yes,

Since you are redirecting there is no need to use an encrypted link, just use the standard unencrypted link.

I wouldn't necessary follow this advice. True, you need to decide your own level of paranoia. I don't know your list, but it is not hard to "stop" a redirect and see what html code it actually contains. That means your PayPal-button code would be exposed, and with it, the url for your thank-you page. In some scenarios (for example when you use the IPN code to ship a physcial product, or fire off the email with the real download links, that's not a problem. But if the real thank-you page url is in the PayPal-button code, you're at risk.

Best regards,
Sten


All times are GMT -6. The time now is 05:10 PM.