支付宝&微信统一支付
1、实体对应关系:
Application — 支付记录实体 -- 支付记录详情
2、流程
1、生成订单选择支付类型
2、支付宝:PC端、手机端、扫码;微信:微信公众号支付、扫码支付、H5支付。
客户端版本(Browser-Agent):MicroMessenger(微信浏览器)、AliApp、Mobile或iPad、PC
3、对于微信中
3.1、支付需要用户授权获取openId
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
通过拦截器拦截微信中的请求来获取openId放入cookie中时效5分钟,openId为空时进行授权,通过code换取网页授权access_token获取openId,
redirect_uri到授权回调设置cookie中openid的值时效5分钟,Redirect到请求页面,完成授权。
3.2、下单之前先检查是否完成交易
3.3、生成签名:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3,可利用treemap自然排序,封装成xml参数,
MD5方式签名
调用下单接口:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1
获取PREPAY_ID,存放在redis缓存中,时效2小时,过期重新下单霍如PREPAY_ID
3.4、H5调起微信支付的内置JS
3.5、定时回调接收通知
3.6、JSAPI流程:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4
3.7、可参考:https://www.cnblogs.com/yimiyan/p/5603657.html
3.支付API
https工具:https://github.com/kevinsawicki/http-request
微信api:https://pay.weixin.qq.com/wiki/doc/api/index.html
支付宝api:https://docs.open.alipay.com/270/105899/
支付宝老接口:https://docs.open.alipay.com/62/104743/
支付宝&微信统一支付的更多相关文章
- 微信原生支付 Native扫码支付( V3.3.7 版本)
原文:微信原生支付 Native扫码支付( V3.3.7 版本) [尊重别人的劳动成果,转载请注明出处:一缕晨光工作室,www.wispdawn.com] 前言 辛苦研究三天,遇到各种困难,最终还是克 ...
- ThinkPHP 5 整合支付宝微信支付(支付宝H5,微信H5、APP支付、公众号支付)
因项目没有PC站所以没有写电脑网站支付. Pay.php支付控制器 <?php // +----------------------------------------------------- ...
- 记录:c#实现微信,支付宝扫码支付(一)
因为公司系统业务需要,这几天了解了一下微信和支付宝扫码支付的接口,并用c#实现了微信和支付宝扫码支付的功能. 微信支付分为6种支付模式:1.付款码支付,2.native支付,3.jsapi支付,4.a ...
- php微信jsapi支付 支付宝支付 两码合一
产品开会提出了这样的需求:一个二维码可以微信支付也可以支付宝支付 经过自己的钻研以及询问技术高人(本人代码一般般)和网上搜索 最终实现其功能 我用微信jsapi 和 支付宝网页支付 其实并不怎么难: ...
- 支付sdk —— 该组件为封装了 微信,支付宝,银联支付
[精品] 支付组件 简要说明该组件为封装了 微信,支付宝,银联支付, 一键快速集成,几行代码即可集成 微信,支付宝,银联支付. ## 示例: # 测试账号:1.银联支付:提供测试使用卡号.手机号信息 ...
- JavaWEB后端支付银联,支付宝,微信对接
注:本文来源于:< JavaWEB后端支付银联,支付宝,微信对接 > JavaWEB后端支付银联,支付宝,微信对接 标签(空格分隔): java 项目概述 最近项目需要后端打通支付,所 ...
- 移动支付--银联,支付宝,微信(android)
在这个移动互联网快速发展的时代,手机已经成为人们生活或者出行之中必不可少的设备了,如今非常多城市的商户都能够採用支付宝,微信支付了.人们出门仅仅须要随身携带带手机.不用带大量现金就能够放心购物了.如今 ...
- iOS开发集成支付宝支付、支付宝&微信支付
支付宝支付: 参考链接:https://www.jianshu.com/p/60175e525c0e https://blog.csdn.net/zhonggaorong/article/detail ...
- MUI 支付案例(支付宝/微信)
首先说明一下,本文借鉴了多位博主的文章,所以会看到很多一样的代码. 写这篇博客主要目的是为了便于后期查看(不好之处,敬请留言吐槽),案例经本人测试,是可以使用的. 先上效果图 前端HTML代码: &l ...
随机推荐
- Spring的FactoryBean使用
Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean.工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该工厂Bean的g ...
- JS解析url
window.location.href 整个url字符串 window.location.protocol url的协议部分 window.location.host url的主机部分 window ...
- Xenserver 如何设置VM boot options
#1. SSH到xen物理机 #2. 查看VM的 uuid xe vm-list #3. 设置VM的BIOS xe vm-param-set uuid={vm uuid} HVM-boot-polic ...
- python---redis在windows安装以及测试
手册以及下载地址http://www.runoob.com/redis/redis-install.html,以及启动和测试 启动服务端(进入项目目录下: redis-server.exe redis ...
- ubuntu配置lua环境,并进行c与lua的相互调用
1.安装lua环境 先查看一下apt可获取的lua版本 我们选择lua5.1版本进行安装 sudo apt install lua5.1 安装完之后测试一下是否安装成功,如果可以正常使用,则lua环境 ...
- "ls: cannot access sys/class/ieee80211: No such file or directory" .
1- Do update and upgrade as always. apt-get update && apt-get upgrade && apt-get dis ...
- java程序运存扩容
线上程序随着业务增多,运行的越来越慢,初步判定是因为内存分配的太小导致频繁的进行GC和OOM,于是着手增加内存上限. 增加内存上限都知道是修改java启动的opt,因为服务容器是tomcat 首先是在 ...
- SpringMVC上传文件的三种方式(待整理...)
参考链接 http://www.cnblogs.com/fjsnail/p/3491033.html
- magelinux(0111)
Web Service 应用层:http, https 实现某类具体应用: 传输层协议:TCP, UDP, SCTP IANA: 0-1023:众所周知,永久地分配给固定的应用使用,特权端口: 102 ...
- A - A Secret (扩展kmp)
题目链接:https://cn.vjudge.net/contest/283743#problem/A 题目大意:给你字符串s1和s2,然后问你s2的每一个后缀在s1中出现的次数之和(可重叠). 具体 ...