Maison > développement back-end > tutoriel php > PHP中集成PayPal标准支付,php集成paypal标准_PHP教程

PHP中集成PayPal标准支付,php集成paypal标准_PHP教程

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-07-12 08:59:09
original
1063 Les gens l'ont consulté

PHP中集成PayPal标准支付,php集成paypal标准

PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下

1,在网站的结账页面,设置一个提交到PayPal网站的form,里面有一些金额,商品名称,商家收款账号、结账成功后返回URL等内容,

2,用户结账时,通过点击‘使用PayPal结账’的按钮到达PayPal的结账页面,输入自己的PayPal用户名和密码并确认支付

3,PayPal会根据是否支付成功来决定返回网站的哪个页面,并在后台对网站的某个页面发起post请求,这个动作称作IPN,告诉网站这笔付款的到账情况,比如completed即为完成付款

4,网站收到PayPal的notify通知后,即可给用户发货或者其他的处理逻辑

这里有一张图来解释

paypal_process_thumb[1]

更为简单的流程图

download_thumb[3]

1

 

Copier après la connexion

1

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

Copier après la connexion

记录一下代码:

checkout.php 这个页面其实可以是HTML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<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>

Copier après la connexion

  

1

这个form中包含了一些PayPal支付必须要加的项,需要注意的是notify.php是PayPal会在后台进行调用的

Copier après la connexion

1

notify.php这个页面有两个功能,一个是接收PayPal的post内容并加上标签返回,一个是接收到PayPal的认证信息之后进行网站内部的逻辑处理

Copier après la connexion

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

$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);

}

Copier après la connexion

  

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1100147.htmlTechArticlePHP中集成PayPal标准支付,php集成paypal标准 PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下 1,在网...
Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal