2015-06-11
简单整理一下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.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
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
6
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
7
将视频设置为Android手机开机动画的教程
12-11
8
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
常用dos命令及语法
2014-09-27
PHP中include和require区别之我见
2014-09-05
php递归返回值的问题
2014-09-05
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
学ug编程如何快速入门?
2022-03-17
PHP数组函数array
2014-09-05
学习使用C语言/C++编程的7个步骤!超赞~
2022-03-20
零基础的初学者怎样学习java,或者应该先学什么?
2022-03-21
快刀斩乱麻下载v0.251111.169 安卓版
其它手游 112.83MB
下载
消费之夜下载v1.1 安卓版
其它手游 67.48MB
下载
流沙之城手游下载v1.89 安卓版
其它手游 215.74MB
下载
射箭狩猎下载v0.251108.170 安卓版
其它手游 91.44MB
下载
海绵宝宝跑跑海绵汉化版下载v1.5 安卓版
其它手游 72.79MB
下载
暗影火柴人勇士的复仇内购破解版下载v1.9.0 安卓无限金币版
其它手游 96.05MB
下载
模拟家庭生活下载v187.1.2 安卓版
其它手游 82.6MB
下载
梦幻宠物欢乐屋下载v187.1.2 安卓版
其它手游 84.39MB
下载逃脱老师下载v1.1 安卓版
下载
真实史莱姆下载v1.0.0 安卓版
下载
几何冲刺世界汉化版下载v1.021 安卓版
下载
我会开脑洞下载v1.0.7 安卓版
下载
石头剪刀咚咚响下载v1.0.0 安卓版
下载
疯狂玩偶魔性派对下载v1.251108.170 安卓版
下载
超级英雄飞行记下载v0.251108.170 安卓版
下载
找不到吧下载v1.0.1 安卓版
下载