微信APP支付-4 支付流程

先看看支付时序图

一、时序图

WXPay.png

打眼一看好像挺复杂的,仔细一看很明了,思路逻辑很清晰,很有条理,逻辑缜密。大体流程和支付宝差不多但是也有不同。

以下说明摘抄自微信开放平台官网
商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明
步骤5:商户后台接收支付通知。api参见【支付结果通知API
步骤6:商户后台查询支付结果。,api参见【查询订单API

二、流程详解

1-2 用户使用App将发起微信支付;
3、App调用自己服务端接口,要求生成支付订单;
4、服务端请求微信服务端请求生成预支付订单,微信服务端生成预支付订单;
5、微信服务端将生成后的预支付订单信息返回App服务端;
6、App服务端将微信服务端返回的预支付订单信息进行加密加签等操作;
7、将加签后的数据返回客户端App;
8、序列图上这一步是个二次确认,需不需要视项目需求而定;
9、App客户端拿到服务端给的签名字符串后调用App里面的微信支付SDK;
10、右App里的SDK向微信服务器发起支付请求,微信服务器会在这里做验证签名等;
11、验证通过,返回支付授权,这时候一般会弹出微信支付窗口;
12、用户输入密码;
13、输完密码后微信服务器收到支付请求,在这里微信服务器还会做安全方面的检测;
14、同步返回支付结果到App客户端;
15-16微信的服务器会将支付结果通知给我们App的服务端,这肯定是异步通知,所以比14慢;
17、所以App客户端收到14的同步返回结果后,需要再次向自己的服务端发起请求,这样后台如果没有收到15-16,就去微信的服务端查询支付结果
18、接着17,App服务端查询到支付结果后把支付结果返回给客户端;
19、这时候App客户端才能断定是支付成功还是支付失败,然后处理支付后的操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 自己总结的微信支付宝支付流程和注意点: 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用...
    Www刘阅读 18,670评论 2 50
  • 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用这些材料,去支付宝注册一个商家账户(审核...
    Hevin_Chen阅读 6,870评论 0 9
  • 一、背景介绍 作为一名Android开发,从最初的跌跌撞撞到现在小有所悟,这其中经历过的辛酸苦辣也是一种痛并快乐着...
    freecats08阅读 5,121评论 7 54
  • 引言 秋高气爽,天气转凉,正是学习工作做的好时候。(~ ̄▽ ̄)~~(~ ̄▽ ̄)~ 我是个phper最近在写微信支付...
    恩就是这个名阅读 8,216评论 2 15
  • Field videoMediaLogic =mVlcVideoView.getClass().getDeclar...
    兣甅阅读 170评论 0 0

友情链接更多精彩内容