Пример #1
0
        public ContentResult ShopEnterpriseNotify_Post(string id, string outid)
        {
            Log.Info("[SENP]" + Core.Helper.WebHelper.GetRawUrl());
            id = DecodePaymentId(id);
            string errorMsg = string.Empty;
            string response = string.Empty;
            var    _iOperationLogService = ServiceApplication.Create <IOperationLogService>();
            var    withdrawId            = long.Parse(outid);
            var    withdrawData          = BillingApplication.GetShopWithDrawInfo(withdrawId);

            if (withdrawData == null)
            {
                Log.Info("[ShopEnterpriseNotify_Post]" + id + " ^ " + outid);
                throw new HimallException("参数错误");
            }
            try
            {
                var payment = Core.PluginsManagement.GetPlugin <IPaymentPlugin>(id);
                var payInfo = payment.Biz.ProcessEnterprisePayNotify(HttpContext.Request);
                if (withdrawData.Status == Himall.CommonModel.WithdrawStaus.PayPending)
                {
                    BillingApplication.ShopApplyWithDrawCallBack(withdrawId, Himall.CommonModel.WithdrawStaus.Succeed, payInfo, "支付宝提现成功", Request.UserHostAddress, "异步回调");
                }
                response = payment.Biz.ConfirmPayResult();
            }
            catch (Exception ex)
            {
                BillingApplication.ShopApplyWithDrawCallBack(withdrawId, Himall.CommonModel.WithdrawStaus.Fail, null, "支付宝提现失败", Request.UserHostAddress, "异步回调");
                errorMsg = ex.Message;
                Log.Error("ShopEnterpriseNotify_Post", ex);
            }
            return(Content(response));
        }