热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

支付支付简要原理整理

1.第三方支付,就是一些具备实力和信誉保障的第三方独立机构提供的交易支付平台。买方选购了商品后,使用第三方平台进行付款,由第三方通知卖家货款到达。目前市面上支持第三方支付的平台有很多,主要有支付宝,

 1.第三方支付,就是一些具备实力和信誉保障的第三方独立机构提供的交易支付平台。买方选购了商品后,使用第三方平台进行付款,由第三方通知卖家货款到达。
目前市面上支持第三方支付的平台有很多,主要有支付宝,财富通,块钱,网银在线,易宝支付,等各大支付平台。商家通过和第三方签署协议,并获得一个账号,协议生效后
支付平台为商家开通支付功能,通过程序将接口集成到网站中。
使用第三方支付可以统一资源,商家可以很容易的实现与几乎所有种类的银行实现交易服务。
具体第三方支付原理:



2.具体操作步骤:
1.用户向商城网站发起确认订单的请求。
2.商城网站接收到保存订单数据到数据库。
3.返回订单确认页面,页面上应该显示订单金额信息。
4.用户确认支付,发起支付请求。支付请求是发送至支付网关(支付宝,财付通),不是商城。
5.显示支付页面。
6.用户填写认证信息(账号密码)提交。
7.这里一共两步,一个是扣款成功后页面跳转到支付结果展示页面,另一个是支付通知,这两步同时进行,商城网站接收到支付通知后根据验证规则验证
操作信息的有效性。有效则为订单已付款状态,没有则为非法请求信息。
3.在支付宝中:首先有一个支付宝账号,向支付宝申请在线支付业务,签署协议。协议生效后支付宝会给网站方一个合作ID加安全效验,然后就按照支付宝的
的接口文档开发支付宝的接口,在上面的操作步骤中4是将数据发送到支付宝网关,7是通知验证部分,验证网关请求网站,网站验证规则对信息进行验证记录
我们开发时其他支付平台也是重要的这两步。
4. 支付宝支付流程:
查询PID和KEY------->下载技术文档----------->根据代码示例集成------------->接口测试----------->集成成功
支付宝在后台商家服务菜单:查询合作者身份(PID),查询安全验证码(Key)

|-alipay_notify.php----支付宝通知处理文件 |-alipay_service.php---支付宝请求处理文件 |-alipay_config.php-----基础信息配置文件 |-index.php-----------快速付款模板入口文件 |-notify_url.php--服务器异步通知页面文件 

alipay_config.php文件分析:
我们需要将支付宝后台获取的PID与Key写入到配置文件中

2345678 $partner    ="---"."86754233"  合作伙伴ID $security_code='u3e'guirpffcib7''安全验证码 $_input_charset="utf-8"  字符编码格式 $sign_type='MD5'  加密方式 $transport="http" 访问模式 $notify_url  支付通知地址 $return_url  返回地址 $show_url   商品展示地址 

5. 支付结果页面返回地址($return_url)
支付结果页面是用户支付完成后,支付宝会请求该地址:$notify_url 这里是向支付宝服务器请求,这个url是以http开头的完整格式路径,然后根据数据库脚本创建一张表
根据数据的配置更改mysql_config.php 通过对支付宝提供的demo修改。
在我们后台会有一张订单表:
id ,goods_id, goods_name, email ,status 这几个字段
6. 建立支付请求
我们一般发送哪些参数给支付网关,而且这些参数并不是原封不动的提交到支付宝就可以的,目前使用MD5签名防止数据篡改机制。
7. 在用户支付完成后,支付宝会请求网站支付通知地址(这个地址在创建支付请求时作为参数传递过去),返回参数列表,支付宝的返回数据中有一个
签名串,在支付文件中首先要对数据进行签名验证。除了签名验证,还需要将参数中的notify_id 提交到支付宝的验证网关验证,通过验证服务器验证数据请求的
真实性,如果成功返回true,否则返回false.这里有一个句柄函数fsockopen

 


推荐阅读
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文介绍如何在将数据库从服务器复制到本地时,处理因外键约束导致的数据插入失败问题。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
author-avatar
赵小坑_38825
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有