Integrate PayPal standard payment in PHP and paypal standard in php
In fact, the PayPal payment function has been updating documents and interfaces. Here we talk about a simple payment function. The general process is as follows:
1. On the checkout page of the website, set a form submitted to the PayPal website, which contains the amount, product name, merchant's collection account, and URL returned after successful checkout,
2. You can click the 'use PayPal checkout 'button to go To the PayPal Checkout page, enter your PayPal username and password, and confirm the payment.
3. PayPal determines which page of the website is returned based on whether the payment is successful, and initiates a post request to a page of the website in the background. This action is called IPN, tell the website the receipt of the payment. For example, completed indicates that the payment is complete.
4. The website can deliver the goods or other processing logic to the user after receiving the Alipay notification from PayPal.
Here is an illustration.
Simpler Flowchart
To complete the entire process, we only need two pages for processing.
Record the Code:
The checkout. php page can actually be HTML
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="ev_csrf" value="9878824eb2cf4f1075dfa43c216d7cec"><input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="upload" value="1"> <input type="hidden" name="charset" value="utf-8"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="business" value=sales@test.com> <input type="hidden" name="cancel_return" value=”http://www.test.com/checkout.html”> <input type="hidden" name="return" value=”http://www.test.com/thanks.html”><input type="hidden" name="notify_url" value="http://www.test.com/notify.php"><input type="hidden" name="custom" value="userid:31;ip:182.114.240.221"> <input type="hidden" name="item_number" value="ARO0101"> <input type="hidden" name="item_name" value="AD182m"> <input type="hidden" name="quantity" value="1"> <input type="hidden" name="amount" value="70"> <input type="submit" value="Checkout with PayPal"> </form>
This form contains some items that must be added for PayPal payment. Note that Alipay Y. php is called by PayPal in the background.
Notify. php has two functions on this page. One is to receive the post content of PayPal and add the returned tag. The other is to process the website logic after receiving the authentication information of PayPal.
$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.0\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $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); }