/    Sign up×
Community /Pin to ProfileBookmark

Paypal Intergration

[url]http://www.firewaresystems.com/Products/[/url]

This is my website. I’m having trouble integrating the total into a paypal button. I would prefer an add it to cart button but i can just use a buy it now button or something. I have no idea. A friend help me getting the coding just to make the total work but i still have no idea how to integrate paypal into it. This is just a test page with test values and etc. But a little help would be great.

to post a comment
HTML

3 Comments(s)

Copy linkTweet thisAlerts:
@uadeveloperDec 14.2010 — You need a PayPal IPN.

Check all work you can with PayPal SandBox.

Example: http://www.web-development-blog.com/archives/easy-payments-using-paypal-ipn/

If you want to do the job, or something to help, you can contact me:

icq: 334-511-967

skype: shishkin1989
Copy linkTweet thisAlerts:
@turboz8607authorDec 15.2010 — Well, i would like to be able to do that but I'm a complete beginner at this. Actually i just know some very basic html tags and attributes. I know how to change and edit a bit a code but i don't have the slightest idea on how to do something like this. I'm hoping its something simple that someone can do in just a few minutes of there time.
Copy linkTweet thisAlerts:
@shrikrishnatechDec 17.2010 — Try this

[CODE]<?php

class paypal_class {

var $last_error; // holds the last error encountered

var $ipn_log; // bool: log IPN results to text file?
var $ipn_log_file; // filename of the IPN log
var $ipn_response; // holds the IPN response from paypal

var $ipn_data = array(); // array contains the POST values for IPN

var $fields = array(); // array holds the fields to submit to paypal


function paypal_class() {

// initialization constructor. Called when class is created.

$this->paypal_url = 'https://www.paypal.com/cgi-bin/webscr';

$this->last_error = '';

$this->ipn_log_file = 'ipn_log.txt';
$this->ipn_log = true;
$this->ipn_response = '';

// populate $fields array with a few default values. See the paypal
// documentation for a list of fields and their data types. These defaul
// values can be overwritten by the calling script.

$this->add_field('rm','2'); // Return method = POST
$this->add_field('cmd','_xclick');

}

function add_field($field, $value) {

// adds a key=>value pair to the fields array, which is what will be
// sent to paypal as POST variables. If the value is already in the
// array, it will be overwritten.

$this->fields["$field"] = $value;
}

function submit_paypal_post() {

// this function actually generates an entire HTML page consisting of
// a form with hidden elements which is submitted to paypal via the
// BODY element's onLoad attribute. We do this so that you can validate
// any POST vars from you custom form before submitting to paypal. So
// basically, you'll have your own form which is submitted to your script
// to validate the data, which in turn calls this function to create
// another hidden form and submit to paypal.

// The user will briefly see a message on the screen that reads:
// "Please wait, your order is being processed..." and then immediately
// is redirected to paypal.

echo "<html>n";
echo "<head><title>Processing Payment...</title></head>n";
echo "<body onLoad="document.form.submit();">n";
echo "<center><h3>Please wait, your order is being processed...</h3></center>n";
echo "<form method="post" name="form" action="".$this->paypal_url."">n";

foreach ($this->fields as $name => $value) {
echo "<input type="hidden" name="$name" value="$value">";
}

echo "</form>n";
echo "</body></html>n";

}

function validate_ipn() {

// parse the paypal URL
$url_parsed=parse_url($this->paypal_url);

// generate the post string from the _POST vars aswell as load the
// _POST vars into an arry so we can play with them from the calling
// script.
$post_string = '';
foreach ($_POST as $field=>$value) {
$this->ipn_data["$field"] = $value;
$post_string .= $field.'='.urlencode($value).'&';
}
$post_string.="cmd=_notify-validate"; // append ipn command

// open the connection to paypal
$fp = fsockopen($url_parsed[host],"80",$err_num,$err_str,30);
if(!$fp) {

// could not open the connection. If loggin is on, the error message
// will be in the log.
$this->last_error = "fsockopen error no. $errnum: $errstr";
$this->log_ipn_results(false);
return false;

} else {

// Post the data back to paypal
fputs($fp, "POST $url_parsed[path] HTTP/1.1rn");
fputs($fp, "Host: $url_parsed[host]rn");
fputs($fp, "Content-type: application/x-www-form-urlencodedrn");
fputs($fp, "Content-length: ".strlen($post_string)."rn");
fputs($fp, "Connection: closernrn");
fputs($fp, $post_string . "rnrn");

// loop through the response from the server and append to variable
while(!feof($fp)) {
$this->ipn_response .= fgets($fp, 1024);
}

fclose($fp); // close connection

}

if (eregi("VERIFIED",$this->ipn_response)) {

// Valid IPN transaction.
$this->log_ipn_results(true);
return true;

} else {

// Invalid IPN transaction. Check the log for details.
$this->last_error = 'IPN Validation Failed.';
$this->log_ipn_results(false);
return false;

}

}

function log_ipn_results($success) {

if (!$this->ipn_log) return; // is logging turned off?

// Timestamp
$text = '['.date('m/d/Y g:i A').'] - ';

// Success or failure being logged?
if ($success) $text .= "SUCCESS!n";
else $text .= 'FAIL: '.$this->last_error."n";

// Log the POST variables
$text .= "IPN POST Vars from Paypal:n";
foreach ($this->ipn_data as $key=>$value) {
$text .= "$key=$value, ";
}

// Log the response from the paypal server
$text .= "nIPN Response from Paypal Server:n ".$this->ipn_response;

// Write to log
$fp=fopen($this->ipn_log_file,'a');
fwrite($fp, $text . "nn");

fclose($fp); // close file
}

function dump_fields() {

// Used for debugging, this function will output all the field/value pairs
// that are currently defined in the instance of the class using the
// add_field() function.

echo "<h3>paypal_class->dump_fields() Output:</h3>";
echo "<table width="95%" border="1" cellpadding="2" cellspacing="0">
<tr>
<td bgcolor="black"><b><font color="white">Field Name</font></b></td>
<td bgcolor="black"><b><font color="white">Value</font></b></td>
</tr>";

ksort($this->fields);
foreach ($this->fields as $key => $value) {
echo "<tr><td>$key</td><td>".urldecode($value)." </td></tr>";
}

echo "</table><br>";
}
}

?>[/CODE]


Web Design Company
×

Success!

Help @turboz8607 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.25,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...