Home >Backend Development >PHP Tutorial >Integrate PayPal standard payment in PHP, PHP integrates PayPal standard_PHP tutorial

Integrate PayPal standard payment in PHP, PHP integrates PayPal standard_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 08:59:09986browse

PHP integrates PayPal standard payment, PHP integrates PayPal standard

The PayPal payment function has been updating documents and interfaces. What is mentioned 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 payment status, 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’s a picture to explain

Integrate PayPal standard payment in PHP, PHP integrates PayPal standard_PHP tutorial

Simpler flow chart

Integrate PayPal standard payment in PHP, PHP integrates PayPal standard_PHP tutorial

 
我们要完成整个流程,其实只需要两个页面来处理

Record the code:

checkout.php This 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=&rdquo;http://www.test.com/checkout.html&rdquo;> 
<input type="hidden" name="return" value=&rdquo;http://www.test.com/thanks.html&rdquo;>	
<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>

 

这个form中包含了一些PayPal支付必须要加的项,需要注意的是notify.php是PayPal会在后台进行调用的
notify.php这个页面有两个功能,一个是接收PayPal的post内容并加上标签返回,一个是接收到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); 
}

 

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1100147.htmlTechArticlePHP integrates PayPal standard payment, and php integrates paypal standard PayPal payment function. In fact, documents and interfaces have been updated, as stated here It is a simple payment function and the general process is as follows 1. On the Internet...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn