微信支付-JSAPI支付V3-下载对账单

接口链接

https://api.mch.weixin.qq.com/pay/downloadbill

是否需要证书

不需要。

请求参数


字段名


变量名


必填


类型


示例值


描述


公众账号ID


appid



String(32)


wx8888888888888888


微信分配的公众账号ID


商户号


mch_id



String(32)


1900000109


微信支付分配的商户号


设备号


device_info



String(32)


013467007045764


微信支付分配的终端设备号,填写此字段,只下载该设备号的对账单


随机字符串


nonce_str



String(32)


5K8264ILTKCH16CQ2502SI8ZNMTM67VS


随机字符串,不长于32位。推荐随机数生成算法


签名


sign



String(32)


C380BEC2BFD727A4B6845133519F3AD6


签名,详见签名生成算法


对账单日期


bill_date



String(8)


20140603


下载对账单的日期,格式:20140603


账单类型


bill_type



String(8)


ALL


ALL,返回当日所有订单信息,默认值

SUCCESS,返回当日成功支付的订单

REFUND,返回当日退款订单

REVOKED,已撤销的订单

后台代码:

  /// <summary>
        /// 下载对账单
        /// </summary>
        /// <param name="trade"></param>
        /// <returns></returns>
        public JsonResult DownloadBill(TRADE_Model trade)
        {

            string nonceStr = Senparc.Weixin.MP.TenPayLibV3.TenPayV3Util.GetNoncestr();

            Senparc.Weixin.MP.TenPayLibV3.RequestHandler packageReqHandler = new Senparc.Weixin.MP.TenPayLibV3.RequestHandler(null);

            packageReqHandler.SetKey(Key);

            packageReqHandler.SetParameter("appid", AppId);
            packageReqHandler.SetParameter("mch_id", MchId);
            packageReqHandler.SetParameter("nonce_str", nonceStr);
            packageReqHandler.SetParameter("bill_date", "20150505");//下载对账单的日期,格式:20140603

            //ALL,返回当日所有订单信息,默认值
            //SUCCESS,返回当日成功支付的订单
            //REFUND,返回当日退款订单
            //REVOKED,已撤销的订单
            packageReqHandler.SetParameter("bill_type","ALL");//账单类型

            string querysign = packageReqHandler.CreateMd5Sign("key", Key);

            packageReqHandler.SetParameter("sign", querysign);                        //签名

            string data = packageReqHandler.ParseXML();

            var result = Senparc.Weixin.MP.AdvancedAPIs.TenPayV3.RefundQuery(data);
            var res = System.Xml.Linq.XDocument.Parse(result);

            //对账单的返回参数:
            //ALL:    交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,微信退款单号,商户退款单号,退款金额, 代金券或立减优惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率
            //SUCCESS:交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额, 代金券或立减优惠金额,商品名称,商户数据包,手续费,费率
            //REFUND: 交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额, 代金券或立减优惠金额,退款申请时间,退款成功时间,微信退款单号,商户退款单号,退款金额, 代金券或立减优惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率

            Hashtable hashtable = new Hashtable();

            return Json(hashtable);
        }
时间: 2024-10-26 17:16:45

微信支付-JSAPI支付V3-下载对账单的相关文章

微信支付-JSAPI支付V3-发起一次支付请求

JSAPI支付业务流程:图片来源于:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=7_4 准备工作:需要先在项目中引用Senparc.WeiXin.dll和Senparc.WeiXin.MP.dll,开源项目见:https://github.com/JeffreySu/WeiXinMPSDK 第一步:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 第二步:引入JS文件 在需要调用JS接口的

微信支付JSAPI支付问题

JS支付脚本没有执行 调起微信支付的JS脚本为 WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId": "{{.AppId}}", //公众号名称,由商户传入 "timeStamp": "{{.TimeStamp}}",//时间戳,自1970年以来的秒数 "nonceStr": "{{.NonceStr}}",//随机串 &qu

微信支付-JSAPI支付V3-查询订单

接口链接 https://api.mch.weixin.qq.com/pay/orderquery 请求参数: 字段名 变量名 必填 类型 示例值 描述 公众账号ID appid 是 String(32) wx8888888888888888 微信分配的公众账号ID 商户号 mch_id 是 String(32) 1900000109 微信支付分配的商户号 微信订单号 transaction_id 否 String(32) 013467007045764 微信的订单号,优先使用 商户订单号 ou

C# 微支付 JSAPI支付方式 V3.3.6版本

<script type="text/javascript">//结算 (订单号) function PayClearing(num) { $.ajax({ type: "POST", url: "/***/handler/***.ashx", data: "otype=Account&ids=" + num , async: false, success: function (msg) { if (msg

微信支付-JSAPI支付V3-关闭订单

接口链接 https://api.mch.weixin.qq.com/pay/closeorder 请求参数 字段名 变量名 必填 类型 示例值 描述 公众账号ID appid 是 String(32) wx8888888888888888 微信分配的公众账号ID 商户号 mch_id 是 String(32) 1900000109 微信支付分配的商户号 商户订单号 out_trade_no 否 String(32) 1217752501201407033233368018 商户系统内部的订单号

微信支付-JSAPI支付V3-支付通知接口

首先我们会在配置支付请求参数的时候,配置了回调地址(notify_url),支付完成微信服务器就会将结果推送到这个地址上,我们只是需要获取那些数据就可以了,然后根据处理相关业务. 后台代码: /// <summary> /// 微信服务器支付结果通知接口 /// </summary> /// <returns></returns> public ActionResult PayNotifyUrl() { Senparc.Weixin.MP.TenPayLib

asp.net微信jsapi支付

1.前台页面: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <meta name="viewpo

微信JSApi支付~集成到MVC环境后的最后一个坑(网上没有这种解决方案)

大叔第一人 之前写了关于微信的坑<微信JSApi支付~坑和如何填坑>,今天将微信的jsapi支付封装到了MVC环境里,当然也出现了一些新的坑,如支付参数应该是Json对象而不是Json字符串,这样也会应付引起“get_brand_wcpay_request:fail_invalid appid”这个大家都知道的异常,呵呵,解决方案网上说是“授权目录“,事实上,还有一种原因,那就是你的WeixinJSBridge.invoke方法里的参数应该是Json对象而不是字符串,这才是最重要的. 代码我们

C#微信开发之旅(九):JSAPI支付(V3)(相关代码待补全)

微信开发遇到最复杂的就是支付了,无论V2还是V3.这篇文章将给出全套的V3版本JSAPI支付代码,包括预支付->支付->订单查询->通知->退款,其中前三步已经上线应用,退款只是简单测试了一下,大家要用的话需要谨慎... 一.预支付&支付 实际就是讲订单信息交给微信端,返回给我们一个预支付id(与V2app支付相似),支付时将预支付id交给微信处理.注意:预支付id 需存储,每个out_trade_no(我们自己的订单号)只能对应一个预支付id.代码奉上:(mvc demo