paypal即时到账php实现代码


Posted in PHP onNovember 28, 2010

http://paypal.ebay.cn/integrationcenter/list__resource_2.html

中文php开发简介:http://www.paypal-china.org/wangzhai/197.html
以下是ecshop中paypal的支付代码

这段代码是向paypal支付接口提交的
{{{

<form target="_blank" method="post" action="https://www.paypal.com/cgi-bin/webscr" style="text-align: center;"><input type="hidden" value="_xclick" name="cmd"/><input type="hidden" value="xfuajiao@hotmail.com" name="business"/> //商家注册的邮箱
<input type="hidden" value="2009102370175" name="item_name"/><input type="hidden" value="2888.00" name="amount"/><input type="hidden" value="USD" name="currency_code"/><input type="hidden" value="http://127.0.0.1/ecshop/respond.php?code=paypal" name="return"/><input type="hidden" value="3" name="invoice"/><input type="hidden" value="utf-8" name="charset"/><input type="hidden" value="1" name="no_shipping"/><input type="hidden" value="" name="no_note"/><input type="hidden" value="http://127.0.0.1/ecshop/respond.php?code=paypal" name="notify_url"/><input type="hidden" value="2" name="rm"/><input type="hidden" value="http://127.0.0.1/ecshop/" name="cancel_return"/><input type="submit" value="立即使用 paypal 支付"/></form>

}}}

以下是官方提供的,接受到paypal传回来的参数的,并且判断是否支付成功。

支持成功后由于提交表单中有

<input type="hidden" value="http://127.0.0.1/ecshop/respond.php?code=paypal" name="return"/>

paypal将会主动跳转到espond.php?code=paypal这个页面,页面可现实以下POST得到的一些数据。

// read the post from PayPal system and add 'cmd' 
$req = 'cmd=_notify-validate'; foreach ($_POST as $key => $value) { 
$value = urlencode(stripslashes($value)); 
$req .= "&$key=$value"; 
} 
// post back to PayPal system to validate 
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n"; 
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; 
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30); 
// assign posted variables to local variables 
$item_name = $_POST['item_name']; 
$item_number = $_POST['item_number']; 
$payment_status = $_POST['payment_status']; 
$payment_amount = $_POST['mc_gross']; 
$payment_currency = $_POST['mc_currency']; 
$txn_id = $_POST['txn_id']; 
$receiver_email = $_POST['receiver_email']; 
$payer_email = $_POST['payer_email']; 
if (!$fp) { 
// HTTP ERROR 
else { 
fputs ($fp, $header . $req); 
while (!feof($fp)) { 
$res = fgets ($fp, 1024); 
if (strcmp ($res, "VERIFIED") == 0) { 
// check the payment_status is Completed 
// check that txn_id has not been previously processed 
// check that receiver_email is your Primary PayPal email 
// check that payment_amount/payment_currency are correct 
// process payment 
} 
else if (strcmp ($res, "INVALID") == 0) { 
// log for manual investigation 
} 
} 
fclose ($fp); 
} 
?>
PHP 相关文章推荐
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
php中使用__autoload()自动加载未定义类的实现代码
Feb 06 PHP
php 判断数组是几维数组
Mar 20 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
详解PHP中mb_strpos的使用
Feb 04 PHP
php中的buffer缓冲区用法分析
May 31 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 #PHP
php购物网站支付paypal使用方法
Nov 28 #PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 #PHP
php下封装较好的数字分页方法
Nov 23 #PHP
php下使用iconv需要注意的问题
Nov 20 #PHP
批量修改RAR文件注释的php代码
Nov 20 #PHP
为PHP初学者的8点有效建议
Nov 20 #PHP
You might like
在PHP中使用XML
2006/10/09 PHP
php&amp;java(三)
2006/10/09 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
简单的python后台管理程序
2017/04/13 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
质量月口号
2014/06/20 职场文书
国庆庆典邀请函
2015/02/02 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers