钱都去哪儿了?——说说微信支付的业务流程

发表于:2017-10-13 12:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:果果    来源:51Testing软件测试网采编

  不知道从啥时候开始,小编钱包里的现金很少被动用。哦,从流行「微信支付」的时候。微信支付在各种超市和卖场早就屡见不鲜,就连现在菜市场的大妈都会主动让你扫一扫。
  今天小编就带大家了解一下微信支付背后的业务流程。
  在微信支付过程中,主要有三个参与者:用户、商家和微信支付平台。在这三方中,用户和商家对微信支付平台是「完全信任」的(不信任你用微信支付干啥?)。
  下面就以微信商户平台开发文档的示例简单描述下整个过程。
  1、注册订单信息
  用户在商户APP中确认订单后(步骤1、2、3),商户的后台会将商户信息(如「大众点评」)、订单明细及金额信息发送到微信支付平台后台(步骤4),此时,微信后台会将这些信息「缓存」到微信的后台服务器中,并同时生成prepay_id,该id是后微信方按照一定的规则生成的唯一标识符,用来确认唯一的一次支付过程,可以认为是支付的会话id。当prepay_id返回到终端后(步骤5、6、7),商户APP就会展示支付确认页面:
  2、微信客户端展示订单
  当用户在商户APP点击「微信支付」后,会调起微信客户端,并同时将prepay_id、商户身份信息传输到微信客户端(步骤9),此时,微信客户端就会通过prepay_id、商户身份信息及微信账号信息向微信支付后台查询本次支付是否合法(prepay_id对应的订单信息、商户信息是否一致)并检查客户端的支付权限。确认无误后,微信后台通知微信客户端展示支付授权页面:
  3、用户确认,完成交易
  当用户在授权页面点击确认并输入密码后,说明用户对此次交易无异议,支付完成。
  纵观整个支付流程,不难发现prepay_id在整个支付过程中充当着重要的角色。prepay_id的生产,标识着一个微信支付行为的开始,后续的客户端之间以及客户端与后台之间操作都需要用到该id,这样就避免了在支付过程中频繁的传输完整的订单信息。prepay_id本身也是相对安全的,即便三方应用非法获取了该id,也无法修改交易内容(订单详情以及商户信息),因为所有的重要信息在prepay_id的创建时都已经记录在了微信后台。prepay_id唯一标识一次支付过程,三方App也无法重复使用一个已经支付完成的prepay_id。简单的说,prepay_id相当于一张从支付平台开出的支票,当用户在支票上签字后,商户就可以用支票取现了。
  随着微信支付等三方支付平台的日益壮大,相信以后现金的用武之地会越来越少。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号