Exemple #1
0
 /// <summary>
 /// 退款通知对象转换为退款结果对象
 /// </summary>
 /// <param name="sxfRfdNotify"></param>
 /// <returns></returns>
 public TradeResult(SxfRefundNotifyRequest sxfRfdNotify)
 {
     CreateDT      = DateTime.Now;
     MchId3        = sxfRfdNotify.MerchantId;
     StoreId3      = sxfRfdNotify.ShopId;
     OutTradeNo    = sxfRfdNotify.RfdOrderNo;
     PayChannel    = PayTradeHelper.Convert2EnumValue <PayChannel>(sxfRfdNotify.PayChannel);
     ReceiptAmount = sxfRfdNotify.RfdAmt * PayConst.CENT_2_YUAN_RATE;
     TradeState    = PayTradeHelper.Convert2EnumValue <SxfRefundState>(sxfRfdNotify.RfdResult);
     SignType      = sxfRfdNotify.SignType;
     TradeDate     = sxfRfdNotify.RfdDate;
     TradeTime     = sxfRfdNotify.RfdTime;
     TradeType     = (short)QctTradeType.Expense;
     Signature     = sxfRfdNotify.Signature;
     Version       = sxfRfdNotify.Version;
 }
        public object SxfRefundNotify(SxfRefundNotifyRequest reqModel)
        {
            try
            {
                //退款通知日志记录
                PayLogServer.WriteInfo(string.Format("退款通知:{0}", reqModel.ToJson()));

                if (reqModel.Type == PayConst.SXF_TYPE_RFDNOTIFY)
                {
                    NotifyBuilder <SxfRefundNotifyRequest> rfdNotify = new NotifyBuilderForRefund();
                    return(rfdNotify.Build(reqModel));
                }
                else
                {
                    return(SxfPayReturn.Fail(msg: "通知参数type值错误"));
                }
            }
            catch (WebException ex)
            {
                LogEngine.WriteError(string.Format("退款通知异常:{0},请求参数:{1}", ex.Message, reqModel.ToJson()), ex, LogModule.支付交易);
                return(SxfPayReturn.Fail(msg: "通知格式错误"));
            }
        }