You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
4.5 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace POSV
{
/// <summary>
/// 微信支付提交的XML Data数据[查询订单]
/// </summary>
public class WxPayV3OrderRefundRequestData : AbstractRequestData
{
/// <summary>
/// 公众账号ID
/// </summary>
public string AppId { get; set; }
/// <summary>
/// 商户号
/// </summary>
public string MchId { get; set; }
/// <summary>
/// 子商户号
/// </summary>
public string SubMchId { get; set; }
/// <summary>
/// 微信的订单号,建议优先使用
/// </summary>
public string TransactionId { get; set; }
/// <summary>
///商户系统内部的订单号,请确保在同一商户号下唯一
/// </summary>
public string OutTradeNo { get; set; }
/// <summary>
/// 商户退款单号
/// </summary>
public string OutRefundNo { get; set; }
/// <summary>
/// 随机字符串
/// </summary>
public string NonceStr { get; set; }
/// <summary>
/// 订单总金额,单位为分,只能为整数
/// </summary>
public string TotalFee { get; set; }
/// <summary>
/// 退款总金额,订单总金额,单位为分,只能为整数
/// </summary>
public string RefundFee { get; set; }
/// <summary>
/// 货币类型符合ISO 4217标准的三位字母代码默认人民币CNY
/// </summary>
public string RefundFeeType { get; set; }
/// <summary>
/// 退款原因 若商户传入,会在下发给用户的退款消息中体现退款原因
/// </summary>
public string RefundDesc { get; set; }
/// <summary>
/// 签名类型
/// </summary>
public string SignType { get; set; }
/// <summary>
///
/// </summary>
public string Key { get; set; }
public readonly string Sign;
/// <summary>
/// 订单退款 请求参数
/// </summary>
/// <param name="appId"></param>
/// <param name="subAppId"></param>
/// <param name="mchId"></param>
/// <param name="outTradeNo"></param>
/// <param name="signType"></param>
/// <param name="key"></param>
/// <param name="subMchId"></param>
/// <param name="transactionId"></param>
/// <param name="nonceStr"></param>
public WxPayV3OrderRefundRequestData(string appId , string mchId, string subMchId, string key, string nonceStr , string transactionId, string outTradeNo, string outRefundNo,
string totalFee, string refundFee, string refundFeeType, string refundDesc, string signType = null)
{
AppId = appId;
MchId = mchId;
NonceStr = nonceStr;
TransactionId = transactionId;
OutTradeNo = outTradeNo;
SignType = signType;
Key = key;
TotalFee = totalFee;
RefundFee = refundFee;
RefundFeeType = refundFeeType;
RefundDesc = refundDesc;
OutRefundNo = outRefundNo;
SubMchId = subMchId;
#region 设置Request请求参数
//设置package订单参数
NewParameters.Add("appid" , this.AppId); //公众账号ID
NewParameters.Add("mch_id" , this.MchId); //商户号
NewParameters.Add("sub_mch_id", this.SubMchId); //子商户号
NewParameters.Add("transaction_id" , this.TransactionId ?? ""); //微信的订单号
NewParameters.Add("out_trade_no" , this.OutTradeNo ?? ""); //商户系统内部的订单号
NewParameters.Add("nonce_str", this.NonceStr); //随机字符串
NewParameters.Add("out_refund_no", this.OutRefundNo); //商户退款单号
NewParameters.Add("total_fee", this.TotalFee + ""); //订单金额
NewParameters.Add("refund_fee", this.RefundFee + ""); //退款金额
NewParameters.Add("refund_fee_type", this.RefundFeeType); //货币种类
NewParameters.Add("refund_desc", this.RefundDesc); //退款原因
NewParameters.Add("sign_type" , this.SignType); //签名类型
Sign = CreateMd5Sign("key" , this.Key);
NewParameters.Add("sign" , Sign); //签名
#endregion
}
}
}