网站地图    收藏   

主页 > 后端 > 微信开发 >

C#微信开发之旅(十一):V2发货接口 - 微信公众平

来源:自学PHP网    时间:2015-04-14 12:38 作者: 阅读:

[导读] 用户支付完成后,V2版本微信支付需要调用发货接口,否则微信会告警并且用户也可以进行维权,总之会有灰常多的事情: 1 public void DeliverNotify() 2 { 3...

用户支付完成后,V2版本微信支付需要调用发货接口,否则微信会告警并且用户也可以进行维权,总之会有灰常多的事情:

 1         public void DeliverNotify()
 2         {
 3             string openId = string.Empty; //买家openid
 4             string transactionId = string.Empty;//微信交易单号
 5             string orderNo = string.Empty;//我们自己的订单号,文档中的out_trade_no
 6 
 7 
 8             WxPayModel model = WxPayModel.Create();
 9             string postData = model.CreateDeliverNotifyPackage(openId, transactionId, orderNo);
10             WeiXinHelper.DeliverNotify(postData);
11         }

下面是创建发货通知json的方法:

 1         /// <summary>
 2         /// 创建发货成功 Package (已测试通过)
 3         /// </summary>
 4         /// <returns></returns>
 5         public string CreateDeliverNotifyPackage(string openId, string transId, string out_trade_no)
 6         {
 7             Dictionary<string, string> nativeObj = new Dictionary<string, string>();
 8 
 9             nativeObj.Add("appid", AppId);
10             nativeObj.Add("openid", openId);
11             nativeObj.Add("transid", transId);
12             nativeObj.Add("out_trade_no", out_trade_no);
13             nativeObj.Add("deliver_timestamp", ((DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000).ToString());
14             nativeObj.Add("deliver_status", "1");
15             nativeObj.Add("deliver_msg", "ok");
16             nativeObj.Add("app_signature", GetBizSign(nativeObj));
17             nativeObj.Add("sign_method", "sha1");
18 
19             var entries = nativeObj.Select(d => string.Format("\"{0}\": \"{1}\"", d.Key, d.Value));
20 
21             return "{" + string.Join(",", entries.ToArray()) + "}";
22         }

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论