C#微信登录支付Api > 微信支付结果通知中的参数


微信支付结果通知中的参数


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ZmjWxApi
{
    /// <summary>
    /// 交易类型
    /// </summary>
    public enum EWxTradeType
    {
        /// <summary>
        /// 公众号支付
        /// </summary>
        JSAPI,
        /// <summary>
        /// 扫码支付
        /// </summary>
        NATIVE,
        /// <summary>
        /// APP支付
        /// </summary>
        APP,
        /// <summary>
        /// 付款码支付
        /// </summary>
        MICROPAY,
        /// <summary>
        /// H5支付
        /// </summary>
        MWEB,
        /// <summary>
        /// 刷脸支付
        /// </summary>
        FACEPAY
    }
    /// <summary>
    /// 交易状态
    /// </summary>
    public enum EWxTradeState
    {
        /// <summary>
        /// 支付成功
        /// </summary>
        SUCCESS,
        /// <summary>
        /// 转入退款
        /// </summary>
        REFUND,
        /// <summary>
        /// 未支付
        /// </summary>
        NOTPAY,
        /// <summary>
        /// 已关闭
        /// </summary>
        CLOSED,
        /// <summary>
        /// 已撤销(仅付款码支付会返回)
        /// </summary>
        REVOKED,
        /// <summary>
        /// 用户支付中(仅付款码支付会返回)
        /// </summary>
        USERPAYING,
        /// <summary>
        /// 支付失败(仅付款码支付会返回)
        /// </summary>
        PAYERROR,
    }
    /// <summary>
    /// 优惠范围
    /// </summary>
    public enum EWxPromotionScope
    {
        /// <summary>
        /// 全场代金券
        /// </summary>
        GLOBAL,
        /// <summary>
        /// 单品优惠
        /// </summary>
        SINGLE,
    }
    /// <summary>
    /// 优惠类型
    /// </summary>
    public enum EWxPromotionType
    {
        /// <summary>
        /// 充值型代金券
        /// </summary>
        CASH,
        /// <summary>
        /// 免充值型代金券
        /// </summary>
        NOCASH,
    }
    /// <summary>
    /// 微信支付结果通知中的参数
    /// </summary>
    public class WxNotifyParam5
    {
        /// <summary>
        /// 通知的唯一ID string[1,36] 必填
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("i")]
        public string NotifyId { get; set; }
        /// <summary>
        /// 通知创建的时间 string[1,32] 必填
        /// 通知创建的时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss.表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示北京时间2015年05月20日13点29分35秒。
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("crte_time")]
        public string CreateTimeA { get; set; }
        /// <summary>
        /// 通知的类型 string[1,32] 必填
        /// 支付成功通知的类型为TRANSACTION.SUCCESS
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("eent_type")]
        public string EventTy { get; set; }
        /// <summary>
        /// 通知的资源数据类型 string[1,32] 必填
        /// 支付成功通知为encrypt-resource
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("resoure_type")]
        public string ResourceTy { get; set; }
        /// <summary>
        /// 通知资源数据 必填
        /// json格式,
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("resouce")]
        public WxNotifyResource Resources { get; set; }
        /// <summary>
        /// 回调摘要 string[1,64] 必填
        /// 如:支付成功
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("summary")]
        public string Summarys { get; set; }
    }
    /// <summary>
    /// 通知资源数据 json格式,
    /// </summary>
    public class WxNotifyResource
    {
        /// <summary>
        /// 对开启结果数据进行加密的加密算法,目前只支持AEAD_AES_256_GCM
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("algorithm")]
        public string Algorithm { get; set; }
        /// <summary>
        /// Base64编码后的开启/停用结果数据密文
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("cipertext")]
        public string CipherTexts { get; set; }
        /// <summary>
        /// 附加数据
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("associated_dataa")]
        public string AssociatedDataAll { get; set; }
        /// <summary>
        /// 原始回调类型,为transaction
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("originaltypef")]
        public string OriginalType { get; set; }
        /// <summary>
        /// 加密使用的随机串
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("nonc")]
        public string Nonce { get; set; }
    }
    




    /// <summary>
    /// 微信商户的微信通知内容
    /// </summary>
    public class WxPayOrderMessage : WxOrderMessage
    {
        /// <summary>
        /// 应用ID
        /// 由微信生成的应用ID,全局唯一。请求基础下单接口时请注意APPID的应用属性,例如公众号场景下,需使用应用属性为公众号的APPID
        /// 示例值:wxd678efh567hg6787
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("appid")]
        public string AppId { get; set; }
        /// <summary>
        /// 直连商户号
        /// 直连商户的商户号,由微信支付生成并下发。
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("mchid")]
        public string MchId { get; set; }
        /// <summary>
        /// 支付者信息
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("payer")]
        public WxPayerParam Payer { get; set; }
    }
    /// <summary>
    /// 微信服务商的微信通知内容
    /// </summary>
    public class WxPartnerOrderMessage : WxOrderMessage
    {
        /// <summary>
        /// 服务商应用ID string[1,32] 必填
        /// 由微信生成的应用ID,全局唯一。请求基础下单接口时请注意APPID的应用属性,例如公众号场景下,需使用应用属性为公众号的服务号APPID
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("sp_appid")]
        public string SpAppid { get; set; }
        /// <summary>
        /// 服务商户号 string[1,32] 必填
        /// 服务商户号,由微信支付生成并下发
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("sp_mchid")]
        public string SpMchid { get; set; }
        /// <summary>
        /// 子商户应用ID string[1,32]
        /// 子商户申请的应用ID,全局唯一。请求基础下单接口时请注意APPID的应用属性,例如公众号场景下,需使用应用属性为公众号的APPID
        /// 若sub_openid有传的情况下,sub_appid必填,且sub_appid需与sub_openid对应
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("sub_appid")]
        public string SubAppid { get; set; }
        /// <summary>
        /// 子商户号 string[1,32] 必填
        /// 子商户的商户号,由微信支付生成并下发。
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")]
        public string SubMchid { get; set; }
        /// <summary>
        /// 支付者信息
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("payer")]
        public WxPartnerPayerParam Payer { get; set; }
    }
    /// <summary>
    /// 优惠功能
    /// 优惠功能,享受优惠时返回该字段。
    /// </summary>
    public class WxNotifyPromotion
    {
        /// <summary>
        /// 券ID
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("coupon_id")]
        public string CouponId { get; set; }
        /// <summary>
        /// 优惠名称(非必须)1-64
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("name")]
        public string Name { get; set; }
        /// <summary>
        /// 优惠范围(非必须)
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("scope")]
        public WxPromotionScope PromotionScope { get; set; }
        /// <summary>
        /// 优惠类型(非必须)
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("type")]
        public WxPromotionType PromotionType { get; set; }
        /// <summary>
        /// 优惠券面额
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("amount")]
        public int Amount { get; set; }
        /// <summary>
        /// 活动ID(非必须)1-32
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("stock_id")]
        public string StockId { get; set; }
        /// <summary>
        /// 微信出资(非必须)
        /// 微信出资,单位为分
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("wechatpay_contribute")]
        public int WechatpayContribute { get; set; }
        /// <summary>
        /// 商户出资(非必须)
        /// 商户出资,单位为分
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("merchant_contribute")]
        public int MerchantContribute { get; set; }
        /// <summary>
        /// 其他出资,单位为分(非必须)
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("other_contribute")]
        public int OtherContribute { get; set; }
        /// <summary>
        /// 优惠币种(非必须)
        /// CNY:人民币,境内商户号仅支持人民币。
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("currency")]
        public string Currency { get; set; }
        /// <summary>
        /// 单品列表(非必须)
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("goods_detail")]
        public WxNotifyPromotionGoods[] Goods;
    }
    /// <summary>
    /// 优惠单品列表
    /// </summary>
    public class WxNotifyPromotionGoods
    {
        /// <summary>
        /// 商品编码 1-32
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("goods_id")]
        public string Id { get; set; }
        /// <summary>
        /// 商品个数
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("quantity")]
        public int Quantity { get; set; }
        /// <summary>
        /// 商品单价,单位为分
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("unit_price")]
        public int UnitPrice { get; set; }
        /// <summary>
        /// 商品优惠金额
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("discount_amount")]
        public int DiscountAmount { get; set; }
        /// <summary>
        /// 商品的备注(非必须)1-128
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("goods_remark")]
        public string Remark { get; set; }
    }
    /// <summary>
    /// 支付场景信息
    /// </summary>
    public class WxNotifySceneInfo
    {
        /// <summary>
        /// 微信用户的设备编号,识别不同用户的不同设备
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("device_id")]
        public string DeviceId { get; set; }
    }
    /// <summary>
    /// 微信单次交易结果
    /// </summary>
    public class WxNotifyAmount
    {
        /// <summary>
        /// 用户支付金额,单位为分。必填
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("payer_total")]
        public int PayerTotal { get; set; }
        /// <summary>
        /// 订单总金额,单位为分 必填
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("total")]
        public int Total { get; set; }
        /// <summary>
        /// 订单币种:CNY string[1,16] 必填
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("currency")]
        public string Currency { get; set; }
        /// <summary>
        /// 用户支付币种:CNY string[1,16] 必填
        /// </summary>
        [System.Text.Json.Serialization.JsonPropertyName("payer_currency")]
        public string PayerCurrency { get; set; }
    }
}