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中包含了一些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://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标准支付相关推荐

  1. 化虚拟服务器集成,在微软64位WindowsServer2008中集成的服务器虚拟化软件是()。A - 信管网...

    第36题: 2013年6月,WiFi联盟正式发布IEEE 802.11ac无线标准认证.802.11ac是802.11n 的继承者,新标准的理论传输速度最高可达到IGbps.它采用并扩展了源自802. ...

  2. SAP 银企直连付款流程

    使用电子支付集成的付款流程 EPIC_PROC - 会计核算 -> 财务会计 -> 银行 -> 国家特定 -> 中国 -> 电子支付集成 使用此中国特定的流程可以简化待支 ...

  3. DAY4-仿真 Rviz URDF集成Rviz基本流程和URDF语法

    前期的搭建完成,开始实际操作 <1> URDF集成Rviz基本流程 视频:URDF集成Rviz基本流程 课程文档 容易出错的地方: source ./devel/setup.bash &l ...

  4. Unity3d 游戏中集成Firebase 统计和Admob广告最新中文教程

    之前写过俩相关的教程,最近发现插件官方更新了不少内容,所以也更新一篇Firebase Admob Unity3d插件的教程,希望能帮到大家. Firebase Admob Unity3d插件是一个Un ...

  5. 在Silverlight 2应用程序中集成Virtual Earth

    概述 Virtual Earth是什么,我想不用多做解释了.微软在推出自己的Virtual Earth之后,开放了大量的APIs,使得我们可以方便集成到自己的应用程序中. 本文将介绍如何在自己的Sil ...

  6. kind富文本编辑器_在项目中集成富文本编辑器

    前   言 现在学程序的都离不开 Markdown 语法了吧,Markdown 已经成为典型的转换为HTML的非正式规范和参考实现,现在市场上也出现了许多Markdown实现,在基本语法之上额外增加了 ...

  7. vue中集成的ui组件库_Vue组件可使用Vault Flow通过Braintree集成PayPal付款

    vue中集成的ui组件库 Vue Braintree PayPal按钮 (Vue Braintree PayPal button) Vue component to integrate PayPal ...

  8. php集成paypal接口,PHP中集成PayPal标准支付,php集成paypal标准_PHP教程

    PHP中集成PayPal标准支付,php集成paypal标准 PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下 1,在网站的结账页面,设置一个提交到PayPal网 ...

  9. 在sdk中添加源文件_实用干货 | 一步一步教你在SpringBoot中集成微信刷卡支付

    一:准备工作 使用微信支付需要先开通服务号,然后还要开通微信支付,最后还要配置一些开发参数,过程比较多. 申请服务号(企业) 开通微信支付 开发配置 具体准备工作请参考Spring Boot入门教程( ...

最新文章

  1. APPium连接真机输入框中输入的内容与代码中不一致
  2. Leetcode-第 73 场双周赛
  3. clob类型字段最大存储长度_请教oracle的CLOB字段的最大长度?
  4. python动力学建模与仿真_PyMC3中的简单动力学模型
  5. csdn图片排版技巧
  6. Java图形编程实验总结_实验二java图形界面编程2015级.doc
  7. java学习(六)多线程 中
  8. 廖雪峰网站python学习笔记——字符串和编码
  9. CMM3学习笔记二—工程类PA之需求管理(REQM)
  10. web大作业:简单的学生网页作业源码 基于html css javascript jquery实现智能分控网站
  11. CSS 基本样式大全(一)
  12. office 2007插入带圈字符
  13. 【图解CAN总线】-4-详述CANFD和Classic CAN的Frame帧结构差异
  14. 内网渗透思路学习——靶场实战——暗月项目七
  15. 华为云计算IE面试笔记-云磁盘和普通磁盘的区别。
  16. 算法练习4:Buying a car
  17. win10开机慢怎么解决_电脑开机速度慢怎么解决?Win10电脑开机速度变慢原因及解决方法...
  18. 文献笔记04-大学生运动会报名系统的设计与研究
  19. 十年技术支持工作的几点感悟
  20. 初识数据结构——“数据结构与算法”

热门文章

  1. 数组的拼接合并 numpy
  2. LeetCode简单题之杨辉三角
  3. 合肥工业大学—SQL Server数据库实验九:视图的定义与使用
  4. GEMM与AutoKernel算子优化
  5. 寻找汽车连接的解决方案
  6. 简化可视SLAM应用程序的开发
  7. 各种经典透镜投影模型
  8. 服务器技术综述(四)
  9. 自动驾驶架构与实现路径
  10. 2021年大数据HBase(十四):HBase的原理及其相关的工作机制