php 支付宝 支付 prepay_id,支付宝微信统一支付
1、实体对应关系:
Application(包括appId,秘钥) — OneToMany — PaymentOrder(支付记录实体):(订单系统生成的订单号,订单商品信息,金额,返回订单系统的url,微信、支付宝服务器主动通知商户服务器里指定的url等) — OneToMany — PaymentRecord(支付记录详情):记录支付类型(wepay、alipay),客户端类型(普通浏览器、微信浏览器),客户端ip、通知信息等
2、流程
1、生成订单选择支付类型
2、支付宝:PC端、手机端、扫码;微信:微信公众号支付、扫码支付、H5支付。
客户端版本(Browser-Agent):MicroMessenger(微信浏览器)、AliApp、Mobile或iPad、PC
3、对于微信中
3.1、支付需要用户授权获取openId
通过拦截器拦截微信中的请求来获取openId放入cookie中时效5分钟,openId为空时进行授权,通过code换取网页授权access_token获取openId,
redirect_uri到授权回调设置cookie中openid的值时效5分钟,Redirect到请求页面,完成授权。
3.2、下单之前先检查是否完成交易
MD5方式签名
获取PREPAY_ID,存放在redis缓存中,时效2小时,过期重新下单霍如PREPAY_ID
3.4、H5调起微信支付的内置JS
3.5、定时回调接收通知
3.支付API
原文:https://www.cnblogs.com/soul-wonder/p/10348880.html
php 支付宝 支付 prepay_id,支付宝微信统一支付相关推荐
- 微信统一支付详解,坑太多,不得不写
最近开发app支付,支付宝按照开发文档很快搞定,本想微信支付开发也一样的容易,结果我错了,一路踩坑不断,到最后终于完成,耗了不少时间和精力,所以想写一篇关于微信统一支付的开发过程,希望大家能少走弯路 ...
- 支付时报错java.lang.RuntimeException: 【微信统一支付】发起支付, returnCode != SUCCESS, returnMsg = appid和mch_id不匹配
1.问题 Hibernate: select ordermaste0_.order_id as order_id1_1_0_, ordermaste0_.buyer_address as buyer_ ...
- 第三篇、记录微信统一支付、扫码支付开发
项目中使用了微信的统一支付以及扫码支付,记录下学习记录 目录 项目中使用了微信的统一支付以及扫码支付,记录下学习记录 1.配置wechat4j.properties 文件 2.编写支付工具类 3.统一 ...
- 微信H5支付、非微信H5支付、公众号支付、小程序支付
文章目录 前言 一.微信H5支付和非微信H5支付 二.公众号支付 三.小程序支付 总结 前言 最近公司又要搞微信支付,大体上就是把app上VIP那一套内容但做成网页版,更方便用户去购买vip,老板就让 ...
- java微信网页支付_java实现微信H5支付
原标题:java实现微信H5支付 前面做了app微信支付的回调处理,现在需要做微信公众号的支付,花了一天多时间,终于折腾出来了!鉴于坑爹的微信官方没有提供Java版的demo,所以全靠自己按照同样坑爹 ...
- java app微信支付接口_JAVA微信APP支付接口整合
上次我们看到了支付宝的APP支付工具,那么这次就来封装封装微信的APP支付;如果已经清楚了支付宝的支付流程,那么微信支付也和它大同小异了,当然这其中肯定是有各种变化的: 首先让我把微信支付文档的官网贴 ...
- java app支付_java实现微信App支付
废话不多说,直接上代码,微信的小程序,公众号支付都大差不差,自行看文档修改参数即可. maven依赖: com.github.wxpay wxpay-sdk 0.0.3 application.yml ...
- 微信app支付 php,PHP 微信APP支付 整合 thinkphp3.2.3
php开发APP支付功能中,涉及到微信APP支付功能.为了考虑数据的严密性,加密的过程全部都需要在服务端进行生成.微信APP支付与支付宝的还不太一样.微信APP支付需要二次的加密请求才可以完成整个服务 ...
- php网站接入微信支付,PHP接入微信H5支付的方法示例
开发前配置 进行代码接入前,需在微信后台填写授权回调域名,此域名必须经过icp备案 开发主要流程 用户下单时选择微信支付 商户进行业务逻辑处理并调用微信统一下单接口,微信h5交易类型为:trade_t ...
最新文章
- 【枭·音频】感同声受——《暗影火炬城》PS5 HD震动制作
- python编程的常用工具_小白学Python(2)——常用Python编程工具,Python IDE
- React-引领未来的用户界面开发框架-读书笔记(七)
- poj3249Test for Job(记忆化搜索)
- 错误 4 error C2220: 警告被视为错误 - 没有生成“object”文件
- 干点大事!“覆盖25万人的AI资源对接平台”发布,找人、找技术不再难!
- Redis 缓存过期(maxmemory) 配置/算法 详解
- Android 记忆卡片游戏 记忆力 Android游戏 Android记忆卡片游戏源代码
- NAT篇 双剑合璧,无往不利——双向NAT
- CMM3和CMMI4的差别--过程域
- 宗成庆《文本数据挖掘》学习笔记:第二章 数据预处理和标注
- 移动端屏幕宽度自适应原理及实现
- lpop 原子_全国中考化学易错知识点——微粒构成的物质分子原子离子
- 迅捷校园网自动登录脚本(网页端)
- c++语言常量,C++常量(constant)
- Springmvc 控制器的作用
- Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
- php开发证书转换工具,各类证件生成器
- 华清远见嵌入式学习心得1
- 傲娇大少之——【GET请求和POST请求】
热门文章
- 危机感,你时刻应该有
- altium designer 18 调整PCB尺寸大小
- HTML5期末大作业:在线电影介绍(6页) HTML+CSS+JavaScript 大学生毕设网页设计源码HTML web网页设计制作成品
- 不同手机型号图文预览_关于iPhone的不同型号手机和不同版本系统
- Cutting Chains UVA - 818
- 17届智能车-电磁组比赛心得一
- vue3 腾讯地图输入地址或拖动标记获取经纬度
- 报错 | SyntaxError: Legacy octal literals are not allowed in strict
- 【演武厅】表达式求值实例
- chrome添加右键菜单收藏CSDN文章到我的博客