来源:自学PHP网 时间:2015-04-14 12:58 作者: 阅读:次
[导读] 用户支付完成后,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