欢迎光临,了解微信小程序开发,就上易用通!

微信小程序支付c#后台实现

发布:2018-04-25 09:34浏览: 来源:网络 作者:cola

今天为大家带来比较简单的支付后台处理。

首先下载官方的c#模板(WxPayAPI),将模板(WxPayAPI)添加到服务器上,然后在WxPayAPI项目目录中添加两个“一般处理程序” (改名为GetOpenid.ashx、pay.ashx)

之后打开business目录下的JsApiPay.cs,在JsApiPay.cs中修改如下两处

微信小程序支付c#后台实现(图1)

然后在GetOpenid.ashx中加入代码如下:

 

				
  1. public class GetOpenid : IHttpHandler
  2. {
  3. public string openid { get; set; }
  4.  
  5. public void ProcessRequest(HttpContext context)
  6. {
  7.  
  8. string code = HttpContext.Current.Request.QueryString["code"];
  9. WxPayData data = new WxPayData();
  10. data.SetValue("appid", WxPayConfig.APPID);
  11. data.SetValue("secret", WxPayConfig.APPSECRET);
  12. data.SetValue("code", code);
  13. data.SetValue("grant_type", "authorization_code");
  14. string url = "https://api.weixin.qq.com/sns/oauth2/access_token?" + data.ToUrl();
  15.  
  16. //请求url以获取数据
  17. string result = HttpService.Get(url);
  18.  
  19. Log.Debug(this.GetType().ToString(), "GetOpenidAndAccessTokenFromCode response : " + result);
  20.  
  21. //保存access_token,用于收货地址获取
  22. JsonData jd = JsonMapper.ToObject(result);
  23. //access_token = (string)jd["access_token"];
  24.  
  25. //获取用户openid
  26. openid = (string)jd["openid"];
  27. context.Response.Write(openid);//获取H5调起JS API参数
  28.  
  29. }

在pay.ashx中加入代码如下:

 

				
  1. public class pay : IHttpHandler
  2. {
  3.  
  4. public void ProcessRequest(HttpContext context)
  5. {
  6. context.Response.ContentType = "text/plain";
  7.  
  8. string openid = HttpContext.Current.Request.QueryString["openid"];
  9. string total_fee =





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。