获取微信支付传回来的数据

1.MVC控制器

/// <summary>
/// 付款返回的数据
/// </summary>
/// <returns></returns>
public string Notify_url()
{
String xmlData = getPostStr();
//保存付款成功过来的数据
Log4Helper.ErrorInfo("GXL", xmlData);
WxAPIService.PayResult(xmlData);
return "SUCCESS";
}

2.获取参数的方法

//获得Post过来的数据
public static string getPostStr()
{
Int32 intLen = Convert.ToInt32(System.Web.HttpContext.Current.Request.InputStream.Length);
byte[] b = new byte[intLen];
System.Web.HttpContext.Current.Request.InputStream.Read(b, , intLen);
return System.Text.Encoding.UTF8.GetString(b);
}

3.处理付款结果

 /// <summary>
/// 付款结果处理
/// </summary>
public static void PayResult(string ResultMsg)
{
if(!string.IsNullOrEmpty(ResultMsg))
{
var xml = new XmlDocument();
xml.LoadXml(ResultMsg);
//处理返回的值
DataSet ds = new DataSet();
StringReader stram = new StringReader(ResultMsg);
XmlTextReader reader = new XmlTextReader(stram);
ds.ReadXml(reader);
string return_code = ds.Tables[].Rows[]["return_code"].ToString();
if (return_code.ToUpper() == "SUCCESS")
{
//通信成功
string result_code = ds.Tables[].Rows[]["result_code"].ToString();//业务结果
if (result_code.ToUpper() == "SUCCESS")
{
string appid = ds.Tables[].Rows[]["appid"].ToString();
string attach = ds.Tables[].Rows[]["attach"].ToString();
string mch_id = ds.Tables[].Rows[]["mch_id"].ToString();
string openid = ds.Tables[].Rows[]["openid"].ToString();
Int32 total_fee = Convert.ToInt32(ds.Tables[].Rows[]["total_fee"].ToString());
string transaction_id = ds.Tables[].Rows[]["transaction_id"].ToString();
Log4Helper.ErrorInfo("GXL", "付款成功:attach:" + attach + ",小程序appID:" + appid + ",商户号:" + mch_id + ",支付人:" + openid + ",付款金额:" + total_fee + ",商户交易号:" + transaction_id);
}
else
{
Log4Helper.ErrorInfo("GXL", "支付失败:" + ResultMsg);
}
}
else
{
Log4Helper.ErrorInfo("GXL", "支付失败:" + ResultMsg);
}
}
}

.NET开发微信小程序-接收微信支付回调数据的更多相关文章

  1. 微信小程序之微信支付C#后台(统一下单)

    一.微信小程序支付 1.微信小程序端请求支付接口 商户在小程序中先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易后调起支付.具体可以查看接口示例. 接口传入参数示例: <xm ...

  2. 微信小程序(微信应用号)开发ide安装解决方法

    这两天整个技术圈都炸锅了,微信小程序(微信应用号)发布内测,首批200家收到邀请,但是没受邀请的同学,也不用担心,下面介绍一下解决方法. 首先需要下载ide,昨天只需要下载0.9版本的编辑器并替换文件 ...

  3. 微信小程序(原名微信应用号)开发工具0.9版安装教程

    微信小程序全称微信公众平台·小程序,原名微信公众平台·应用号(简称微信应用号) 声明 微信小程序开发工具类似于一个轻量级的IDE集成开发环境,目前仅开放给了少部分受微信官方邀请的人士(据说仅200个名 ...

  4. 微信小程序之微信登陆 —— 微信小程序教程系列(20)

    简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自 ...

  5. 微信小程序结合微信公众号进行消息发送

    微信小程序结合微信公众号进行消息发送 由于小程序的模板消息已经废弃了,官方让使用订阅消息功能.而订阅消息的使用限制比较大,用户必须得订阅.需要获取用户同意接收消息的权限.用户必须得和小程序有交互的时候 ...

  6. 微信小程序--仿微信小程序朋友圈Pro(内容发布、点赞、评论、回复评论)

    微信小程序--仿微信小程序朋友圈Pro(内容发布.点赞.评论.回复评论) 项目开源地址M朋友圈Pro 求个Star 项目背景 ​ 基于原来的开源项目 微信小程序仿朋友圈功能开发(发布.点赞.评论等功能 ...

  7. 微信小程序(微信应用号)组件讲解[申明:来源于网络]

    微信小程序(微信应用号)组件讲解[申明:来源于网络] 地址:http://www.cnblogs.com/muyixiaoguang/p/5902008.html

  8. 微信小程序和微信公众号的id是一个吗

    首先,简单说下我遇到的问题是我们的程序调用微信小程序得到openid,然后通过openID得到用户的唯一标识,用户得以登录,然而,当我们调用微信公众号也同样的到openid,同一以用户两个不同的ope ...

  9. [转]微信小程序、微信公众号、H5之间相互跳转

    本文转自:https://www.cnblogs.com/colorful-paopao1/p/8608609.html 转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加 ...

随机推荐

  1. 新IO建立的聊天程序

    服务端: package com.net.scday3; import java.io.IOException; import java.net.InetSocketAddress; import j ...

  2. PostgreSQL两种分页方法查询时间比较

    数据库中存了3000W条数据,两种分页查询测试时间 第一种 SELECT * FROM test_table WHERE i_id> limit 100; Time: 0.016s 第二种 SE ...

  3. ”()“和”[]“引发的血案——由此引出C++中关键词new

    先来看一个程序吧: #include <iostream> #include <cassert> using namespace std; int main() { ; int ...

  4. mybatis源码之BaseStatementHandler

    /** * @author Clinton Begin */ public abstract class BaseStatementHandler implements StatementHandle ...

  5. RHEL6.4安装nginx

    RHEL6.4安装nginx 下载nginx-1.6.1.tar.gz, 解压进入目录: $ yum install pcre-devel $ ./configure --with-http_ssl_ ...

  6. ZooKeeper的快速搭建

    本文是ZooKeeper的快速搭建,旨在帮助大家以最快的速度完成一个ZK集群的搭建,以便开展其它工作.本方不包含多余说明及任何调优方面的高级配置.如果要进行更深一层次的配置,请移步<ZooKee ...

  7. The 13th tip of DB Query Analyzer, powerful processing EXCEL file

    The 13thtip of DB Query Analyzer, powerful processing EXCEL file MA Genfeng (Guangdong UnitollServic ...

  8. netsh自动配置网络

    工作需要经常在多个网络中切换,每次都要配置ip等,写个脚本一键完成配置: netsh interface ip set address "本地连接" static "ip ...

  9. python socketserver框架解析

    socketserver框架是一个基本的socket服务器端框架, 使用了threading来处理多个客户端的连接, 使用seletor模块来处理高并发访问, 是值得一看的python 标准库的源码之 ...

  10. 深入浅出JWT(JSON Web Token )

    1. JWT 介绍 JSON Web Token(JWT)是一个开放式标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON对象安全传输信息. 这些信息可以通过数字签名进行 ...