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; } } } ?>
以上所述就是本文的全部内容了,希望大家能够喜欢。
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
2014-09-05
PHP中的(++i)前缀自增 和 (i++)后缀自增
2014-09-05
php递归返回值的问题
2014-09-05
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
2017-04-12
常用dos命令及语法
2014-09-27
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
php 做权限管理
2014-09-05
nginx,php日志分割
2014-09-05
解决ThinkPHP在Nginx下无法使用pathin方式的问题
2014-09-05
c语言新手入门代码
2022-03-22
打扮我最美游戏下载v1.0 安卓版
其它手游 136.2M
下载暖暖公主爱换装官方版下载v1.2 安卓版
其它手游 175.7M
下载我的机器人战争游戏下载v1.1.1 安卓版
其它手游 110.8M
下载太空杀抓捕内鬼最新版下载v1.1 安卓版
其它手游 34.8M
下载鱼丸深海狂鲨官方正版下载v9.0.30.0.0 最新安卓手机版
其它手游 78.0M
下载时尚暖暖换装舞会最新版下载v1.0 安卓版
其它手游 116.2M
下载彩笔快来画小游戏下载v4.0 安卓版
其它手游 49.7M
下载程序塔防游戏下载v2.8 安卓版
其它手游 84.6M
下载枪火刺激吃鸡手机版下载v3.0 安卓版
下载
迷你托卡小镇小家游戏下载v1.0 安卓版
下载
终结荒野精英官方版下载v2.6 安卓版
下载
荣耀火柴人王者游戏下载v1.0.0 安卓版
下载
天才宠物银幕秀完整版下载v1.1.0 安卓最新版
下载
公主宠物世界官方版下载v1.0.3 安卓版
下载
托卡城镇大自然游戏下载v4.6 安卓版
下载
火柴人盟军遗产2游戏下载v1.0.62 安卓版
下载