第三方支付是指具备一定实力和信誉保障的独立机构,采用与各大银行签约的方式,通过与银行支付结算系统接口对接而促成交易双方进行交易的网络支付模式。
通俗的例子:  支付宝,微信支付,百度钱包,PayPal(主要是欧美国家)拉卡拉(中国最大线下便民金融服务提供商)
​
优点:1、支付平台降低了政府、企业、事业单位直连银行的成本,满足了企业专注发展在线业务的收付要求。2、使用方便。对支付者而言,他所面对的是友好的界面,不必考虑背后复杂的技术操作过程
​
缺点:
1、风险问题,在电子支付流程中,资金都会在第三方支付服务商处滞留即出现所谓的资金沉淀,如缺乏有效的流动性管理,则可能存在资金安全和支付的风险
​2、电子支付经营资格的认知、保护和发展问题

聚合支付:

聚合支付是相对之前的第三方支付而言的,作为对第三方支付平台服务的拓展,第三方支付是介于银行和商户之间的,而聚合支付是介于第三方支付和商户之间
​
出现的场景:一堆第三方支付出现,并通过大量的钱补贴线上商家使用它们的支付,导致商户收银台堆满各种POS机器,扫码设备,商户还需要去各家支付公司申请账号,结算等
​
​解决的问题:聚合支付公司提供的二维码,支付多种方式支付,不再是一种,各个公司的竞争,就是支付渠道和方式的支持
1、什么是微信商户平台:
地址:https://pay.weixin.qq.com
提供给商家使用,用于查看交易数据,提现等信息
2、常用的支付方式 公众号支付,扫码支付,app支付,小程序支付
官方地址:https://pay.weixin.qq.com/wiki/doc/api/index.html
案例演示: https://pay.weixin.qq.com/guide/webbased_payment.shtml
3、微信支付申请流程 https://pay.weixin.qq.com/guide/qrcode_payment.shtml
1)申请公众号(服务号)  认证费 300
2)开通微信支付

微信网页扫码支付:

1、扫码支付文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=2_2
​2、名称理解
​appid:公众号唯一标识appsecret:公众号的秘钥
​mch_id:商户号,申请微信支付的时候分配的key:支付交易过程生成签名的秘钥,设置路径 微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全-->密钥设置
​
​3、和微信支付交互方式1、post方式提交2、xml格式的协议3、签名算法MD54、交互业务规则 先判断协议字段返回,再判断业务返回,最后判断交易状态5、接口交易单位为 分6、交易类型:JSAPI--公众号支付、NATIVE--原生扫码支付、APP--app支付
​
​7、商户订单号规则:商户支付的订单号由商户自定义生成,仅支持使用字母、数字、中划线-、下划线_、竖线|、星号*这些英文半角字符的组合,请勿使用汉字或全角等特殊字符,微信支付要求商户订单号保持唯一性
​8、安全规范:签名算法:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_3校验工具:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=20_1
​9、采用微信支付扫码模式二(不依赖商户平台设置回调url)

(1)商户后台系统根据用户选购的商品生成订单。

(2)用户确认支付后调用微信支付【统一下单API】生成预支付交易;

