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 相关文章推荐
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
PHP访问Google Search API的方法
Mar 05 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
PHP+Oracle本地开发环境搭建方法详解
Apr 01 PHP
Laravel推荐使用的十个辅助函数
May 10 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开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
destoon二次开发入门示例
2014/06/20 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
canvas的神奇用法
2017/02/03 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
跟老齐学Python之用while来循环
2014/10/02 Python
wxPython窗口中文乱码解决方法
2014/10/11 Python
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
python利用线程实现多任务
2020/09/18 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
英国女士家居服网站:hush
2017/08/09 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
客服主管岗位职责
2013/12/13 职场文书
公司庆典邀请函范文
2014/01/13 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
离婚纠纷代理词
2015/05/23 职场文书
承兑汇票延期证明
2015/06/23 职场文书
校运会班级霸气口号
2015/12/24 职场文书
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL