首页 > 代码库 > C#微信开发之旅(十一):V2发货接口

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

用户支付完成后,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 =http://www.mamicode.com/ 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         }

 

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