Esempio n. 1
0
        /// <summary>
        /// 新增支付历史
        /// </summary>
        /// <param name="paymentHistoryInfo">实体信息</param>
        /// <returns>返回成功与否</returns>
        public bool UpdatePaymentHistory(Business_Personnel_Information personInfoModel, Business_PaymentHistory_Information paymentHistoryInfo, WxPayData notifyData)
        {
            paymentHistoryInfo.PaymentBrokers = "微信";
            paymentHistoryInfo.Beneficiary    = "大众出租汽车分公司";
            paymentHistoryInfo.Description    = WxPayConfig.BODY;
            paymentHistoryInfo.Remarks        = notifyData.GetValue("out_trade_no").ToString(); //商户单号
            var paymentHistoryInfoOld = _weChatRevenueServer.GetPaymentHistory(paymentHistoryInfo.Remarks);

            if (notifyData.GetValue("return_code").ToString() == "SUCCESS" && notifyData.GetValue("result_code").ToString() == "SUCCESS")
            {
                paymentHistoryInfo.ReceiptAccount = notifyData.GetValue("mch_id").ToString();                       //商户号
                paymentHistoryInfo.TransactionID  = notifyData.GetValue("transaction_id").ToString();               //微信支付订单号

                paymentHistoryInfo.ActualAmount = decimal.Parse(notifyData.GetValue("total_fee").ToString()) / 100; //实际付款
                string timeEnd = notifyData.GetValue("time_end").ToString();
                string year    = timeEnd.Substring(0, 4);
                string month   = timeEnd.Substring(4, 2);
                string day     = timeEnd.Substring(6, 2);
                string hour    = timeEnd.Substring(8, 2);
                string minute  = timeEnd.Substring(10, 2);
                string second  = timeEnd.Substring(12, 2);
                paymentHistoryInfo.PayDate       = DateTime.Parse(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second); //付款时间
                paymentHistoryInfo.PaymentStatus = "1";                                                                                       //支付成功

                SynchronousReceivableSystem(personInfoModel, paymentHistoryInfo, paymentHistoryInfoOld);
            }
            else
            {
                paymentHistoryInfo.TransactionID    = notifyData.GetValue("out_trade_no").ToString(); //商户单号
                paymentHistoryInfo.PaymentAmount    = 0;
                paymentHistoryInfo.PayDate          = DateTime.Now;
                paymentHistoryInfo.PaymentStatus    = "2"; //支付失败
                paymentHistoryInfo.ErrorCode        = notifyData.GetValue("result_code").ToString();
                paymentHistoryInfo.ErrorDescription = notifyData.GetValue("return_msg").ToString();
            }

            return(_weChatRevenueServer.UpdatePaymentHistory(personInfoModel, paymentHistoryInfo, paymentHistoryInfoOld));
        }