微信支付这一块,本来打算一起写完呢,谁知道计划赶不上变化,由于一些原因没有时间写,这次接着把后续写完。上次说微信下单的时候,我就说过,威胁你支付这一块有人家现场封装好的。
paylink,盛牌,都可以拿来用。
首先我们还是要看官网是如何介绍微信支付订单查询的。
我们可以看到他其实就是一个Get方式请求的一个接口而已。在看一下官方给的例子:
通过这个例子我们可以看到,两个重要的参数:一个是订单号一个是商户号,商户号是什么我写下单的时候已经发过截图了。根据官方的例子看,其实就简单多了,实际上就是一个url路径附带两个参数。那就不多说了上代码了:
订单信息的Model类:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace WeChat.Api.Model.SearchOrder { public class OrderSelect { public string appid { get; set; } public string attach { get; set; } public string bank_type { get; set; } public string mchid { get; set; } public string out_trade_no { get; set; } public string success_time { get; set; } public string trade_state { get; set; } public string trade_state_desc { get; set; } public string trade_type { get; set; } public object promotion_detail { get; set; } public string transaction_id { get; set; } public SAmount amount { get; set; } public myPayer payer { get; set; } } public class Promotion_detail { } public class myPayer { public string payer { get; set; } } public class SAmount { public string currency { get; set; } public string payer_currency { get; set; } public double payer_total { get; set; } public double total { get; set; } } }
请求接口:
/// <summary> /// 订单查询 /// </summary> /// <param name="OrderSno">订单号</param> /// <returns></returns> [HttpGet("Search")] public async Task<OrderSelect> Search(string OrderSno) { // 查询订单 var url = $"https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/"+OrderSno+"?mchid="+ WeChatConfig.mchid; var client = new HttpClient(new HttpHandler()); var resp = await client.GetAsync(url); var respStr = await resp.Content.ReadAsStringAsync(); var payModel = respStr.ToObject<OrderSelect>(); return payModel; }
效果图:
这里只说订单查询,其它的代码不在放进来了,后续会给源码下载链接。
标签:core,set,string,get,微信,trade,-----,public From: https://www.cnblogs.com/zpy1993-09/p/16802833.html