php集成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中包含了一些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标准支付相关推荐
- 化虚拟服务器集成,在微软64位WindowsServer2008中集成的服务器虚拟化软件是()。A - 信管网...
第36题: 2013年6月,WiFi联盟正式发布IEEE 802.11ac无线标准认证.802.11ac是802.11n 的继承者,新标准的理论传输速度最高可达到IGbps.它采用并扩展了源自802. ...
- SAP 银企直连付款流程
使用电子支付集成的付款流程 EPIC_PROC - 会计核算 -> 财务会计 -> 银行 -> 国家特定 -> 中国 -> 电子支付集成 使用此中国特定的流程可以简化待支 ...
- DAY4-仿真 Rviz URDF集成Rviz基本流程和URDF语法
前期的搭建完成,开始实际操作 <1> URDF集成Rviz基本流程 视频:URDF集成Rviz基本流程 课程文档 容易出错的地方: source ./devel/setup.bash &l ...
- Unity3d 游戏中集成Firebase 统计和Admob广告最新中文教程
之前写过俩相关的教程,最近发现插件官方更新了不少内容,所以也更新一篇Firebase Admob Unity3d插件的教程,希望能帮到大家. Firebase Admob Unity3d插件是一个Un ...
- 在Silverlight 2应用程序中集成Virtual Earth
概述 Virtual Earth是什么,我想不用多做解释了.微软在推出自己的Virtual Earth之后,开放了大量的APIs,使得我们可以方便集成到自己的应用程序中. 本文将介绍如何在自己的Sil ...
- kind富文本编辑器_在项目中集成富文本编辑器
前 言 现在学程序的都离不开 Markdown 语法了吧,Markdown 已经成为典型的转换为HTML的非正式规范和参考实现,现在市场上也出现了许多Markdown实现,在基本语法之上额外增加了 ...
- vue中集成的ui组件库_Vue组件可使用Vault Flow通过Braintree集成PayPal付款
vue中集成的ui组件库 Vue Braintree PayPal按钮 (Vue Braintree PayPal button) Vue component to integrate PayPal ...
- php集成paypal接口,PHP中集成PayPal标准支付,php集成paypal标准_PHP教程
PHP中集成PayPal标准支付,php集成paypal标准 PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下 1,在网站的结账页面,设置一个提交到PayPal网 ...
- 在sdk中添加源文件_实用干货 | 一步一步教你在SpringBoot中集成微信刷卡支付
一:准备工作 使用微信支付需要先开通服务号,然后还要开通微信支付,最后还要配置一些开发参数,过程比较多. 申请服务号(企业) 开通微信支付 开发配置 具体准备工作请参考Spring Boot入门教程( ...
最新文章
- APPium连接真机输入框中输入的内容与代码中不一致
- Leetcode-第 73 场双周赛
- clob类型字段最大存储长度_请教oracle的CLOB字段的最大长度?
- python动力学建模与仿真_PyMC3中的简单动力学模型
- csdn图片排版技巧
- Java图形编程实验总结_实验二java图形界面编程2015级.doc
- java学习(六)多线程 中
- 廖雪峰网站python学习笔记——字符串和编码
- CMM3学习笔记二—工程类PA之需求管理(REQM)
- web大作业:简单的学生网页作业源码 基于html css javascript jquery实现智能分控网站
- CSS 基本样式大全(一)
- office 2007插入带圈字符
- 【图解CAN总线】-4-详述CANFD和Classic CAN的Frame帧结构差异
- 内网渗透思路学习——靶场实战——暗月项目七
- 华为云计算IE面试笔记-云磁盘和普通磁盘的区别。
- 算法练习4:Buying a car
- win10开机慢怎么解决_电脑开机速度慢怎么解决?Win10电脑开机速度变慢原因及解决方法...
- 文献笔记04-大学生运动会报名系统的设计与研究
- 十年技术支持工作的几点感悟
- 初识数据结构——“数据结构与算法”