微信支付流程图

本文通过一张图详细解析了微信支付的6步流程:用户选择商品并提交订单,商户后台调用微信支付接口,获取预支付ID并签名,APP端调起支付,商户接收支付通知及查询支付结果。理解此流程,有助于掌握其他类似支付方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

通过这张图可以清晰的看到微信支付的过程,其实其他支付流程也都大同小异,看懂一个其他的也就都懂了。下面简单总结一下。可以简单的记为6步。具体参考官方文档

商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】

### Java 实现微信支付的流程 在Java环境中实现微信支付涉及多个阶段,从准备环境到完成支付请求处理。以下是基于已有资料整理出的一个简化版流程描述。 #### 准备工作 - 注册成为微信开放平台上的开发者并获取相应的应用凭证[^2]。 #### 配置集成 为了能够顺利地接入微信支付,在项目中需引入官方提供的SDK库文件,并设置必要的配置项,比如商户号、API密钥等信息。 #### 创建预订单 当用户确认购买商品或服务时,服务器端应向微信支付网关发送请求来创建一笔新的预付单记录。这一步骤非常重要因为它决定了后续能否正常发起支付动作[^3]。 ```java // 示例代码片段用于说明如何构建统一订单参数对象 UnifiedOrderRequest orderReq = new UnifiedOrderRequest(); orderReq.setBody("测试商品"); orderReq.setOutTradeNo(orderId); orderReq.setTotalFee(amountInCent); // 单位为分 orderReq.setSpbillCreateIp(clientIP); orderReq.setNotifyUrl(notifyURL); orderReq.setTradeType(tradeType); // 如:"JSAPI", "NATIVE" ``` #### 获取前端所需数据 成功接收到微信返回的成功响应之后,从中提取`prepay_id`字段作为下一步操作的关键依据之一;对于H5页面内嵌入的小程序或是公众账号网页,则还需要进一步加工此ID以便于客户端侧执行具体的支付指令。 #### 发送支付请求至客户端 最后由移动设备上的应用程序或者浏览器加载特定链接/按钮触发真正的资金转移过程。此时会弹窗显示给消费者授权界面等待其输入密码验证身份从而最终达成交易目的。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值