zoukankan      html  css  js  c++  java
  • 微信支付-JSAPI支付V3-查询退款

    接口地址

    接口链接:https://api.mch.weixin.qq.com/pay/refundquery

    是否需要证书

    不需要。

    请求参数

    字段名

    变量名

    必填

    类型

    示例值

    描述

    公众账号ID

    appid

    String(32)

    wx8888888888888888

    微信分配的公众账号ID

    商户号

    mch_id

    String(32)

    1900000109

    微信支付分配的商户号

    设备号

    device_info

    String(32)

    013467007045764

    商户自定义的终端设备号,如门店编号、设备的ID等

    随机字符串

    nonce_str

    String(32)

    5K8264ILTKCH16CQ2502SI8ZNMTM67VS

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

    签名

    sign

    String(32)

    C380BEC2BFD727A4B6845133519F3AD6

    签名,详见签名生成算法

    微信订单号

    transaction_id

    String(28)

    1217752501201407033233368018

    微信订单号

    商户订单号

    out_trade_no

    String(32)

    1217752501201407033233368018

    商户系统内部的订单号

    商户退款单号

    out_refund_no

    String(32)

    1217752501201407033233368018

    商户退款单号

    微信退款单号

    refund_id

    String(28)

    1217752501201407033233368018

    微信退款单号

    refund_id、out_refund_no、out_trade_no、transaction_id四个参数必填一个,如果同时存在优先级为:

    refund_id>out_refund_no>transaction_id>out_trade_no

    返回数据

    字段名

    变量名

    必填

    类型

    示例值

    描述

    返回状态码

    return_code

    String(16)

    SUCCESS

    SUCCESS/FAIL

    返回信息

    return_msg

    String(128)

    签名失败

    返回信息,如非空,为错误原因

    签名失败

    参数格式校验错误

    以下字段在return_code为SUCCESS的时候有返回

    字段名

    变量名

    必填

    类型

    示例值

    描述

    业务结果

    result_code

    String(16)

    SUCCESS

    SUCCESS/FAIL

    SUCCESS退款申请接收成功,结果通过退款查询接口查询

    FAIL

    错误码

    err_code

    String(32)

    SYSTEMERROR

    错误码详见第6节

    错误描述

    err_code_des

    String(32)

    系统错误

    结果信息描述

    公众账号ID

    appid

    String(32)

    wx8888888888888888

    微信分配的公众账号ID

    商户号

    mch_id

    String(32)

    1900000109

    微信支付分配的商户号

    设备号

    device_info

    String(32)

    013467007045764

    微信支付分配的终端设备号,与下单一致

    随机字符串

    nonce_str

    String(28)

    5K8264ILTKCH16CQ2502SI8ZNMTM67VS

    随机字符串,不长于32位

    签名

    sign

    String(32)

    C380BEC2BFD727A4B6845133519F3AD6

    签名,详见签名算法

    微信订单号

    transaction_id

    String(32)

    1217752501201407033233368018

    微信订单号

    商户订单号

    out_trade_no

    String(32)

    1217752501201407033233368018

    商户系统内部的订单号

    订单总金额

    total_fee

    Int

    100

    订单总金额,单位为分,只能为整数,详见支付金额

    订单金额货币种类

    fee_type

    String(8)

    CNY

    订单金额货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型

    现金支付金额

    cash_fee

    Int

    100

    现金支付金额,单位为分,只能为整数,详见支付金额

    货币种类

    cash_fee_type

    String(8)

    CNY

    货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型

    退款金额

    refund_fee

    Int

    100

    退款总金额,单位为分,可以做部分退款

    代金券或立减优惠退款金额

    coupon_refund_fee

    Int

    100

    代金券或立减优惠退款金额=订单金额-现金退款金额,注意:满立减金额不会退回

    退款笔数

    refund_count

    Int

    1

    退款记录数

    商户退款单号

    out_refund_no_$n

    String(32)

    1217752501201407033233368018

    商户退款单号

    微信退款单号

    refund_id_$n

    String(28)

    1217752501201407033233368018

    微信退款单号

    退款渠道

    refund_channel_$n

    String(16)

    ORIGINAL

    ORIGINAL—原路退款

    BALANCE—退回到余额

    退款金额

    refund_fee_$n

    Int

    100

    退款总金额,单位为分,可以做部分退款

    货币种类

    fee_type_$n

    String(8)

    CNY

    货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型

    代金券或立减优惠退款金额

    coupon_refund_fee_$n

    Int

    100

    代金券或立减优惠退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠

    代金券或立减优惠使用数量

    coupon_refund_count_$n

    Int

    1

    代金券或立减优惠使用数量 ,$n为下标,从1开始编号

    代金券或立减优惠批次ID

    coupon_refund_batch_id_$n_$m

    String(20)

    100

    批次ID ,$n为下标,$m为下标,从1开始编号

    代金券或立减优惠ID

    coupon_refund_id_$n_$m

    String(20)

    10000 

    代金券或立减优惠ID, $n为下标,$m为下标,从1开始编号

    单个代金券或立减优惠支付金额

    coupon_refund_fee_$n_$m

    Int

    100

    单个代金券或立减优惠支付金额, $n为下标,$m为下标,从1开始编号

    退款状态

    refund_status_$n

    String(16)

    SUCCESS

    退款状态:

    SUCCESS—退款成功

    FAIL—退款失败

    PROCESSING—退款处理中

    NOTSURE—未确定,需要商户原退款单号重新发起

    CHANGE—转入代发,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,资金回流到商户的现金帐号,需要商户人工干预,通过线下或者财付通转账的方式进行退款。

    后台代码:

    /// <summary>
            /// 查询退款
            /// </summary>
            /// <param name="trade"></param>
            /// <returns></returns>
            public JsonResult RefundQuery(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("transaction_id", "");//微信订单号
                packageReqHandler.SetParameter("out_trade_no", trade.TRADE_NO);//商户系统内部的订单号
                //packageReqHandler.SetParameter("out_refund_no", "");//商户退款单号
                //packageReqHandler.SetParameter("refund_id", "");//微信退款单号
                //注意:refund_id、out_refund_no、out_trade_no、transaction_id四个参数必填一个,如果同时存在优先级为:refund_id>out_refund_no>transaction_id>out_trade_no
    
                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);
    
                string return_code = res.Element("xml").Element("return_code").Value;
    
                Hashtable hashtable = new Hashtable();
    
                return Json(hashtable);
            }
  • 相关阅读:
    T3054 高精度练习-文件操作 codevs
    0812—①
    T1553 互斥的数 codevs
    T1229 数字游戏 codevs
    T3187 队列练习3 codevs
    Android NDK工程的编译和链接以及使用gdb进行调试
    PE文件附加数据感染之Worm.Win32.Agent.ayd病毒分析
    PE文件加节感染之Win32.Loader.bx.V病毒分析
    Android动态调试so库JNI_Onload函数-----基于IDA实现
    android在JNI_OnLoad入口函数下断点动态调试so库
  • 原文地址:https://www.cnblogs.com/rockchen/p/4479033.html
Copyright © 2011-2022 走看看