VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

微信扫码支付的Asp.Net MVC开发

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

这次给大家带来的是微信扫码支付Asp.Net MVC开发,以及微信扫码支付的Asp.Net MVC开发的注意事项。以下是实际案例。让我们来看看。

这里的扫码支付是指在PC网站使用微信支付,也就是官方的模式2。网站是Asp.net MVC,排列如下。(演示在底部)

一.准备工作

使用微信API中的统一下单方式,关键参数是'公众账号ID(appid)'、'商户号(mch_id)'和'商户支付密钥',所以首先要有一个经过审批的微信官方账号,并开通支付功能,然后申请商户,审批通过后得到商户号,也就是商户平台的登录名。商家支付密钥用于签名,以确保url不被篡改。进入商家平台后在API安全中设置。它是一个32位的字符串。

微信扫码支付的Asp.Net MVC开发-主机参考

有了这三个参数,还需要注意的是,事务开始时间和事务结束时间之间的间隔应该大于五分钟,小于两小时。否则,在获取支付网址时会出现错误。

第二,生成支付二维码

有了以上参数,下一步就是下载SDK:。net SDK和例子。

不幸的是,官方的例子一开始并不正确。将相关的dll引用到MVC目录。并创建一个WxPayAPI文件夹来复制相关的类。

微信扫码支付的Asp.Net MVC开发-主机参考 微信扫码支付的Asp.Net MVC开发-主机参考

然后将WxPayConfig中的相关参数设置为自己的参数,然后修改GetPayUrl方法。

public string GetPayUrl(Order Order,string IP){ if(Order = = null){ throw new ArgumentNullException( ;订单 );} var产品=订单。OrderItems . First();wx paydata data = new wx paydata();数据。SetValue( ;appid ,WxPayConfig。APPID);数据。SetValue( ;mch _ id ,WxPayConfig。MC hid);//数据。SetValue( ;设备信息, iphone4s );数据。SetValue( ;nonce _ str ,WxPayApi。GenerateNonceStr());数据。SetValue( ;body ,产品。属性描述);//商品描述数据。SetValue( ;详细信息 ,产品。属性描述);//商品描述数据。SetValue( ;附加 , 北京分公司”);//附加数据data。SetValue( ;out _ trade _ no ,订单。trade number);//随机字符串//数据。SetValue( ;总费用 ,转换。ToInt32(订单。订单总额* 100));//总量数据。SetValue( ;总费用 , 1);//总量数据。SetValue( ;spbill _ create _ ip ,IP);//总量数据。SetValue( ;时间_开始 ,日期时间。现在。ToString( ;yyyyMMddHHmmss ));//事务开始时间数据。SetValue( ;时间到期 ,日期时间。现在。增加分钟数(30)。ToString( ;yyyyMMddHHmmss ));//事务结束时间数据。SetValue( ;商品_标签 , 智能婴儿床 );//商品标签数据。SetValue( ;通知_ url , http://www.xxxx.com/Checkout/ResultNotify&;);//通知地址数据。SetValue( ;贸易类型 , 本地 );//交易类型数据。SetValue( ;产品id ,产品。product id);//商品ID数据。SetValue( ;签名 ,数据。MakeSign());//签名记录器。信息( 获取签名"+数据。GetValue( ;签名 ));WxPayData结果= WxPayApi。UnifiedOrder(数据);//调用统一订购接口记录器。信息(结果。ToJson());字符串url =结果。GetValue( ;代码_ url ).ToString();//获取二维码链接记录器。信息( 支付网址: +网址);返回url}TradeNumber通过调用WxPayApi生成。GenerateOutTradeNo()方法,而notify_url是用户支付后微信通知的地址。金额的单位是点,只能传递给int或string。十进制需要转换。成功获取url后,在负责支付的控制器中创建一个支付方式。用于显示二维码:

result payment((argument exception(order = _ orderservice . getorderbyguid(user = = url 2 = =+=这里只返回一个URL,在页面上:

ltimg src = @ViewBag。二维码 class = 二维码 / gt;后台用qrCodeEncoder生成二维码。

public FileResult MakeQRCode(字符串数据){ if(字符串。IsNullOrEmpty(data))抛出新的argument exception( ;数据 );//初始化二维码编码器二维码编码器=新二维码编码器();二维码编码器。QR code encode = QR code encoder。编码模式。字节;二维码编码器。QR code error correct = QR code encoder。纠错。m;二维码编码器。QR code version = 0;二维码编码器。QR code scale = 4;//将字符串生成为二维码图片位图image = QR code encoder . encode(data,encoding . default);//另存为PNG到内存流memory stream ms = new memory stream();形象。保存(毫秒,图像格式。JPEG);返回文件(ms.ToArray(), 图片/JPEG ;);}成功后获取支付页面:

微信扫码支付的Asp.Net MVC开发-主机参考

扫码后会弹出支付页面:

微信扫码支付的Asp.Net MVC开发-主机参考

第三,回调

用户支付后,微信会向之前预留的接口发送消息(接口不能有参数)。网站收到消息后会进行核实确认,确认后再发消息到微信。详细参数和文档请参考官方API。

在这里,演示中的方法稍作修改,并放入控制器中:

公共动作结果result notify(){//接收数据流s = Request。来自微信后台帖子的InputStreamint count = 0;字节

在商家平台的后台,我们可以查询:

微信扫码支付的Asp.Net MVC开发-主机参考

相信你看完这个案例已经掌握了方法。更多精彩请关注主机参考其他相关文章!

推荐阅读:

微信支付退款功能的开发

H5视频播放库video.js详解

微信H5硬件开发的控制灯光

JS中特别有用的轻量级日期插件是Asp.Net MVC开发用微信扫码支付的详细内容。请多关注主机参考其他相关文章!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:微信扫码支付的Asp.Net MVC开发 https://zhujicankao.com/80830.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 微信扫码支付的Asp.Net MVC开发
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!