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和js交互一例-PHP教程,PHP应用
Jan 03 PHP
php设计模式 Bridge (桥接模式)
Jun 26 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
作为PHP程序员应该了解MongoDB的五件事
Jun 03 PHP
浅析php变量修饰符static的使用
Jun 28 PHP
ThinkPHP视图查询详解
Jun 30 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
php对文件进行hash运算的方法
Apr 03 PHP
thinkphp项目如何自定义微信分享描述内容
Feb 20 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
基于Laravel 5.2 regex验证的正确写法
Sep 29 PHP
Laravel实现ApiToken认证请求
Oct 14 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php仿discuz分页效果代码
2008/10/02 PHP
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
再说AutoComplete自动补全之实现原理
2011/11/05 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
vue 中固定导航栏的实例代码
2019/11/01 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
详解K-means算法在Python中的实现
2017/12/05 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
python实现五子棋游戏
2019/06/18 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
小学教师节活动方案
2014/01/31 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
工作简历的自我评价
2019/05/16 职场文书