1,在网站的结账页面,设置一个提交到PayPal网站的form,里面有一些金额,商品名称,商家收款账号、结账成功后返回URL等内容, 2,用户结账时,通过点击‘使用PayPal结账’的按钮到达PayPal的结账页面,输入自己的PayPal用户名和密码并确认支付 3,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

https://www.paypal.com/cgi-bin/webscr" method="post">

hidden" name="ev_csrf" value="9878824eb2cf4f1075dfa43c216d7cec">

hidden" name="cmd" value="_cart">

hidden" name="upload" value="1">

hidden" name="charset" value="utf-8">

hidden" name="currency_code" value="USD">

hidden" name="business" value=sales@test.com>

hidden" name="cancel_return" value=”http://www.test.com/checkout.html”>

hidden" name="return" value=”http://www.test.com/thanks.html”>

hidden" name="notify_url" value="http://www.test.com/notify.php">

hidden" name="custom" value="userid:31;ip:182.114.240.221">

hidden" name="item_number" value="ARO0101">

hidden" name="item_name" value="AD182m">

hidden" name="quantity" value="1">

hidden" name="amount" value="70">

submit" value="Checkout with PayPal">

这个form中包含了一些PayPal支付必须要加的项,需要注意的是notify.php是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://www.paypal.com', 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 php接口 下载,PayPal接口集成之:PHP集成PayPal标准支付接口相关推荐

  1. 支付接口申请_谈一下关于个人网站实现免签支付接口自动收款

    由于本人有一个项目需要用到支付收款功能,只有企业资质才能申请支付宝和微信支付接口,我也看了下市面上的 一些个人收款码的方案,来实现自动收款,感觉这样做有很大的风险,用个人码收款也会让人感觉项目网站不太 ...

  2. 8种互联网在线支付接口

    最近业余时间开发做了一个代理网站 http://proxy.ithomer.net,想接入一两个在线支付接口,于是把互联网上主流的在线支付接口调研一遍,下面把成果分享出来. 目前互联网上在线支付接口种 ...

  3. 说说第三方支付接口开发及开发中遇到的坑爹问题

    前言 最近在做公司的支付接口,从微信支付到各种第三方的支付接口,还有点卡等支付,微信支付文档相对比较详细,虽然也不少坑,被各路开发人员吐槽,但是填的人多啊,所以是最好开发的,但是公司还有用到一些第三方 ...

  4. 第三方支付接口开发及开发中遇到的坑爹问题

    前言 最近在做公司的支付接口,从微信支付到各种第三方的支付接口,还有点卡等支付,微信支付文档相对比较详细,虽然也不少坑,被各路开发人员吐槽,但是填的人多啊,所以是最好开发的,但是公司还有用到一些第三方 ...

  5. 免费支付接口申请平台对我们有什么好处

    免费支付接口申请平台对我们有什么好处?现在的支付方式基本都是微信支付和支付宝,出门带手机,钱包里面都可以不用现金了.这个就是目前新中国的支付时代.在古代或者现在其他国家都还是用现金的. (1) 支付接 ...

  6. 如何申请与对接支付接口

    支付接口,通常会有多种语言形式的,根据对应网站程序语言提供对应的支付接口程序以及对接说明文档 支付接口,有API形式.SDK集成形式等 从源码语言分有PHP支付接口,ASP支付接口,net支付接口,C ...

  7. 网站对接支付宝,微信支付接口史上最详细教程

    联系qq:1104752746对接支付宝支付接口,官方文档已经写的很清楚了,但是也有很多像我一样的小白,第一次对接支付宝支付接口,会有些迷茫,所以我在此写下这篇文章,给我和我一样的同学,一点思路吧.三 ...

  8. 传奇/魔域/梦幻/问道等,如何申请游戏支付接口(官方渠道)

    随着科技的发展,各类游戏产品层出不穷,而游戏都离不开充值,充值就需要有相应的游戏支付接口,那么我们如何申请游戏支付接口呢? 一.如何申请游戏支付接口 1.第三方支付接口有哪些? 目前中国国内的第三方支 ...

  9. 微信支付接口配置教程(下)

    微信第三方平台微信支付接口配置教程(下) 上传微信支付证书 登录后台系统,在后台微信商城里,点击微信支付证书.这一步我们需要上传对应的微信支付证书,这个证书就是文章<微信第三方平台微信支付接口配 ...

最新文章

  1. Python 数据分析三剑客之 Matplotlib(十):3D 图的绘制
  2. Linux基本操作指南
  3. 足不出户,确保交付——独家交付秘籍(第二回)
  4. Java8 中的 Optional
  5. java c static,java-是否可以禁用静态最终变量的javac内联?
  6. OpenFeign 的 9 个坑,每个都能让你的系统奔溃
  7. 以太网口差分电平_高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术...
  8. 完美实现Android ListView中的TextView的跑马灯效果
  9. 同事:你居然还在用 try catch 处理异常? 有点Low啊
  10. 面试官问我“Java中的锁有哪些?以及区别”,我跪了
  11. 为什么对抗生成网络(GAN)被誉为过去20年来深度学习中最酷的想法?
  12. 换个角度想问题,不再孤单
  13. 杜绝采购欺诈:利用SRM系统监控采购计划
  14. 09.mtk背光流程
  15. react 树形结构递归方法
  16. HTL6033是一款专用于3串锂电池或聚合物电池的保护芯片
  17. 根据导函数奇偶性求高阶导数
  18. 【json】json文件中文乱码
  19. Oracle 字典表
  20. cocos creater 2.4 Error Bundle resources doesn‘t contain

热门文章

  1. Apple macOS 下载汇总(系统、应用和技巧)macOS Monterey
  2. 【MongoDB】MongoDB入门篇,修行靠自学
  3. EXCEL中把两列表格里的数字合成一列并且中间用逗号隔开
  4. 2月VR大数据:硬件份额变化不大,PS VR2首发游戏超50款
  5. EyouCMS精美简洁作文范文网站模板/易优CMS资讯类企业网站模板
  6. 程序员管用20年的基本功,N倍放大工作效果
  7. 软件产品登记测试报告
  8. 如何系统学习Python?
  9. 优思学院|什么是AQL抽样方案?
  10. 产品经理的前世今生(职业规划)