(3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。

(4)商户后台系统根据返回的code_url生成二维码。

(5)用户打开微信“扫一扫”扫描二维码,微信客户端将扫码内容发送到微信支付系统。

(6)微信支付系统收到客户端请求,验证链接有效性后发起用户支付,要求用户授权。

(7)用户在微信客户端输入密码,确认支付后,微信客户端提交授权。

(8)微信支付系统根据用户授权完成支付交易。

(9)微信支付系统完成支付交易后给微信客户端返回交易结果,并将交易结果通过短信、微信消息提示用户。微信客户端展示支付交易结果页面。

(10)微信支付系统通过发送异步消息通知商户后台系统支付结果。商户后台系统需回复接收情况,通知微信后台系统不再发送该单的支付通知。

(11)未收到支付通知的情况,商户后台系统调用【查询订单API】。

(12)商户确认订单已支付后给用户发货。

时序图包括四个元素 对象(Object), 生命线(Lifeline), 激活(Activation), 消息(Message);
​
对象:时序图中的对象在交互中扮演的角色就是对象,使用矩形将对象名称包含起来, 名称下有下划线
​生命线:生命线是一条垂直的虚线, 这条虚线表示对象的存在, 在时序图中, 每个对象都有生命线
​激活:代表时序图中对象执行一项操作的时期, 表示该对象被占用以完成某个任务,当对象处于激活时期, 生命线可以拓宽为矩形
​消息:对象之间的交互是通过相互发消息来实现的,箭头上面标出消息名,一个对象可以请求(要求)另一个对象做某件事件
消息从源对象指向目标对象,消息一旦发送便将控制从源对象转移到目标对象,息的阅读顺序是严格自上而下的
​
消息交互中的实线:请求消息
消息交互中的虚线:响应返回消息
自己调用自己的方法:反身消息
统一下单接口:
商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。

订单接口CRUD

 1、Dao层VideoOrder增删改查开发public interface VideoOrderMapper {/*** 保存订单,返回包含主键* @param videoOrder* @return*/@Insert("insert into video_order (openid,out_trade_no,state,create_time,notify_time,total_fee,nickname,head_img,video_id,video_title,video_img,user_id,ip,del) "+"values"+"(#{openid},#{outTradeNo},#{state},#{createTime},#{notifyTime},#{totalFee},#{nickname},#{headImg},#{videoId},#{videoTitle},#{videoImg},#{userId},#{ip},#{del})")@Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id")int insert(VideoOrder videoOrder);@Select("select * from video_order where id=#{order_id} and del=0")VideoOrder findById(@Param("order_id") int id);/*** 根据交易订单号获取订单* @param outTradeNo* @return*/@Select("select * from video_order where outTradeNo=#{outTradeNo} and del=0")VideoOrder findByoutTradeNo(String outTradeNo);@Select("select * from video_order where user_id=#{userId}")List<VideoOrder> findMyOrderList(int userId);/*** 根据id号和userId进行删除操作* 只是逻辑上的删除* 当参数多于2个时要加@Param* @param id* @param userId* @return*/@Update("update video_order set del=0 where id=#{id} and user_id=#{userId}")int del(@Param("id") int id,@Param("userId") int userId);/*** 根据订单流水号进行更新* @param videoOrder* @return*/@Update("update video_order set state=#{state} ,notify_time=#{notifyTime}, openid=#{openid} " +"where  out_trade_no=#{outTradeNo} and del=0 and state=0")int updateViderOrderByoutTradeNo(VideoOrder videoOrder);}

第三方支付和聚合支付相关推荐

  1. 什么是聚合支付?聚合支付的优势?

    说起第三方支付,在中国无人不知.无人不晓,无论是在饭馆.商场.宾馆.酒店,都能够看到微信或者支付宝支付,就连卖煎饼的阿姨都有可以供他人扫一扫的二维码. 但谈到第四方支付,可能就会有很多人不清楚了.其实 ...

  2. 什么是聚合支付,聚合支付有什么优势

    什么是聚合支付,聚合支付有什么优势 聚合支付:也称"融合支付", 聚合支付简单理解就是通过技术服务聚合了各种第三方支付+线下收单等能力的支付方式,目的在于简化商家的接入和统一对账的 ...

  3. 什么是第四方支付(聚合支付)

    ​第四方支付,也称为聚合支付,是指在没有支付许可牌照的情况下,通过聚合各种第三方支付平台.合作银行.合作电信运营商及其他服务商接口等多种支付工具的综合支付服务. 第四方支付是一个电子支付及其增值服务的 ...

  4. SpringBoot 集成第三方聚合支付 微信、支付宝

    SpringBoot 集成第三方聚合支付 1. 创建Spring Boot项目 2. 添加依赖 3. 配置支付宝.微信 4. 实现支付接口 5. 实现支付服务 6. 实现支付回调接口 7. 测试支付 ...

  5. 支付冰火两重天:第三方支付缝隙求生,聚合支付活得滋润

    侯维科技 从春节前后开始,各家银行纷纷切断了快捷支付和代扣通道.资金流动不畅,整个互金行业都受到重创. 特别是现金贷行业,用户还款自动扣款取消后,现金贷的主动还款率,下降了40%. 而P2P行业,因为 ...

  6. 聚合支付怎么样 如何成为推广员

    在移动支付全面普及后,聚合支付二维码已经成为了我们生活中不可或缺的一部分,在很多人看来,所有的二维码都是一样的,但实则,在一个个外形雷同的二维码背后,有着不一样的出处. 目前市场上的收款码主要包括支付 ...

  7. 全行业聚合支付平台接口_各类API聚合支付平台

    什么是聚合支付? 聚合支付,是指聚合所有主流的第三方支付通道.多个支付场景.多种支付方式,通过软硬件(SDK.API.POS)的承载形势,链接商户和第三方支付平台.银行系统的综合支付服务.聚合支付不进 ...

  8. 聚合支付行业的基本情况

    聚合支付,又叫第四方支付. 第一次知道聚合支付,大概是国外Stripe这个产品,当时只是晃眼看了下,没多了解,"哦,就是这样".但当国内一家叫Ping++的产品出现后,知道这家公司 ...

  9. 盒子科技研发部刘恒:聚合支付系统演进

    大家好,我是来自盒子科技研发部支付线刘恒,目前主要是负责公司的一个聚合支付系统的研发工作.今天主要是讲一下我们这个支付系统从2016年年初到现在,一个整个的技术演变. 首先我会从那三个方向,第一个就是 ...

  10. 银行和服务商聚合支付收款码的区别在哪?

    数据显示,从2014年到2020年,人们对移动支付的依赖性增加,从零开始促进了聚合支付行业交易规模的快速增长.2014年,聚合支付市场交易规模仅为0.1万亿元左右,2020年已增至63万亿元.使用聚合 ...

最新文章

  1. CentOS 6安装DHCP
  2. 24 个你应该了解的 PHP 库
  3. Qt中的缓冲区QBuffer
  4. java取子串_Java中获取子字符串的几种方法示例
  5. 20180105随笔
  6. qt linux opensource ,QT opensource embedded linux 编…
  7. 算法题复习(栈与队列、二叉树)
  8. winform数据传递到html,C#下winform和JS的互相调用和传参(webbrowser)
  9. cout 和 printf 性能比较
  10. Python 练习: 简单角色游戏程序
  11. C++编码类定义的规则
  12. Spring+SpringMVC+MyBatis+Maven框架整合
  13. mysql 多个网卡_seriver -- 多个网卡只能认到一个网卡的解决方法
  14. 理解Python的协程机制-Yield
  15. Ubuntu恢复默认界面命令
  16. 关于Idea模块化部署web项目,Web Resource Directories作用
  17. Android修改开机动画
  18. 互联网行业,让你成为月薪过万的那三成人
  19. 客户关系管理系统(Customer Relationship Management)
  20. python2 之 DataFrame

热门文章

  1. 终于申请自己的博客了
  2. 计算机特殊的标点符号教案,《标点符号的输入》教学设计
  3. 星星之火-7:从数值空间理解模拟信号、离散信号、数字信号的区别
  4. 网络攻防|XSS Flash弹窗钓鱼
  5. python实现飞机大战源代码+素材+项目分析
  6. BZOJ3420[POI2013]Triumphal archBZOJ5174[Jsoi2013]哈利波特与死亡圣器——树形DP+二分答案...
  7. 堆积木——GBQ4.0设置“统一设置安装费用”中的“高层建筑增加费”
  8. HTML内嵌内联外联——它们之间的优先级如何?
  9. 树莓派实现实时视频监控
  10. This scheduler instance is still active but was recovered by another instanc解决办法