支付宝&微信统一支付
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 ...
随机推荐
- C# 数组&集合&泛型集合
一.数组 必须规定类型,必须规定长度: 1.定义 int[ ] i = new int[5]; int[] j = new int[]{1,2,3,4,5}; 2.数组的遍历: Console.Wr ...
- Nginx配置项优化详解【转】
(1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...
- wagger的展示路径修改
转:https://www.jianshu.com/p/ce7e247515f5?utm_source=oschina-app 注:本文是基于springboot配置实现,但在实际中使用springm ...
- 二叉查找树(BST)、平衡二叉树(AVL树)
二叉查找树(BST) 特殊的二叉树,又称为排序二叉树.二叉搜索树.二叉排序树. 二叉查找树实际上是数据域有序的二叉树,即对树上的每个结点,都满足其左子树上所有结点的数据域均小于或等于根结点的数据域,右 ...
- ajaxSubmit 提交form 表单
$(document).on('click','#submit_title_btn',function(){ var title = $("#title").val(); if ( ...
- Golang面向对象编程-struct(结构体)
Golang面向对象编程-struct(结构体) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是面向对象编程 面向对象编程(Object Oriented Program ...
- 拒绝了对对象 'Proc_LHDashBoard' (数据库 'jy',架构 'dbo')的 EXECUTE 权限。”
没有权限,在数据库里面开启权限.找到你那个访问的用户名,然后:
- 关于C#的一些小知识
问题一 :是否可以从一个static方法内部发出对非static方法的调用? 不行,可以这样理解static修饰的方法可以直接用类名调用非static修饰的方法必须用类new出对象才能调用当我们用类名 ...
- 【1】存在大于1s的FullGC
目前有存在大于1s的FullGC,金桥的机器目前是2C4G的,使用的GC方法只能使用单线程进行串行的回收,导致GC比较慢. 建议可以调整GC参数,改用CMS,能够解决这个问题, 参数修改方法: 在应用 ...
- Spring RedisTemplate操作-注解缓存操作(11)
@Service @CacheConfig(cacheNames="user") public class RedisAn { public Map<String, User ...