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,支付宝微信统一支付相关推荐

  1. 微信统一支付详解,坑太多,不得不写

    最近开发app支付,支付宝按照开发文档很快搞定,本想微信支付开发也一样的容易,结果我错了,一路踩坑不断,到最后终于完成,耗了不少时间和精力,所以想写一篇关于微信统一支付的开发过程,希望大家能少走弯路 ...

  2. 支付时报错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_ ...

  3. 第三篇、记录微信统一支付、扫码支付开发

    项目中使用了微信的统一支付以及扫码支付,记录下学习记录 目录 项目中使用了微信的统一支付以及扫码支付,记录下学习记录 1.配置wechat4j.properties 文件 2.编写支付工具类 3.统一 ...

  4. 微信H5支付、非微信H5支付、公众号支付、小程序支付

    文章目录 前言 一.微信H5支付和非微信H5支付 二.公众号支付 三.小程序支付 总结 前言 最近公司又要搞微信支付,大体上就是把app上VIP那一套内容但做成网页版,更方便用户去购买vip,老板就让 ...

  5. java微信网页支付_java实现微信H5支付

    原标题:java实现微信H5支付 前面做了app微信支付的回调处理,现在需要做微信公众号的支付,花了一天多时间,终于折腾出来了!鉴于坑爹的微信官方没有提供Java版的demo,所以全靠自己按照同样坑爹 ...

  6. java app微信支付接口_JAVA微信APP支付接口整合

    上次我们看到了支付宝的APP支付工具,那么这次就来封装封装微信的APP支付;如果已经清楚了支付宝的支付流程,那么微信支付也和它大同小异了,当然这其中肯定是有各种变化的: 首先让我把微信支付文档的官网贴 ...

  7. java app支付_java实现微信App支付

    废话不多说,直接上代码,微信的小程序,公众号支付都大差不差,自行看文档修改参数即可. maven依赖: com.github.wxpay wxpay-sdk 0.0.3 application.yml ...

  8. 微信app支付 php,PHP 微信APP支付 整合 thinkphp3.2.3

    php开发APP支付功能中,涉及到微信APP支付功能.为了考虑数据的严密性,加密的过程全部都需要在服务端进行生成.微信APP支付与支付宝的还不太一样.微信APP支付需要二次的加密请求才可以完成整个服务 ...

  9. php网站接入微信支付,PHP接入微信H5支付的方法示例

    开发前配置 进行代码接入前,需在微信后台填写授权回调域名,此域名必须经过icp备案 开发主要流程 用户下单时选择微信支付 商户进行业务逻辑处理并调用微信统一下单接口,微信h5交易类型为:trade_t ...

最新文章

  1. 【枭·音频】感同声受——《暗影火炬城》PS5 HD震动制作
  2. python编程的常用工具_小白学Python(2)——常用Python编程工具,Python IDE
  3. React-引领未来的用户界面开发框架-读书笔记(七)
  4. poj3249Test for Job(记忆化搜索)
  5. 错误 4 error C2220: 警告被视为错误 - 没有生成“object”文件
  6. 干点大事!“覆盖25万人的AI资源对接平台”发布,找人、找技术不再难!
  7. Redis 缓存过期(maxmemory) 配置/算法 详解
  8. Android 记忆卡片游戏 记忆力 Android游戏 Android记忆卡片游戏源代码
  9. NAT篇 双剑合璧,无往不利——双向NAT
  10. CMM3和CMMI4的差别--过程域
  11. 宗成庆《文本数据挖掘》学习笔记:第二章 数据预处理和标注
  12. 移动端屏幕宽度自适应原理及实现
  13. lpop 原子_全国中考化学易错知识点——微粒构成的物质分子原子离子
  14. 迅捷校园网自动登录脚本(网页端)
  15. c++语言常量,C++常量(constant)
  16. Springmvc 控制器的作用
  17. Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
  18. php开发证书转换工具,各类证件生成器
  19. 华清远见嵌入式学习心得1
  20. 傲娇大少之——【GET请求和POST请求】

热门文章

  1. 危机感,你时刻应该有
  2. altium designer 18 调整PCB尺寸大小
  3. HTML5期末大作业:在线电影介绍(6页) HTML+CSS+JavaScript 大学生毕设网页设计源码HTML web网页设计制作成品
  4. 不同手机型号图文预览_关于iPhone的不同型号手机和不同版本系统
  5. Cutting Chains UVA - 818
  6. 17届智能车-电磁组比赛心得一
  7. vue3 腾讯地图输入地址或拖动标记获取经纬度
  8. 报错 | SyntaxError: Legacy octal literals are not allowed in strict
  9. 【演武厅】表达式求值实例
  10. chrome添加右键菜单收藏CSDN文章到我的博客