php paypal支付接口 支付接口

您还可以使用以下方式登录
当前位置:&>&&>&&>& > PHP中集成PayPal标准支付的实现方法分享
paypal支付接口集成 PHP中集成PayPal标准支付的实现方法分享
PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下
1,在网站的结账页面,设置一个提交到PayPal网站的form,里面有一些金额,商品名称,商家收款账号、结账成功后返回URL等内容,
2,用户结账时,通过点击‘使用PayPal结账'的按钮到达PayPal的结账页面,输入自己的PayPal用户名和密码并确认支付
3,PayPal会根据是否支付成功来决定返回网站的哪个页面,并在后台对网站的某个页面发起post请求,这个动作称作IPN,告诉网站这笔付款的到账情况,比如completed即为完成付款
4,网站收到PayPal的notify通知后,即可给用户发货或者其他的处理逻辑
这里有一张图来解释
更为简单的流程图
我们要完成整个流程,其实只需要两个页面来处理
checkout.php 这个页面用来显示购物车信息,并让用户点击按钮导航到PayPal进行支付
notify.php 这个页面是用来接收PayPal的IPN信息的,判断用户的付款是否到账等状态,并处理网站收款之后的业务逻辑
记录一下代码:checkout.php 这个页面其实可以是HTML
代码如下: &form action="/cgi-bin/webscr" method="post"&&input type="hidden" name="ev_csrf" value="cf4f1075dfa43c216d7cec"& &input type="hidden" name="cmd" value="_cart"& &input type="hidden" name="upload" value="1"& &input type="hidden" name="charset" value="utf-8"& &input type="hidden" name="currency_code" value="USD"& &input type="hidden" name="business" value=& &input type="hidden" name="cancel_return" value=”/checkout.html”& &input type="hidden" name="return" value=”/thanks.html”& &input type="hidden" name="notify_url" value="/notify.php"& &input type="hidden" name="custom" value="userid:31;ip:182.114.240.221"& &input type="hidden" name="item_number" value="ARO0101"& &input type="hidden" name="item_name" value="AD182m"& &input type="hidden" name="quantity" value="1"& &input type="hidden" name="amount" value="70"& &input type="submit" value="Checkout with PayPal"& &/form&
这个form中包含了一些PayPal支付必须要加的项,需要注意的是notify.php是PayPal会在后台进行调用的notify.php这个页面有两个功能,一个是接收PayPal的post内容并加上标签返回,一个是接收到PayPal的认证信息之后进行网站内部的逻辑处理
代码如下: $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://', 443, $errno, $errstr, 30); if (!$fp) { // HTTP ERROR } else {//HTTP OK fputs ($fp, $header . $req); while (!feof($fp)) { $res = fgets ($fp, 1024); if (strcmp ($res, "VERIFIED") == 0) { //process business of website } else if (strcmp ($res, "INVALID") == 0) { // log for manual investigation } } fclose ($fp); }
欢迎转载:
推荐:    &用PHP开发Paypal支付接口
秒后自动跳转到登录页
快捷登录:
举报类型:
不规范:上传重复资源
不规范:标题与实际内容不符
不规范:资源无法下载或使用
其他不规范行为
违规:资源涉及侵权
违规:含有危害国家安全等内容
违规:含有反动/色情等内容
违规:广告内容
详细原因:
任何违反下载中心规定的资源,欢迎Down友监督举报,第一举报人可获5-10下载豆奖励。
视频课程推荐
用PHP开发Paypal支付接口
上传时间:
技术分类:
资源评价:
(0位用户参与评价)
已被下载&58&次
用PHP开发Paypal支付接口
本资料共包含以下附件:
用PHP开发Paypal支付接口.pdf
51CTO下载中心常见问题:
1.如何获得下载豆?
1)上传资料
2)评论资料
3)每天在首页签到领取
4)购买VIP会员服务,无需下载豆下载资源
5)更多途径:点击此处
2.如何删除自己的资料?
下载资料意味着您已同意遵守以下协议:
1.资料的所有权益归上传用户所有
2.未经权益所有人同意,不得将资料中的内容挪作商业或盈利用途
3.51CTO下载中心仅提供资料交流平台,并不对任何资料负责
4.本站资料中如有侵权或不适当内容,请邮件与我们联系()
5.本站不保证资源的准确性、安全性和完整性, 同时也不承担用户因使用这些资料对自己和他人造成任何形式的伤害或损失
相关专题推荐
本专题为Zend Framework视频教程,共
本专题是由LAMP高级讲师李强强讲解的
Axis2是目前比较流行的WebService引擎
PHP是一种HTML内嵌式的语言,是一种在
本专题视频是燕十八老师在YY公益直播
本专题从软件工程的角度出发,按照项
本部分为独有的特级课部分的视频教程
第一部:基础部分(121集,发布完毕)
PHP公益培训第3部,燕十八老师最新倾
传智播客_PHP教程_韩顺平_dedecms_项
刘波-高级讲师,PHPCMS官方唯一指定技
本专题为后盾网ThinkPHP3.1.3使用视频
本专题为后盾网Yii框架学习视频教程,
本专题为传智播客13年5月Yii框架实战
兄弟连马明老师课程。ThinkPHP 是一个
本专题为布尔商城PHP实战视频教程,有
意见或建议:
联系方式:
您已提交成功!感谢您的宝贵意见,我们会尽快处理用PHP开发Paypal支付接口
PayPal快速、安全而又方便,是跨国交易的首选在线付款方式。现在PayPal可以和国内大部分信用卡关联,可以实现国人的跨国交易收支。申请PayPal注册网址:https:paypal接口与其它接口有些不同,稍微复杂一点。其实银行接口也算是一个站点的插件。所谓paypalipn(InstantPaymentNotification),就是Paypal开发的一种能主动通知第三方卖家系统交易状态的一种机制。IPN的原理很简单,就是当产生了一个交易之后,交易状态发生变化时,如用户已经付款、或者退款、撤销时,Paypal利用常用的HTTPPOST方式,将交易的一些变量提交给网站的某个页面(称之为IPNHandle),当这个页面接受到请求时候,将这些数据原封不动加上一个指示验证的cmd=_notify-validate,POST回Paypal的接口地址,如果数据正确,那么Paypal返回字符串VERIFIED,否则为INVALID,如果结果为VERIFIED,那么你的程序就可以使用这些数据进行操作。开设Sandox帐号但代码的调试是一件很痛苦的事情,因为作为第三方开发人员,不可能开两个帐号,每次测试还要之间交易一些钱,所以Paypal专门开发了Sandox给开发人员进行开发,首先到https:develope.注册一个开发帐号,好了之后再进入Sandox建立测试用的Paypal虚拟帐号(至少应该建立一个Business的和一个Pesonal的),这种账号注册方法和Paypal的流程一样,信息可以是假的,包括银行帐号、信用卡(其实PaypalSandox会自动生成一些随机的号码)。接下来需要激活PaypalSandox的虚拟帐号,注意,这里不管你在PaypalSanox注册时填什么邮件地址,有任何发送到虚拟帐号所填邮箱的邮件都存会在开发帐号的管理界面中的Email页(导航栏上有)中。登录Sandox的虚拟Paypal环境,还需要验证虚拟帐号的银行,这里可以随便填,然后通过AddFunds来给账户充值(想填多少填多少920-203920-533)。然后,还需要激活IPN的选项,在Business的那个账户的Pofile设置页面中,点击,然后点击Edit按钮,打开IPN,这里如果你使用的是固定的IPNHandle,可以直接将地址填入。接下来,我们测试的时候,应该将Paypal接口的地址设置为https:www.sandcgi-inwesc基本的流程当客户向您付款时,PayPal将向位于指定URL(type=”hidden”name=”notify_ul”value=”“)的服务器发送一个通知。此通知中将包括您的客户的所有付款信息(例如,客户名称、金额),以及一段加密代码。当服务器收到通知时,它随后会将该信息(包括加密代码)发送回安全的PayPalURL。PayPal将通过检查加密字符串对交易进行身份验证。这种将IPN数据传回
& 果果文库所有资源均来源于互联网,仅供网友学习交流,若侵犯了您的权益,请联系我们予以删除。
13988&&人浏览
14799&&人浏览
13786&&人浏览
12962&&人浏览
7793&&人浏览
14465&&人浏览
1809&&人浏览
5376&&人浏览
16280&&人浏览
4389&&人浏览
13873&&人浏览
2318&&人浏览
3000&&人浏览
5566&&人浏览
1081&&人浏览
本文标题:用PHP开发Paypal支付接口 链接地址:
copyright@ 2013- Inc. All Rights Reserved 果果文库 版权所有 联系站长: ; 经营许可证编号:浙ICP备号解析PayPal支付接口的PHP开发方式
申请PayPal注册网址:/
paypal接口与其它接口有些不同,稍微复杂一点。 其实银行接口也算是一个站点的插件。
所谓paypal ipn(Instant Payment Notification),就是Paypal开发的一种能主动通知第三方卖家交易状态的一种机制。IPN的原理很简单,就是当产生了一个交易之后, 交易状态发生变化时,如用户已经付款、或者退款、撤销时,Paypal利用常用的HTTP POST方式,将交易的一些变量提交给网站的某个页面(称之为IPN Handler),当这个页面接受到请求时候,将这些数据原封不动加上一个指示验证的cmd=_notify-validate,POST回Paypal 的接口地址,如果数据正确,那么Paypal返回字符串VERIFIED,否则为INVALID,如果结果为VERIFIED,那么你的程序就可以使用这 些数据进行操作。
开设Sandbox帐号
但代码的调试是一件很痛苦的事情,因为作为第三方开发人员,不可能开两个帐号,每次测试还要之间交易一些钱,所以Paypal专门开发了Sandbox给 开发人员进行开发,首先到/注册一个开发帐号,好了之后再进入Sandbox建立测试用的Paypal虚拟帐号(至少应该建立一个Business的和一个Personal的),这 种账号注册方法和Paypal的流程一样,信息可以是假的,包括银行帐号、信用卡(其实Paypal Sandbox会自动生成一些随机的号码)。接下来需要激活Paypal Sandbox的虚拟帐号,注意,这里不管你在Paypal Sanbox注册时填什么邮件地址,有任何发送到虚拟帐号所填邮箱的邮件都存会在开发帐号的管理界面中的Email页(导航栏上有)中。登录 Sandbox的虚拟Paypal环境,还需要验证虚拟帐号的银行,这里可以随便填,然后通过Add Funds来给账户充值(想填多少填多少 920-203 920-533 )。然后,还需要激活IPN的选项,在Business的那个账户的Profile设置页面中,点击,然后点击Edit按钮,打开IPN,这里如果你使用 的是固定的IPN Handle,可以直接将地址填入。
接下来,我们测试的时候,应该将Paypal接口的地址设置为https://www./cgi-bin/webscr
基本的流程
当客户向您付款时,PayPal将向位于指定 URL (type=&hidden& name=&notify_url& value=& &)的服务器发送一个通知。此通知中将包括您的客户的所有付款信息(例如,客户名称、金额),以及一段代码。当服务器收到通知时,它随后会将该信息 (包括加密代码)发送回安全的PayPal URL。PayPal将通过检查加密字符串对交易进行身份验证。这种将 IPN 数据传回PayPal的操作防止了&欺骗&,因此您可以确保 IPN 来自PayPal。在进行验证时,PayPal会将其合法性的确认信息发送回您的服务器。
提示:要启用即时付款通知,您将需要输入一个 URL,通过它您可以接收到来自您的用户信息的通知。
启用了即时付款通知后,每次当您接收付款时您的服务器都会收到一个通知,此通知将以隐藏的&FORM POST&的方式发送到指定的 URL,并将包括所有付款信息。此页面的底部列出了通知的 FORM 变量。
每次收到来自PayPal的 IPN 时,您必须在实施订单之前完成如下所述的通知确认过程。确认列出的信息将可确保交易合法。
通知确认IPN
为了确保付款已进入您的PayPal账户,您必须验证用作&receiver_email&的电子邮件地址是否已在您的PayPal账户中注册并得到确认。
服务器收到即时付款通知后,您将需要通过构建一个发送到PayPal的 HTTP POST 对其进行确认。您的 POST 应发送到/cgi-bin/webscr
您必须完全按照收到表单变量时的原样发送所有收到的表单变量。您还需要将一个值为&_notify-validate&的名为&cmd&变量(例如,cmd=_notify-validate)附加到 POST 字符串。
PayPal将回复该 POST,并在回复的正文中包含一个单词&VERIFIED&或&INVALID&。当您收到 VERIFIED 回复时,您需要在实施订单之前执行若干检查:
确认&payment_status&为&Completed&,因为系统也会为其他结果(如&Pending&或&Failed&)发送 IPN。
检查&txn_id&是否未重复,以防止欺诈者重复使用旧的已完成的交易。
验证&receiver_email&是已在您的PayPal账户中注册的电子邮件地址,以防止将付款发送到欺诈者的账户 。
检查其他交易详情(如物品号和价格),以确认价格未改变完成了以上检查后,您可以使用 IPN 数据更新您的,并处理购物。
如果收到&无效&通知,则应将其视为可疑通知,并应对其进行调查。
主要参数:
向PayPal提交粘贴代码时,应包括以下 4 个隐藏变量及一张图片,这就是说,您粘贴到PayPal的最短必需代码应如下:
&action=&/row/cgi-bin/webscr&&method=&post&
&type=&hidden&&name=&cmd&&value=&_xclick&&&// &_xclick& 立即购买
&type=&hidden&&name=&business&&value=&&&&
//PayPal账户上的电子邮件地址
&type=&hidden&&name=&item_name&&value=&Item Name&
//物品名称(或购物车名称)
&type=&hidden&&name=&currency_code&&value=&USD&&
//定义币种以标示货币变量 值可以为 &USD&、&EUR&、&GBP&、&CAD&、&JPY&。
&type=&hidden&&name=&amount&&value=&0.00&&
//物品的价格(购物车中所有物品的总价格,因为是_Xclick模式)
&type=&image&&src=&/zh_XC/i/btn/x-click-but01.
gif&&name=&submit&&alt=&请使用PayPal付款!&
business 您的PayPal账户上的电子邮件地址
quantity 物品数量。大于 1 时,会与金额相乘
item_name 物品名称(或购物车名称)。必须是字母数字字符,最多为 127 个字符
item_number 用于跟踪付款的可选传递变量。必须是字母数字字符,最多为 127 个字符
amount 物品的价格(购物车中所有物品的总价格)
shipping 该物品的运送成本
shipping2 每增加一件物品所需的运送成本
handling 手续费
tax 基于交易的税额。如果使用该变量,传递值将覆盖所有用户信息税收设置(不管买家所在位置)。
no_shipping 送货地址。如果设为 &1&,则不会要求您的客户提供送货地址。该变量为可选项;如果省略或设为 &0&,将提示您的客户输入送货地址
cn 可选标签,会在提示栏上显示(最多 40 个字符)
no_note 为付款加入提示。如果设为 &1&,则不会提示您的客户输入提示。该变量为可选项;如果省略或设为 &0&,将提示您的客户输入提示。
on0 第一选项栏名称。最多 64 个字符
os0 第一组选项值。最多 200 个字符。&on0& 必须定义,以便识别 &os0&。
on1 第二选项栏名称。最多 64 个字符
os1 第二组选项值。最多 200 个字符。&on1& 必须定义,以便识别 &os1&。
custom 决不会向您的客户显示的可选转递变量。可用于跟踪存货
invoice 决不会向您的客户显示的可选转递变量。可用于跟踪账单号
notify_url 仅与 IPN 一起使用。发送 IPN Form Post 的互联网 URL
return 您的客户完成付款后将返回的互联网 URL
cancel_return 您的客户取消付款后将返回的互联网 URL
image_url 您要用作图标的图片的互联网 URL,图片大小为 150 X 50 像素
cs 设置您的付款页面的背景色。如果设为 &1&,背景色将为黑色。该变量为可选项;如果省略或设为 &0&,背景色将为白色
PayPal 允许您粘贴扩展变量,条件是将改变以下 &cmd& 值:
通过上述 &cmd& 值修改,您还可使用以下变量:
email 客户的电子邮件地址
first_name 客户的名。必须是字母数字字符,最多为 32 个字符
last_name 客户的姓。必须是字母数字字符,最多为 64 个字符
address1 客户地址所在国家或地区。必须是字母数字字符,最多为 100 个字符
address2 客户地址第二行。必须是字母数字字符,最多为 100 个字符
city 客户地址所在城市。必须是字母数字字符,最多为 100 个字符
state 客户地址所在州。必须是正式的 2 个字母缩写
zip 客户地址的邮政编码
night_phone_a 客户夜间联系电话号码的区号
night_phone_b 客户夜间联系电话号码前三位
day_phone_a 客户白天联系电话号码的区号
day_phone_b 客户白天联系电话号码前三位
提示:若要更改&用户信息&中的默认运费和手续费设置,请转至您的用户信息,编辑您的运费计算,然后点击&允许采用基于交易的运费&复选框。
将单个物品传递给PayPal
如果您的第三方购物车可设置成向PayPal传递单个物品,有关物品的信息将加入买家和卖家的记录日志和系统通知中。要加入该物品的信息,您需要将 HTML 格式元素粘贴至PayPal购物车流程的新版本。该过程与 #1 节&将总购物车数量传递给PayPal&描述的非常相似,不同之处在于:
将 &cmd& 变量设置到 &_cart&
更换必要的 HTML 行
添加称为 &upload& 的新变量
在 &表格& 和 标签之间新增以下行:
定义物品明细
对于以下各特定物品参数,定义与通过您的合作商购物车购买的各物品对应的一组新值。将 &_x& 附加到变量名称,其中 x 是物品号码,从 1 开始,每加入一物品增加一。
item_name_x (物品 #x 需要)购物车中物品 #x 的名称。必须是字母数字字符,最多为 127 个字符
item_number_x 与购物车中物品 #x 关联的可选传递变量。必须是字母数字字符,最多为 127 个字符
amount_x (物品 #x 需要)物品 #x 的价格
shipping_x 运送物品 #x 的第一件(数量 1)的成本
shipping2_x 每增加一件运送物品 #x(数量 2 或更多)所需的运送成本
handling_x 物品 #x 的处理成本
on0_x 物品 #x 的第一选项栏名称。最多 64 个字符
os0_x 物品 #x 的第一组选项值。最多 200 个字符。&on0_x& 必须定义,以便识别 &os0_x&。
on1_x 物品 #x 的第二选项栏名称。最多 64 个字符
os1_x 物品 #x 的第二组选项值。最多 200 个字符。&on1_x& 必须定义,以便识别 &os1_x&。
为购物车中每件物品重复此设定
为您的买家购物车中的各物品加入以上表格中的一组必需的变量和任何选项变量。购物车中的第一物品必须用以 &_1&P 结束的参数定义,如 &item_name_1&P、&amount_1&P 等。同样,第二物品应用变量 &item_name_2&P、&amount_2&P 等命名。提示:&_x& 值必须以一为单位按序递增,以便识别。如果从 item #1 跳到 item #3 而不定义 item #2,则第三个物品会被忽略。
要指定币种:所有货币变量(金额、运费、运费 2、手续费、税款)将以粘贴在付款上的 &currency_code& 变量指定的币种显示。因为其不是随物品不同的,无需向变量名称附加 &_x&。如果没有粘贴 &currency_code& 变量,我们将假定所有货币变量值为美元。
以上就是本文所介绍的运用开发PayPal支付接口的主要操作步骤。& & /integrationcenter/list__resource_2.html& & 中文php开发简介:http://www.paypal-china.org/wangzhai/197.html& & 以下是ecshop中paypal的支付代码& & 这段代码是向paypal支付接口提交的……
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
论文写作技巧
上一篇:下一篇:
相关经验教程

我要回帖

更多关于 php paypal支付接口 的文章

 

随机推荐