The PayPal payment function has actually been updating documents and interfaces. What is described here is a simple payment function and the general process is as follows
1. On the checkout page of the website, set up a form to submit to the PayPal website, which contains some amount, product name, merchant payment account number, return URL after successful checkout, etc.
2. When the user checks out, click the 'Checkout with PayPal' button to reach PayPal's checkout page, enter your PayPal username and password and confirm the payment
3. PayPal will decide which page to return to the website based on whether the payment is successful, and initiate a post request to a certain page of the website in the background. This action is called IPN, which tells the website the arrival status of the payment, such as completed Payment is completed
4. After the website receives PayPal’s notify notification, it can deliver goods or other processing logic to the user
Here is a picture to explain
Simpler flow chart
- checkout.php This page is used to display shopping cart information and allow users to click the button to navigate to PayPal for payment.
- notify.php This page is used to receive PayPal's IPN information, determine whether the user's payment has arrived, and process the business logic after the website receives payment
Record the code:
checkout.php This page can actually be HTML
Copy the code The code is as follows:
This form contains some information that must be added for PayPal payment item, it should be noted that notify.php is the notify.php page that PayPal will call in the background. This page has two functions. One is to receive PayPal's post content and return it with a label, and the other is to perform the function after receiving PayPal's authentication information. Logic processing within the website
Copy code The code is as follows:
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0rn";
$header .= "Content-Type: application/x-www -form-urlencodedrn";
$header .= "Content-Length: " . strlen($req) . "rnrn";
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
if (!$fp) {
// HTTP ERROR
} else {//HTTP OK
fputs ($fp, $header . $ req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
//process business of website
}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
}
}
fclose ($fp);
}
http://www.bkjia.com/PHPjc/324993.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324993.htmlTechArticleThe PayPal payment function has been updating documents and interfaces. What is mentioned here is a simple payment function. The approximate process is as follows 1 , on the website’s checkout page, set up a submit to PayPal website...