| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- using System;
- using System.Collections.Generic;
- namespace MySystem.Entity.UnionPay
- {
- /// <summary>
- /// 交易结算实时推送请求
- /// </summary>
- public class UnionPaySettlementPushRequest
- {
- /// <summary>
- /// 推送类型,0:交易 1:结算
- /// </summary>
- public int type { get; set; }
- /// <summary>
- /// 详细信息
- /// </summary>
- public object detailInfo { get; set; }
- /// <summary>
- /// 将detailInfo转换为TransactionDetailInfo
- /// </summary>
- /// <returns>TransactionDetailInfo对象</returns>
- public TransactionDetailInfo ToTransactionDetailInfo()
- {
- if (type != 0)
- {
- throw new InvalidOperationException("当前推送类型不是交易数据");
- }
- return Newtonsoft.Json.JsonConvert.DeserializeObject<TransactionDetailInfo>(Newtonsoft.Json.JsonConvert.SerializeObject(detailInfo));
- }
- /// <summary>
- /// 将detailInfo转换为SettlementDetailInfo
- /// </summary>
- /// <returns>SettlementDetailInfo对象</returns>
- public SettlementDetailInfo ToSettlementDetailInfo()
- {
- if (type != 1)
- {
- throw new InvalidOperationException("当前推送类型不是结算数据");
- }
- return Newtonsoft.Json.JsonConvert.DeserializeObject<SettlementDetailInfo>(Newtonsoft.Json.JsonConvert.SerializeObject(detailInfo));
- }
- }
- /// <summary>
- /// 交易结算基础信息
- /// </summary>
- public class DetailInfo
- {
- /// <summary>
- /// 直属代理编号
- /// </summary>
- public string agentId { get; set; }
- /// <summary>
- /// 交易金额(单位:分)
- /// </summary>
- public long amount { get; set; }
- /// <summary>
- /// 业务员编号
- /// </summary>
- public string keeperId { get; set; }
- /// <summary>
- /// 商户编号
- /// </summary>
- public string merchantId { get; set; }
- /// <summary>
- /// 商户名称
- /// </summary>
- public string merchantName { get; set; }
- /// <summary>
- /// 乐刷交易单号
- /// </summary>
- public string orderId { get; set; }
- /// <summary>
- /// 交易状态:5 支付成功,11 支付失败,3 退款成功,31 退款中,32 退款失败,
- /// 40 预授权成功,41 预授权失败,42 预授权撤销成功,43 预授权撤销失败,44 预授权完成成功,
- /// 45 预授权完成失败,48 预授权完成撤销成功,54 预授权完成退款订单
- /// </summary>
- public int state { get; set; }
- /// <summary>
- /// 交易时间
- /// </summary>
- public string time { get; set; }
- /// <summary>
- /// 一级代理编号
- /// </summary>
- public string topAgentId { get; set; }
- /// <summary>
- /// 交易流水号
- /// </summary>
- public string transactionId { get; set; }
- }
- /// <summary>
- /// 交易数据详细信息
- /// </summary>
- public class TransactionDetailInfo : DetailInfo
- {
- /// <summary>
- /// 备注信息
- /// </summary>
- public string attach { get; set; }
- /// <summary>
- /// 刷卡交易卡类型:0-借记卡,2-贷记卡,3-境外卡,4未知
- /// </summary>
- public int? cardType { get; set; }
- /// <summary>
- /// 码牌编号
- /// </summary>
- public string qrcodeNo { get; set; }
- /// <summary>
- /// 支付方式:1-刷卡,2-微信,3-支付宝,6-银联二维码
- /// </summary>
- public int? payType { get; set; }
- /// <summary>
- /// 乐刷sn
- /// </summary>
- public string pinpadUuid { get; set; }
- /// <summary>
- /// pos_sn
- /// </summary>
- public string posSn { get; set; }
- /// <summary>
- /// t0标识: 1、t0 ; 0 T1
- /// </summary>
- public int? t0Flag { get; set; }
- /// <summary>
- /// 交易类型:1-支付, 2-退款
- /// </summary>
- public int? tradeType { get; set; }
- }
- /// <summary>
- /// 结算数据详细信息
- /// </summary>
- public class SettlementDetailInfo : DetailInfo
- {
- /// <summary>
- /// 商户固定手续费,单位:万分之一分
- /// </summary>
- public long? feeFixed { get; set; }
- /// <summary>
- /// 手续费费率(万分之一)
- /// </summary>
- public long? feeRate { get; set; }
- /// <summary>
- /// 手续费(分)
- /// </summary>
- public long? merchantFee { get; set; }
- /// <summary>
- /// 结算金额(分)
- /// </summary>
- public long? settleAmount { get; set; }
- }
- }
|