PHP整合PayPal支付


Posted in PHP onJune 11, 2015

简单整理一下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 $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;
}
}
}
?>

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

PHP 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
解决MySQL中文输出变成问号的问题
Jun 05 PHP
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
Jun 10 PHP
php实现模拟post请求用法实例
Jul 11 PHP
PHP 自动加载的简单实现(推荐)
Aug 12 PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 PHP
php实现购物车产品删除功能(2)
Jul 23 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 PHP
php 在线导入mysql大数据程序
Jun 11 #PHP
php简单图像创建入门实例
Jun 10 #PHP
php使用GD库创建图片缩略图的方法
Jun 10 #PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 #PHP
php使用Jpgraph绘制饼状图的方法
Jun 10 #PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 #PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 #PHP
You might like
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
JS重要知识点小结
2011/11/06 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
对pandas的行列名更改与数据选择详解
2018/11/12 Python
Python中super函数用法实例分析
2019/03/18 Python
pytorch梯度剪裁方式
2020/02/04 Python
Python控制台实现交互式环境执行
2020/06/09 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
销售文员的岗位职责
2013/11/20 职场文书
仓库主管岗位职责
2014/03/02 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
死亡赔偿协议书
2015/01/28 职场文书
正规欠条模板
2015/07/03 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
自荐信范文
2019/05/20 职场文书
vue中div禁止点击事件的实现
2022/04/02 Vue.js