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中并发读写文件冲突的解决方案
Oct 25 PHP
php 启动报错如何解决
Jan 17 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
php之readdir函数用法实例
Nov 13 PHP
php+mysql实现无限分类实例详解
Jan 15 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
PHP时间和日期函数详解
May 08 PHP
PHP中类属性与类静态变量的访问方法示例
Jul 13 PHP
php技巧小结【推荐】
Jan 19 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 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 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
原生js实现滑块区间组件
2021/01/20 Javascript
python3.3实现乘法表示例
2014/02/07 Python
Python 的 Socket 编程
2015/03/24 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
django 单表操作实例详解
2019/07/30 Python
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
我未来的职业规划范文
2014/01/11 职场文书
批评与自我批评材料
2014/02/15 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL