PHP整合PayPal支付_PHP

WBOY
Freigeben: 2016-05-30 08:45:06
Original
845 Leute haben es durchsucht

简单整理一下PHP项目整合PayPal支付功能。

一、表单的构建:

<form method="post" name="form" action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="rm" value="2"/>
<input type="hidden" name="cmd" value="_xclick"/>
<input type="hidden" name="business" value="商家账号"/>
<input type="hidden" name="return" value="返回网址"/>
<input type="hidden" name="cancel_return" value="取消返回网址"/>
<input type="hidden" name="notify_url" value="用于接收PayPal发送的即时付款通知的URL,必须是有效的URL"/>
<input type="hidden" name="item_name" value="物品名称"/>
<input type="hidden" name="item_number" value="可用于跟踪购买或捐赠的传递变量,在付款完成时传回给您"/>
<input type="hidden" name="amount" value="物品的价格(购物车中所有物品的总价格"/>
<input type="hidden" name="currency_code" value="币种"/>
</form>
Nach dem Login kopieren

二、IPN验证部分

<&#63;php
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.1\r\n");
        fputs($fp, "Host: ".$url_par[host]."\r\n");
        fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
        fputs($fp, "Content-length: ".strlen($post_str)."\r\n");
        fputs($fp, "Connection: close\r\n\r\n");
        fputs($fp, $post_str . "\r\n\r\n");
        // 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;
    }
  }
}
&#63;>

Nach dem Login kopieren

以上所述就是本文的全部内容了,希望大家能够喜欢。

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage