微信扫码支付模式一

本文档详细介绍了微信扫码支付模式一的流程,包括生成二维码、设置支付回调URL、处理支付回调、统一下单接口以及支付成功后的回调和监听。重点讨论了ASP.NET环境下实现扫码支付的步骤,并给出了可能出现的错误及解决方案。
摘要由CSDN通过智能技术生成

微信支付文档

1、生成二维码
2、二维码回调
3、支付成功回调
4、监听是否成功
4、错误解决方案

官方上说的这里就不提了。
官方文档地址

简单理解的流程
1、开发者设置微信参数生成二维码
2、微信公众平台设置 支付回调URL (eg:http://xxx.com/wxpay/return_url.aspx
i.必须外网能够访问,并且有域名和后缀 .xxx,并且回调页面只能直接继承

System.Web.UI.Page

不能间接继承:eg: child:parent,System.Web.UI.Page

3、用户扫描二维码后,微信会请求设置的支付回调地址并传回一个XML文件流数据,其中数据包含了生成二维码时传的参数
4、在支付回调地址中获取微信传回的XML 文件流,并调用微信的 统一下单接口,设置统一下单接口需要的参数,发送给微信服务器。
i.统一下单接口为:https://api.mch.weixin.qq.com/pay/unifiedorder
5、微信服务器进行处理,生成预支付交易,并返回XML文件流,其中包含交易会话标识(prepay_id)
6、开发者获取到XML 后,将此XML 发送到微信服务器()
7、微信支付系统根据交易会话标识,发起用户端授权支付流程
8、用户在微信客户端输入密码,确认支付后,微信客户端提交支付授权
9、微信支付系统验证后扣款,完成支付交易
10、微信支付系统完成支付交易后给微信客户端返回交易结果,并将交易结果通过短信、微信消息提示用户。微信客户端展示支付交易结果页面。
11、微信支付系统通过发送异步消息通知商户后台系统支付结果。商户后台系统需回复接收情况
i.异步回调地址notify_url

ASP.NET 扫码支付模式一,代码
1、生成二维码
a)使用 ThoughtWorks.QRCode 程序集

// 微信提供的类
WxPayData data = new WxPayData();
data.SetValue("appid", WxPayConfig.APPID);//公众帐号id
data.SetValue("mch_id", WxPayConfig.MCHID);//商户号
data.SetValue("nonce_str", WxPayApi.GenerateNonceStr());//随机字符串
data.SetValue("product_id", tempPrId.ToString());//商品ID
data.SetValue("time_stamp", WxPayApi.GenerateTimeStamp());//时间戳
data.SetValue("sign", data.MakeSign());//签名
string str = ToUrlParams(data.GetValues());//转换为URL串
string url = "weixin://wxpay/bizpayurl?" + str;// url
//日志
Log.Info(this.GetType().
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值