weixin_api/wxpay/example/orderquery.ashx.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using WxPayAPI;
namespace weixin_api.wxpay.example
{
/// <summary>
/// orderquery 的摘要说明
/// </summary>
public class orderquery : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if ("POST" == context.Request.RequestType)
{
System.IO.Stream sm = context.Request.InputStream;//获取post正文
int len = (int)sm.Length;//post数据长度
byte[] inputByts = new byte[len];//字节数据,用于存储post数据
sm.Read(inputByts, 0, len);//将post数据写入byte数组中
sm.Close();//关闭IO流
//**********下面是把字节数组类型转换成字符串**********
string data = Encoding.GetEncoding("utf-8").GetString(inputByts);//转为unicode编码
//data = context.Server.UrlDecode(data);//下面解释一下Server.UrlDecode和Server.UrlEncode的作用
string out_trade_no = "", transaction_id = "";
string trade_state = "";
Boolean cs_moren = false;
string[] dataArray = data.Split(new char[2] { '&', '=' });
Dictionary<string, string> _tmpkeyimg = new Dictionary<string, string>();
for (int i = 0; i < dataArray.Length; i++)
{
_tmpkeyimg.Add(dataArray[i], dataArray[++i]);
}
if (_tmpkeyimg != null)
{
out_trade_no = _tmpkeyimg.ContainsKey("out_trade_no") ? context.Server.UrlDecode(_tmpkeyimg["out_trade_no"]) : "";
if (string.IsNullOrEmpty(transaction_id) && string.IsNullOrEmpty(out_trade_no))
{
context.Response.Write("<script LANGUAGE='javascript'>alert('微信订单号和商户订单号至少填写一个,微信订单号优先!');</script>");
return;
}
//调用订单查询接口,如果内部出现异常则在页面上显示异常原因
string result = OrderQuery.Run(transaction_id, out_trade_no);//调用订单查询业务逻辑
result = result!=string.Empty?result.TrimEnd('\n'):"";
//string[] dataArray2 = result.Split(new char[2] { '\n',','});
//返回数据格式
//appid=wx6e7b41aded8b00ef attach=test bank_type=CFT cash_fee=1 fee_type=CNY is_subscribe=Y mch_id=1540617331 nonce_str=sk8kL3CJ4zPcdwLY openid=oaC4153y6k9HtPmoUjjGBywNBX4c out_trade_no=154061733120190627102355527 result_code=SUCCESS return_code=SUCCESS return_msg=OK sign=03922905931080BBEC6AF366313A81093A234F5005701956A5D71BD9BD9C7741 time_end=20190627102443 total_fee=1 trade_state=SUCCESS trade_state_desc=支付成功 trade_type=NATIVE transaction_id=4200000299201906270622452228
string[] dataArray2 = result.Split(new string[] { "\n", "=" }, StringSplitOptions.None);
Dictionary<string, string> _tmpkeyimg2 = new Dictionary<string, string>();
for (int i = 0; i < dataArray2.Length; i++)
{
_tmpkeyimg2.Add(dataArray2[i], dataArray2[++i]);
}
后面还有 38 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。