Home > Backend Development > PHP Tutorial > PHP integrates PayPal payment_PHP tutorial

PHP integrates PayPal payment_PHP tutorial

WBOY
Release: 2016-07-13 09:51:04
Original
890 people have browsed it

PHP integrates PayPal payment

Briefly organize the PHP project to integrate PayPal payment function.

1. Form construction:

1

2

3

4

5

6

7

8

9

10

11

12

1 2 3 4 5 6 7 8 9 10 11 12

2. IPN verification part

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

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

class paypal {

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

  var $fields = array(); // 提交给Paypal的表单参数,例:item_name=iPhone 6,quantity=1,amount=499,currency_code=USD等所有表单信息,

                     // 在调用验证IPN之前事先需要初始化好

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

  

  function validate_ipn() {//验证IPN

      // parse the paypal URL

      $url_par=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_str = '';

      foreach ($_POST as $field=>$value) {

        $this->ipn_data["$field"] = $value;

        $post_str .= $field.'='.urlencode(stripslashes($value)).'&';

      }

      $post_str.="cmd=_notify-validate"; // append ipn command

      // open the connection to paypal

      $fp = fsockopen($url_par[host],"80",$errnum,$errstr,30);

      if(!$fp) {

        // could not open the connection.

        return false;

      } else {

        // Post the data back to paypal

        fputs($fp, "POST ".$url_par[path]." HTTP/1.1rn");

        fputs($fp, "Host: ".$url_par[host]."rn");

        fputs($fp, "Content-type: application/x-www-form-urlencodedrn");

        fputs($fp, "Content-length: ".strlen($post_str)."rn");

        fputs($fp, "Connection: closernrn");

        fputs($fp, $post_str . "rnrn");

        // loop through the response from the server and append to variable

        while(!feof($fp)) {

          $this->validate_ipn_response .= fgets($fp, 1024);

        }

        fclose($fp); // close connection

     }

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

      return true;

    } else {

      return false;

    }

  }

}

?>

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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
<🎜>class paypal {<🎜> <🎜> var $ipn_data = array(); // array contains the POST values ​​for IPN<🎜> <🎜> var $fields = array(); // Form parameters submitted to Paypal, for example: item_name=iPhone 6, quantity=1, amount=499, currency_code=USD and all form information, <🎜> <🎜>      //It needs to be initialized before calling the verification IPN<🎜> <🎜> var $paypal_url = 'https://www.paypal.com/cgi-bin/webscr';//sandbox: https://www.sandbox.paypal.com/cgi-bin/webscr<🎜> <🎜> <🎜> <🎜> Function validate_ipn() {//Verify IPN<🎜> <🎜>   // parse the paypal URL<🎜> <🎜> $url_par=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_str = ''; foreach ($_POST as $field=>$value) {    $this->ipn_data["$field"] = $value;    $post_str .= $field.'='.urlencode(stripslashes($value)).'&';   }   $post_str.="cmd=_notify-validate"; // append ipn command    // open the connection to paypal  $fp = fsockopen($url_par[host],"80",$errnum,$errstr,30);  if(!$fp) {     // could not open the connection. return false;   } else {     // Post the data back to paypal fputs($fp, "POST ".$url_par[path]." HTTP/1.1rn"); fputs($fp, "Host: ".$url_par[host]."rn"); fputs($fp, "Content-type: application/x-www-form-urlencodedrn"); fputs($fp, "Content-length: ".strlen($post_str)."rn");    fputs($fp, "Connection: closernrn"); fputs($fp, $post_str . "rnrn");     // loop through the response from the server and append to variable   while(!feof($fp)) {     $this->validate_ipn_response .= fgets($fp, 1024);     }    fclose($fp); // close connection   }  if (eregi("VERIFIED",$this->validate_ipn_response)) { return true;   } else { return false;  }  } } ?>

The above is the entire content of this article, I hope you all like it.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1015337.htmlTechArticlePHP integrates PayPal payment to briefly organize the PHP project to integrate PayPal payment function. 1. Form construction: 1 2 3 4 5 6 7 8 9 10 11 12 form method=post name=form action=https://www.paypa...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template