PayPal网站付款标准版(for PHP)

简单整理一下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>

二、IPN验证部分

<?php
class paypal {
  var $paypal_url=‘https://www.paypal.com/cgi-bin/webscr‘;//sandbox:https://www.sandbox.paypal.com/cgi-bin/webscr
  var validate_ipn_response;
  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;
    }
  }}
?>

资料:
开发者:https://developer.paypal.com/
即时付款通知:https://www.paypal-biz.com/development/documentation/PayPal_IPN&PDT_Guide_V1.0.pdf
paypal标准版:https://www.paypal-biz.com/development/documentation/PayPal_WPS_Guide_CN_V2.0.pdf

时间: 2024-10-11 07:23:22

PayPal网站付款标准版(for PHP)的相关文章

.Net在线付款---Paypal在线付款开发过程

原文:.Net在线付款---Paypal在线付款开发过程 最近在做一个Web订单项目,项目有一个需求就是集成Paypal与Paydollar在线付款,一开始看到这个需求也是傻了眼,因为以前从来没有做过在线付款的功能,于是打开百度,google狂搜一通,发现.net下面集成这两种付款方式的介绍很不全面,没有找到我心中想要的答案,没有办法,只要老老实实的跟着网站上提供的文文件来做,在项目快完成时,于是想将现在做的一些心得和步骤记录下来,以备以后有用! 你可以进入https://www.paypal.

支付宝钱包接口开发包2.0标准版接入与使用规则

接入与使用规则 支付宝钱包支付接口开发包 2.0 标准版 附录文档 版本号:1.3 支付宝(中国)网络技术有限公司 版权所有 支付宝钱包支付接口开发包 2.0 标准版附录文档 目录 1 文档说明..............................................................................................................4 1.1 文档说明...............................

[MS]Microsoft SQL Server 2008 R2 开发版/企业版/标准版

Microsoft? SQL Server? 2008 R2 是一个功能强大且可靠的数据管理系统,它功能丰富,能保护数据,并且可改善嵌入式应用程序.轻型网站和应用程序以及本地数据存储区的性能. 数据中心版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB(可用,已验证)DDT3B-8W62X-P9JD6-8MX7M-HWK38(待测) 开发版:MC46H-JQR3C-2JRHY-XYRKY-QWPVM (可用,已验证)FTMGC-B2J97-PJ4QG-V84YB-MTXX8(待测)

Windows 2003 Server 标准版启动问题解决(资源转贴)

维护的系统之一是部署在windows2003 Server标准版的服务器上,可能是由于某个应用问题,导致远程重启失败,害得我在机房呆了一早晨,可算是够折腾的.最后按照官方文档解决,刚放文档地址是:http://support.microsoft.com/kb/325375/zh-cn 内容是: 本文介绍在解决 Windows Server 2003 中的启动问题时可使用的一般过程. 成功的 Windows 启动包括以下四个阶段: 初始阶段 启动加载器阶段 内核阶段 登录阶段 如果在上述某个阶段出

oracle标准版、企业版区别

一.Oracle 9i标准版.企业版 Oracle 9i标准版 Oracle 9i企业版 ?Jserver Enterprise Edition ?InterMedia ?Enterprise Manager ?Workflow Standard Edition ?Standard Management Pack ?Object Option ?Networking kit ?Object for OLE ?Distributed Option ?64 bit Option ?ODBC Driv

Lync Server 2013 实战系列之二:标准版-前期准备

在上篇文章中跟大家一起分享了如何使用Lync Server 2013 去规划公司的拓扑和网络流量等.从今天开始手把手教大家搭建第一个Lync标准版,详细的为大家讲解每一步操作的原因并做到无边缘服务器的公网发布.很多人一直都有个误解"没有边缘服务器无法做到公网发布",正因为如此,我想通过这个系列的分享让大家体会到Lync部署的灵活性.各个组件的功能和在实际环境中的部署.1. 拓扑图 这是本次无边缘服务器公网发布的环境拓扑图,本次实验是使用Hyper-V虚拟机,内外域名均为"Wa

爬虫代理加强版、标准版产品问题解答

1.什么是爬虫代理(加强版.标准版)"爬虫代理IP"通过固定云代理服务地址,建立专线网络链接,代理平台自动实现毫秒级代理IP切换,保证了网络稳定性和速度,避免爬虫客户在代理IP策略优化上投入精力.2.爬虫代理加强版和标准版有什么区别(1)标准版的IP分布于全国10多个,适合于中小型网站采集(2)加强版的IP分布于全国90多个地区,IP量大适合于大型网站或对IP数量.质量要求很高的采集任务. 3.爬虫代理加强版,标准版的用户认证是什么意思用户认证(通过请求头实现用户名和密码认证)通过用户

【翻译自mos文章】将Oracle 12c数据库从标准版convert到企业版

将Oracle 12c数据库从标准版convert到企业版 来源于: How to Convert Oracle Database 12c from Standard to Enterprise Edition ? (文档 ID 2046103.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.1 and later Information in this document applies to any pl

sql server 2005 32位+64位、企业版+标准版、CD+DVD 下载地址大全

企业版DVD SQL Server 2005 Enterprise Edition(支持超大型企业) 32 位DVD: ed2k://|file|cs_sql_2005_ent_x86_dvd.iso|972310528|4CEEF4B959894FD78C8F8416B4BA533E|/ 64 位DVD: ed2k://|file|cs_sql_2005_ent_x64_dvd.iso|1019222016|10FD11133A3E70DAD665BEDC1090AD28|/ 标准版CD SQ