/// <summary> /// 发起订单退款 /// </summary> /// <param name="refundRequest">退款申请参数</param> /// <returns></returns> public override ApiResultModel <string> RefundPay(RefundBaseRequest refundRequest) { var res = new ApiResultModel <string>() { Code = ApiResultCode.Fail, Message = "fail" }; string total_fee = refundRequest.OrderMoney.ToString("#0.00"); string refund_fee = refundRequest.RefundMoney.ToString("#0.00"); //退款请求 IAopClient client = new DefaultAopClient(AliPayConfig.gatewayUrl, AliPayConfig.AppId, AliPayConfig.privatekey, "json", "1.0", AliPayConfig.sign_type, AliPayConfig.alipublickey, AliPayConfig.charset, false); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); AlipayTradeRefundModel alipayModel = new AlipayTradeRefundModel() { OutTradeNo = refundRequest.OrderCode, TradeNo = refundRequest.TradeNo, RefundAmount = refund_fee, RefundReason = "用户申请退款", }; request.SetBizModel(alipayModel); AlipayTradeRefundResponse response = client.Execute(request); //2.2、记录请求日志 //记录支付宝退款调用的日志 //WritePostThirdApi(ThirdPlatformBusinessType.Payment, orderRefund.OrderCode, ThirdPlatformType.Alipay, AliPayConfig.gatewayUrl, request.BizContent, DateTime.Now, response.Body, DateTime.Now, true); if (response.Code != "10000") { res.Message = response.Msg; return(res); } res.Code = ApiResultCode.Success; res.Message = "ok"; return(res); }
public Result<AlipayRefundResult> Refund(string originalOrderNo, string newRefundRequestNo, decimal refundAmount, string refundReason) { var model = new AlipayTradeRefundModel { OutTradeNo = originalOrderNo, OutRequestNo = newRefundRequestNo, RefundAmount = refundAmount.ToString("f2"), RefundReason = refundReason }; var request = new AlipayTradeRefundRequest(); request.SetBizModel(model); try { var response = _alipay.Execute(request); var ok = response is { IsError: false, Msg: "Success" }; if ( !ok ) { return new Failure<AlipayRefundResult>(response.SubMsg ?? response.Msg); } return new Success<AlipayRefundResult> { Data = new AlipayRefundResult { RefundAmount = ok ? refundAmount : 0, AggregatedRefundAmount = response.RefundFee.AsDecimal(), OriginalResult = response } }; } catch ( Exception e ) { return new Failure<AlipayRefundResult>(e.Message); } }
/// <summary> /// 申请退款 /// </summary> /// <param name="requestModel">请求内容</param> /// <returns></returns> public static RefundResponseModel Refund(RefundModel requestModel) { AlipayTradeRefundRequest queryRequset = new AlipayTradeRefundRequest(); queryRequset.BizContent = JsonConvert.SerializeObject(requestModel); LogUtil.WriteAlipayLog("申请退款请求", "请求参数", queryRequset.BizContent); Dictionary <string, string> paramsDict = (Dictionary <string, string>)queryRequset.GetParameters(); AlipayTradeRefundResponse refundResponse = _client.Execute(queryRequset); LogUtil.WriteAlipayLog("申请退款响应", "响应参数", refundResponse.Body); return(new RefundResponseModel { msg = refundResponse.Msg, code = refundResponse.Code, subcode = refundResponse.SubCode, submsg = refundResponse.SubMsg, trade_no = refundResponse.TradeNo, send_back_fee = refundResponse.SendBackFee, store_name = refundResponse.StoreName, fund_change = refundResponse.FundChange, buyer_logon_id = refundResponse.BuyerLogonId, amount = refundResponse.RefundDetailItemList == null || refundResponse.RefundDetailItemList.Count == 0 ? "0.0" : refundResponse.RefundDetailItemList[0].Amount, fund_channel = refundResponse.RefundDetailItemList == null || refundResponse.RefundDetailItemList.Count == 0 ? "": refundResponse.RefundDetailItemList[0].FundChannel, out_trade_no = refundResponse.OutTradeNo, buyer_user_id = refundResponse.BuyerUserId, gmt_refund_pay = refundResponse.GmtRefundPay, refund_fee = refundResponse.RefundFee }); }
public JsonResult Refund(string tradeno, string alipayTradeNo, string refundAmount, string refundReason, string refundNo) { DefaultAopClient client = new DefaultAopClient(Config.Gatewayurl, Config.AppId, Config.PrivateKey, "json", "2.0", Config.SignType, Config.AlipayPublicKey, Config.CharSet, false); AlipayTradeRefundModel model = new AlipayTradeRefundModel(); model.OutTradeNo = tradeno; model.TradeNo = alipayTradeNo; model.RefundAmount = refundAmount; model.RefundReason = refundReason; model.OutRequestNo = refundNo; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); try { var response = client.Execute(request); return(Json(response.Body)); } catch (Exception exp) { throw exp; } }
public ServiceResult <bool> Refund(Order order) { AlipayTradeRefundModel model = new AlipayTradeRefundModel(); model.OutTradeNo = order.ID; model.TradeNo = order.PaymentID; model.RefundAmount = order.Refund.ToString(); model.RefundReason = order.RefundReason; model.OutRequestNo = "Refund-" + order.ID; order.RefundID = model.OutRequestNo; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); var response = _alipayService.Execute(request); var responseEntry = JObject.Parse(response.Body).GetValue("alipay_trade_refund_response").ToObject <AliPaymentResponse>(); var status = responseEntry.msg.Equals("Success", StringComparison.OrdinalIgnoreCase); var result = new ServiceResult <bool> { Result = status }; if (!status) { result.RuleViolations.Add(new RuleViolation("Error", responseEntry.msg + (responseEntry.sub_msg ?? ""))); } return(result); }
/// <summary> /// 退款请求 /// </summary> /// <param name="out_trade_no">订单编号</param> /// <param name="trade_no">交易单好</param> /// <param name="refund_amount">退款金额(元)</param> /// <param name="refund_reason">原因</param> /// <param name="out_request_no">退款订单号</param> /// <returns></returns> public static bool RefundRequest(string companyId, string out_trade_no, string trade_no, string refund_amount, string refund_reason, string out_request_no) { try { AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.BizContent = "{" + "\"out_trade_no\":\"" + out_trade_no + "\"," + "\"trade_no\":\"" + trade_no + "\"," + "\"refund_amount\":" + refund_amount + "," + "\"refund_reason\":\"" + refund_reason + "\"," + "\"out_request_no\":\"" + out_request_no + "\"" + "}"; AlipayTradeRefundResponse response = GetDefaultAopClient(companyId).Execute(request); if (response.IsError) { TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("退款请求失败:{0}", response.Body)); return(false); } TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("退款请求结果:{0}", response.Body)); return(response.Code == "10000"); } catch (Exception ex) { TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("退款请求失败:{0}", ex.Message)); return(false); } }
/// <summary> /// 订单退款 /// </summary> /// <param name="tradeno">商户订单号</param> /// <param name="alipayTradeNo">支付宝交易号</param> /// <param name="refundAmount">退款金额</param> /// <param name="refundReason">退款原因</param> /// <param name="refundNo">退款单号</param> public ActionResult RefundInfo(string tradeno, string alipayTradeNo, string refundAmount, string refundReason, string refundNo) { DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, false); AlipayTradeRefundModel model = new AlipayTradeRefundModel(); // 商户订单号,和交易号不能同时为空 model.OutTradeNo = tradeno; // 支付宝交易号,和商户订单号不能同时为空 model.TradeNo = alipayTradeNo; // 退款金额,不能大于订单总金额 model.RefundAmount = refundAmount; // 退款原因 model.RefundReason = refundReason; // 退款单号,同一笔多次退款需要保证唯一,部分退款该参数必填。 model.OutRequestNo = refundNo; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); AlipayTradeRefundResponse response = null; try { response = client.Execute(request); return(Json(response.Body)); } catch (Exception exp) { throw exp; } }
public static string TradeRefund(string outTradeNo, string refundAmount) { //https://docs.open.alipay.com/api_1/alipay.trade.refund IAopClient client = new DefaultAopClient(ServerUrl, AppId, AppPrivateKey, "json", "1.0", SignType, AlipayPublicKey, Charset, false); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.BizContent = "{" + "\"out_trade_no\":\"" + outTradeNo + "\"," + "\"trade_no\":\"\"," + "\"refund_amount\":" + refundAmount + "," + "\"refund_reason\":\"正常退款\"," + "\"out_request_no\":\"HZ01RF001\"," + "\"operator_id\":\"OP001\"," + "\"store_id\":\"NJ_S_001\"," + "\"terminal_id\":\"NJ_T_001\"" + " }"; AlipayTradeRefundResponse response = client.Execute(request); if (response.Code == "10000") { return("10000"); } else { return(response.Body); } }
public async Task <IActionResult> Refund(string out_trade_no, string trade_no, string refund_amount, string out_request_no, string refund_reason) { var model = new AlipayTradeRefundModel { OutTradeNo = out_trade_no, TradeNo = trade_no, RefundAmount = refund_amount, OutRequestNo = out_request_no, RefundReason = refund_reason }; var req = new AlipayTradeRefundRequest(); req.SetBizModel(model); var response = await _client.ExecuteAsync(req); ResponseModel responseModel = new ResponseModel() { code = HTTPResponseCode.PartialContent, message = string.Empty, data = response.Body }; if (response.IsError) { responseModel.code = HTTPResponseCode.BadRequest; responseModel.message = response.Msg; } else { responseModel.code = HTTPResponseCode.Successful; } return(Json(responseModel)); }
/// <summary> /// 退款 /// </summary> public bool Refund(decimal amount, string orderNo, string requestNo, string reason = null, string tradeNo = null) { bool success = false; //组装业务参数 var model = new AlipayTradeRefundModel() { OutTradeNo = orderNo, TradeNo = tradeNo, RefundAmount = amount.ToString(), RefundReason = reason, OutRequestNo = requestNo //退款单号,同一笔多次退款需要保证唯一,部分退款该参数必填。 }; var request = new AlipayTradeRefundRequest(); request.SetBizModel(model); AlipayTradeRefundResponse response = aopClient.Execute(request); if (response != null && response.Code == "10000") { success = true; } //记日志response.ToJson(); return(success); }
/// <summary> /// 订单退款 /// </summary> /// <param name="input">退款数据</param> /// <returns></returns> public async Task <AlipayTradeRefundResponse> Refund(AlipayTradeRefundModel input) { AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(input); var response = await _alipayService.ExecuteAsync(request); return(response); }
public AlipayTradeRefundResponse RefundByOutTradeNo(string out_trade_no, string refund_amount, string refund_reason) { List <StrPair> list = new List <StrPair>(); list.Add(new StrPair("out_trade_no", out_trade_no)); list.Add(new StrPair("refund_amount", refund_amount)); list.Add(new StrPair("refund_reason", refund_reason)); string content = List2Json(list); AlipayTradeRefundRequest refundRequst = new AlipayTradeRefundRequest(); refundRequst.BizContent = content; //Dictionary<string, string> paramsDict = (Dictionary<string, string>)payRequst.GetParameters(); return(m_Client.Execute(refundRequst)); }
private AlipayTradeRefundResponse DoRefund(string biz_content, AlipayDomain alipay) { AlipayTradeRefundRequest payRequst = new AlipayTradeRefundRequest(); payRequst.BizContent = biz_content; payRequst.SetNotifyUrl(""); Dictionary <string, string> paramsDict = (Dictionary <string, string>)payRequst.GetParameters(); IAopClient client = new DefaultAopClient(serverUrl, alipay.APP_ID, alipay.APP_PRIVATE_KEY, "", version, sign_type, alipay.ALIPAY_PUBLIC_KEY, charset); AlipayTradeRefundResponse payResponse = client.Execute(payRequst); return(payResponse); }
private AlipayTradeRefundResponse Refund(string biz_content) { AlipayTradeRefundRequest payRequst = new AlipayTradeRefundRequest(); payRequst.BizContent = biz_content; Dictionary <string, string> paramsDict = (Dictionary <string, string>)payRequst.GetParameters(); IAopClient client = new DefaultAopClient(Config.serverUrl, Config.appId, Config.merchant_private_key, "", Config.version, Config.sign_type, Config.alipay_public_key, Config.charset); //new DefaultAopClient(Config.serverUrl, Config.appId, Config.merchant_private_key); AlipayTradeRefundResponse payResponse = client.Execute(payRequst); return(payResponse); }
/// <summary> /// 申请退款 /// </summary> /// <param name="request">提交给申请退款API的参数</param> /// <param name="config"></param> /// <param name="accessToken">用户授权token</param> /// <param name="timeOut">超时时间</param> /// <returns>成功时返回接口调用结果,其他抛异常</returns> public static async Task <AlipayTradeRefundResponse> RefundAsync(AlipayTradeRefundModel request, AlipayConfig config, string accessToken = null, int timeOut = 6) { IAopClient client = new AopClient(AlipayConstants.GATEWAYURL, config.AppId, config.PrivateKey, config.Format, config.Version, config.SignType, config.AliPublicKey, config.Charset, config.KeyFromFile); var requestData = new AlipayTradeRefundRequest(); requestData.SetBizModel(request); var result = await client.ExecuteAsync(requestData, accessToken); if (result.Code != AlipayConstants.SuccessCode) { throw new Exception(result.SubMsg); } return(result); }
public override bool Refund(PaylineEntity info) { var builder = new StringBuilder("{"); //订单支付时传入的商户订单号,不能和 trade_no同时为空。 builder.AppendFormat("\"out_trade_no\":\"{0}\",", info.Number); //支付宝交易号,和商户订单号不能同时为空 2017开头 builder.AppendFormat("\"trade_no\":\"{0}\",", info.OutNumber); //需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数 builder.AppendFormat("\"refund_amount\":\"{0}\",", 0 - info.Amount); // 退款的原因说明 builder.AppendFormat("\"refund_reason\":\"{0}\",", "测试退款"); // 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。 builder.AppendFormat("\"out_request_no\":\"{0}\"", info.Number); ////商户的操作员编号 //builder.AppendFormat("\"operator_id\":\"{0}\"", "FAST_INSTANT_TRADE_PAY"); //// 商户的门店编号 //builder.AppendFormat("\"store_id\":\"{0}\"", "FAST_INSTANT_TRADE_PAY"); ////商户的终端编号 //builder.AppendFormat("\"terminal_id\":\"{0}\"", "FAST_INSTANT_TRADE_PAY"); builder.Append("}"); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.BizContent = builder.ToString(); AlipayTradeRefundResponse response = AopClient.Execute(request); info.Request = response.Body; LogHelper.AddEcho(new EchoEntity { Method = "Beeant.Repository.Services.Finance.AliPaylineRepository.Refund", Request = request.BizContent, Response = response.Body, Remark = "", Url = HttpContext.Current.Request.Url.ToString(), Key = info.Number, SaveType = SaveType.Add }); if (response.Msg == "Success") { info.OutNumber = response.TradeNo; info.Status = PaylineStatusType.Success; return(true); } return(false); }
public AlipayF2FRefundResult tradeRefund(AlipayTradeRefundContentBuilder builder) { AlipayF2FRefundResult refundResult = new AlipayF2FRefundResult(); try { AlipayTradeRefundRequest refundRequest = new AlipayTradeRefundRequest(); refundRequest.BizContent = builder.BuildJson(); refundResult.response = client.Execute(refundRequest); return(refundResult); } catch { refundResult.response = null; return(refundResult); } }
private static RefundResponse Refund(string amount) { IAopClient client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", APPID, APP_PRIVATE_KEY, "json", "1.0", "RSA2", ALIPAY_PUBLIC_KEY, CHARSET, false); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); AlipayTradeRefundModel mode = new AlipayTradeRefundModel { OutTradeNo = "2020060111510", RefundAmount = amount, RefundReason = HttpUtility.UrlEncode("挂号退款") }; request.SetBizModel(mode); var response = client.Execute(request); var body = JsonConvert.DeserializeObject <RefundResponse>(response.Body); return(body); }
public async Task <AlipayF2FRefundResult> TradeRefundAsync(AlipayTradeRefundContentBuilder builder) { var refundResult = new AlipayF2FRefundResult(); try { AlipayTradeRefundRequest refundRequest = new AlipayTradeRefundRequest(); refundRequest.BizContent = builder.BuildJson(); refundResult.response = await client.ExecuteAsync(refundRequest); return(refundResult); } catch { refundResult.response = null; return(refundResult); } }
public IActionResult Refund(string WIDout_trade_no, string WIDtrade_no, string WIDrefund_amount, string WIDrefund_reason, string WIDout_request_no) { DefaultAopClient client = new DefaultAopClient(_settings.Value.gateway_url, _settings.Value.app_id, _settings.Value.private_key, _settings.Value.format, _settings.Value.version, _settings.Value.sign_type, _settings.Value.alipay_public_key, _settings.Value.charset, false); // 商户订单号,和交易号不能同时为空 string out_trade_no = WIDout_trade_no; // 支付宝交易号,和商户订单号不能同时为空 string trade_no = WIDtrade_no; // 退款金额,不能大于订单总金额 string refund_amount = WIDrefund_amount; // 退款原因 string refund_reason = WIDrefund_reason; // 退款单号,同一笔多次退款需要保证唯一,部分退款该参数必填。 string out_request_no = WIDout_request_no; AlipayTradeRefundModel model = new AlipayTradeRefundModel { OutTradeNo = out_trade_no, TradeNo = trade_no, RefundAmount = refund_amount, RefundReason = refund_reason, OutRequestNo = out_request_no }; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); AlipayTradeRefundResponse response = null; try { response = client.Execute(request); } catch (Exception exp) { throw exp; } return(Content(response.Body)); }
public static bool AliPayRefundRequest(string trade_no, string total_fee, string out_refund_no, out string response) { IAopClient client = new DefaultAopClient(AlipayConfig.mobile_gatewayUrl, AlipayConfig.mobile_app_id, AlipayConfig.mobile_private_key_value, "json", "1.0", AlipayConfig.sign_type, AlipayConfig.mobile_public_key_value, AlipayConfig.charset, false); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.BizContent = "{" + "\"out_trade_no\":\"" + trade_no + "\"," + "\"refund_amount\":" + total_fee + "," + "\"out_request_no\":\"" + out_refund_no + "\"" + " }"; AlipayTradeRefundResponse responsed = client.Execute(request); response = responsed.Body; if (responsed.Code == "10000") { return(true); } return(false); }
public async Task <IActionResult> Refund(string out_trade_no, string trade_no, string refund_amount, string refund_reason, string out_request_no) { var model = new AlipayTradeRefundModel() { OutTradeNo = out_trade_no, TradeNo = trade_no, RefundAmount = refund_amount, OutRequestNo = out_request_no, RefundReason = refund_reason }; var req = new AlipayTradeRefundRequest(); req.SetBizModel(model); var response = await _client.ExecuteAsync(req); return(Ok(response.Body)); }
public async Task <IActionResult> Refund(AlipayTradeRefundViewModel viewMode) { var model = new AlipayTradeRefundModel { OutTradeNo = viewMode.OutTradeNo, TradeNo = viewMode.TradeNo, RefundAmount = viewMode.RefundAmount, OutRequestNo = viewMode.OutRequestNo, RefundReason = viewMode.RefundReason }; var req = new AlipayTradeRefundRequest(); req.SetBizModel(model); var response = await _client.CertificateExecuteAsync(req, _optionsAccessor.Value); return(Ok(response.Body)); }
protected void BtnAlipay_Click(object sender, EventArgs e) { DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.merchant_private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, false); // 商户订单号,和交易号不能同时为空 string out_trade_no = WIDout_trade_no.Text.Trim(); // 支付宝交易号,和商户订单号不能同时为空 string trade_no = WIDtrade_no.Text.Trim(); // 退款金额,不能大于订单总金额 string refund_amount = WIDrefund_amount.Text.Trim(); // 退款原因 string refund_reason = WIDrefund_reason.Text.Trim(); // 退款单号,同一笔多次退款需要保证唯一,部分退款该参数必填。 string out_request_no = WIDout_request_no.Text.Trim(); AlipayTradeRefundModel model = new AlipayTradeRefundModel(); model.OutTradeNo = out_trade_no; model.TradeNo = trade_no; model.RefundAmount = refund_amount; model.RefundReason = refund_reason; model.OutRequestNo = out_request_no; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); AlipayTradeRefundResponse response = null; try { response = client.Execute(request); WIDresule.Text = response.Body; } catch (Exception exp) { throw exp; } }
/// <summary> /// 退款 /// </summary> /// <param name="refund">退款实体</param> /// <param name="refundBack">退款返回实体</param> /// <param name="message">错误信息</param> /// <returns></returns> internal bool Refund(Refund refund, out RefundBack refundBack, out string message) { _log.Info("退款 Refund 开始"); var refundRequst = new AlipayTradeRefundRequest(); refundRequst.BizContent = Newtonsoft.Json.JsonConvert.SerializeObject(refund, new JsonSerializerSettings() { DefaultValueHandling = DefaultValueHandling.Ignore }).ToLower(); var refundResponse = client.Execute(refundRequst); if (refundResponse.Code == "10000") { _log.Info("退款成功!"); refundBack = new RefundBack() { Buyer_Logon_Id = refundResponse.BuyerLogonId, Buyer_User_Id = refundResponse.BuyerUserId, Code = refundResponse.Code, Fund_Change = refundResponse.FundChange, Gmt_Refund_Pay = Convert.ToDateTime(refundResponse.GmtRefundPay), Msg = refundResponse.Msg, Open_Id = refundResponse.OpenId, Out_Trade_No = refundResponse.OutTradeNo, Refund_Detail_Item_List = GetTradeFundBills(refundResponse.RefundDetailItemList), Refund_Fee = refundResponse.RefundFee, Store_Name = refundResponse.StoreName, Sub_Code = refundResponse.SubCode, Sub_Msg = refundResponse.SubMsg, Trade_No = refundResponse.TradeNo }; message = ""; return(true); } else { refundBack = null; message = $"{ refundResponse.Msg},{refundResponse.SubMsg}"; _log.Error($"退款失败:{message}"); return(false); } }
public IHttpActionResult kkk(dynamic data) { IAopClient client = new DefaultAopClient(URL, APPID, APP_PRIVATE_KEY, FORMAT, "2.0", "RSA2", ALIPAY_PUBLIC_KEY, CHARSET, false); // 商户订单号,和交易号不能同时为空 string out_trade_no = "20200709104925"; // 支付宝交易号,和商户订单号不能同时为空 string trade_no = "2020070922001450210500981173"; // 退款金额,不能大于订单总金额 string refund_amount = "110.00"; // 退款原因 string refund_reason = "我就是想退款"; // 退款单号,同一笔多次退款需要保证唯一,部分退款该参数必填。 string out_request_no = "16541"; AlipayTradeRefundModel model = new AlipayTradeRefundModel(); model.OutTradeNo = data.data.OutTradeNo; model.TradeNo = data.data.TradeNo; model.RefundAmount = data.data.RefundAmount; model.RefundReason = data.data.RefundReason; model.OutRequestNo = DateTime.Now.ToString("yyyyMMddHHmmss"); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); AlipayTradeRefundResponse response = null; response = client.SdkExecute(request); using (SmartRentalSystemEntities db = new SmartRentalSystemEntities()) { var ode = db.Order.Where(t => t.OrderNumber == model.OutTradeNo).ToList().FirstOrDefault(); ode.OrderState = "退款"; db.SaveChanges(); } //Execute(request); return(Ok(response.Body)); }
public async Task <IActionResult> Refund(AlipayTradeRefundViewModel viewMode) { var model = new AlipayTradeRefundModel() { OutTradeNo = viewMode.OutTradeNo, TradeNo = viewMode.TradeNo, RefundAmount = viewMode.RefundAmount, OutRequestNo = viewMode.OutRequestNo, RefundReason = viewMode.RefundReason }; var req = new AlipayTradeRefundRequest(); req.SetBizModel(model); var response = await _client.ExecuteAsync(req); ViewData["response"] = response.Body; return(View()); }
public JsonResult Refund(string tradeno, string alipayTradeNo, string refundAmount, string refundReason, string refundNo) { IAopClient client = new DefaultAopClient(URL, APPID, APP_PRIVATE_KEY, FORMAT, "1.0", "RSA2", ALIPAY_PUBLIC_KEY, CHARSET, false); AlipayTradeRefundModel model = new AlipayTradeRefundModel { OutTradeNo = tradeno, TradeNo = alipayTradeNo, RefundAmount = refundAmount, RefundReason = refundReason, OutRequestNo = refundNo }; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); var response = client.Execute(request); return(Json(response.Body)); }
public string Get(string tradeNo, string fee) { IAopClient client = new DefaultAopClient(ConfigurationManager.AppSettings["alipay.port"], ConfigurationManager.AppSettings["alipay.appId"], ConfigurationManager.AppSettings["alipay.privateKey"]); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.BizContent = "{" + string.Format( " \"out_trade_no\":\"{0}\"," + " \"trade_no\":\"{1}\"," + " \"refund_amount\":{2}," + " \"refund_reason\":\"正常退款\"", tradeNo, string.Empty, fee) + " }"; AlipayTradeRefundResponse response = client.Execute(request); if (!response.IsError) { return("支付宝退款成功:" + tradeNo); } else { return("支付宝退款失败:" + tradeNo + "-" + response.SubMsg); } }
public async Task <JsonResult> Refund(string tradeno, string alipayTradeNo, string refundAmount, string refundReason, string refundNo) { /*DefaultAopClient client = new DefaultAopClient(Config.Gatewayurl, Config.AppId, Config.PrivateKey, "json", "2.0", * Config.SignType, Config.AlipayPublicKey, Config.CharSet, false);*/ AlipayTradeRefundModel model = new AlipayTradeRefundModel(); model.OutTradeNo = tradeno; model.TradeNo = alipayTradeNo; model.RefundAmount = refundAmount; model.RefundReason = refundReason; model.OutRequestNo = refundNo; AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); request.SetBizModel(model); var response = await _alipayService.ExecuteAsync(request); return(Json(response.Body)); }