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 相关文章推荐
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
调整优化您的LAMP应用程序的5种简单方法
Jun 26 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
php实现在线通讯录功能(附源码)
May 13 PHP
Yii2中DropDownList简单用法示例
Jul 18 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
Sep 13 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
详解php反序列化
Jun 10 PHP
php在linux环境中如何使用redis详解
Dec 15 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
javascript面向对象之二 命名空间
2011/02/08 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python快速从注释生成文档的方法
2016/12/26 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
简单了解python变量的作用域
2019/07/30 Python
python3实现单目标粒子群算法
2019/11/14 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
文体活动实施方案
2014/03/27 职场文书
大学班级计划书
2014/04/29 职场文书
股份合作协议书
2014/09/10 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python