如何实现支付过程?支付过程的逻辑
PC代表了客户端或是客户的浏览器访问也就是请求页面
之后就是在服务器里创建个订单,类似于订单号,订单用户,收货地址,金额,是未支付的状态
1 前段和后台的通讯
2 后台数据库读取 增删改查等
下一个请求就是跟支付宝请求以及返回值
服务器握手的过程 服务器接收了支付宝返回值后,通过服务器转回给PC客户
让用户直接跳转到支付宝的页面,或者手机扫码,进行支付
支付完了之后,支付宝要通知服务已经支付的信息
流程结束,剩下的就是服务器回复数据库完成订单
接下来就要看哪一步传输哪些信息??
重要的是你不要传哪些信息!!与钱相关的功能是其次,主要是安全
1 请求里面有订单的信息,商家的信息是不能暴露给用户的所以是先发给服务器
2 创建订单 未支付的状态要在这步创建好
服务器给支付宝发的是在后台发的这样是相对安全的
有两个网址是同步发送的,在文件夹里实际上是两个文件
回调信息里有两个网址发送回服务器
二 不同网站间的通讯
1 你的服务器发送一个请求给支付宝
2 支付宝在返回给你的服务器一个信息
1.数据的传输格式
XML稍微复杂,相对JSON用的多,相对JSON更安全的就是JSONP
YML 更简单不需要用标点符号表示,用空格就可以 4个空格表示一个成集
JSON
a 对象:对象在JS中表示为"{}"括起来的内容,数据结构为{key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,比较容易理解。取值方法为对象.key获取属性值,属性值的类型可以为数字,字符串,数组,对象几种
b 数组:数组在JS中是中括号"[]"括起来的内容数据结构为["java","javascript","vb",...],取值方式和所有语言中一样使用索引获取,字段值的类型可以是数字,字符串,数组,对象几种
2 数据的传输方法 所有的接口只要实现发送和接受就可以 不拘泥于某种方法
CURL (CommandLine Uniform Resource Locator)
是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。
例:CURL用POST发送的一个方法
这里URL是发送给谁,地址。传输的是什么数据 两个重要的参数
3 都需要哪些数据
展示互动的接口文档 一般是这么写的
三 如何利用支付宝提供的接口文档
支付宝网站下载一个压缩包,刚打开是2个文件夹,是两种加密方式,任何一种都可以
lib 支付方法的核心文件
关于跳转/异步通知方法
回调信息的细节问题
这两个参数