private void ZFBPayRefund(string amount, string id) { AlipayTradeRefundContentBuilder builder = BuildContent(amount, id); AlipayF2FRefundResult refundResult = serviceClient.tradeRefund(builder); switch (refundResult.Status) { case ResultEnum.SUCCESS: DoSuccessProcess(refundResult); break; case ResultEnum.FAILED: DoFailedProcess(refundResult); break; case ResultEnum.UNKNOWN: //if (refundResult.response == null) //{ // result = "配置或网络异常,请检查"; //} //else //{ // result = "系统异常,请走人工退款流程"; //} break; } MessageBox.Show("" + result); }
protected void BtnAlipay_Click(object sender, EventArgs e) { ////////////////////////////////////////////请求参数//////////////////////////////////////////// AlipayTradeRefundContentBuilder builder = BuildContent(); AlipayF2FRefundResult refundResult = serviceClient.tradeRefund(builder); //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— switch (refundResult.Status) { case AlipayResultEnum.SUCCESS: DoSuccessProcess(refundResult); break; case AlipayResultEnum.FAILED: DoFailedProcess(refundResult); break; case AlipayResultEnum.UNKNOWN: if (refundResult.response == null) { result = "配置或网络异常,请检查"; } else { result = "系统异常,请走人工退款流程"; } break; } Response.Redirect("result.aspx?Text=" + result); }
public virtual RefoundResult Refound(RefoundParameter parameter) { if (parameter.TradeID.IsNullOrEmpty()) { throw new Exception("TradeID is null"); } Config config = new Alipay.Config(PayFactory.GetInterfaceXmlConfig(PayInterfaceType.AlipayBarcode, parameter.TradeID)); var serviceClient = config.AppConfig.CreateClientInstance(); AlipayTradeRefundContentBuilder builder = new AlipayTradeRefundContentBuilder(); //支付宝交易号与商户网站订单号不能同时为空 builder.out_trade_no = parameter.TradeID; //退款金额 builder.refund_amount = parameter.Amount.ToString(); builder.refund_reason = parameter.Reason; AlipayF2FRefundResult refundResult = serviceClient.tradeRefund(builder); RefoundResult finallyResult = new RefoundResult(); //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— switch (refundResult.Status) { case ResultEnum.SUCCESS: finallyResult.Result = RefoundResult.ResultEnum.SUCCESS; finallyResult.ServerMessage = refundResult.response.Body; break; case ResultEnum.FAILED: finallyResult.Result = RefoundResult.ResultEnum.FAIL; finallyResult.ServerMessage = refundResult.response.Body; finallyResult.Error = refundResult.response.SubMsg; break; case ResultEnum.UNKNOWN: finallyResult.Result = RefoundResult.ResultEnum.FAIL; if (refundResult.response == null) { finallyResult.Error = "配置或网络异常,请检查"; } else { finallyResult.Error = "系统异常,请走人工退款流程"; } break; } return(finallyResult); }
/// <summary> /// 申请退款 /// </summary> /// <param name="out_trade_no">订单编号</param> /// <param name="total_fee">订单总金额(单位:元)</param> /// <param name="refund_fee">退款金额(单位:元)</param> /// <returns></returns> public static bool Run(string out_trade_no, string total_fee) { IAlipayTradeService serviceClient = F2FBiz.CreateClientInstance( F2FPayConfig.serverUrl, F2FPayConfig.appId, F2FPayConfig.merchant_private_key, F2FPayConfig.version, F2FPayConfig.sign_type, F2FPayConfig.alipay_public_key, F2FPayConfig.charset); var out_request_no = System.DateTime.Now.ToString("yyyyMMddHHmmss") + "0000" + (new Random()).Next(1, 10000).ToString(); AlipayTradeRefundContentBuilder builder = new AlipayTradeRefundContentBuilder(); //支付宝交易号与商户网站订单号不能同时为空 builder.out_trade_no = out_trade_no.Trim(); //退款请求单号保持唯一性。 builder.out_request_no = out_request_no; //退款金额 builder.refund_amount = total_fee.Trim(); builder.refund_reason = "refund reason"; AlipayF2FRefundResult refundResult = serviceClient.tradeRefund(builder); bool isRefund = false; string result = ""; //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— switch (refundResult.Status) { case ResultEnum.SUCCESS: isRefund = true; result = "退款成功"; break; case ResultEnum.FAILED: result = "退款失败," + refundResult.response.SubMsg; break; case ResultEnum.UNKNOWN: if (refundResult.response == null) { result = "退款失败,配置或网络异常,请检查"; } else { result = "退款失败,系统异常,请走人工退款流程"; } break; } return(isRefund); }
private AlipayTradeRefundContentBuilder BuildContent(string amount, string id) { AlipayTradeRefundContentBuilder builder = new AlipayTradeRefundContentBuilder(); ////支付宝交易号与商户网站订单号不能同时为空 //builder.out_trade_no = WIDout_trade_no.Text.Trim(); builder.out_trade_no = id; //退款请求单号保持唯一性。 builder.out_request_no = id; //退款金额 builder.refund_amount = amount; builder.refund_reason = "refund reason"; return(builder); }
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 AlipayTradeRefundContentBuilder BuildContent(CBDsPosReturnOrder returnOrder) { AlipayTradeRefundContentBuilder builder = new AlipayTradeRefundContentBuilder(); //支付宝交易号与商户网站订单号不能同时为空 builder.out_trade_no = returnOrder.AliPayNumber; //退款请求单号保持唯一性。 builder.out_request_no = returnOrder.SerialNumber; //退款金额 builder.refund_amount = returnOrder.TotalMayReturnValue.ToString("C"); builder.refund_reason = "refund reason"; return(builder); }
/// <summary> /// 【统一收单线下交易退款】构造退款请求数据 /// </summary> /// <returns>请求数据集</returns> private AlipayTradeRefundContentBuilder BuildContent(string out_trade_no, string out_request_no, decimal refund_amount) { AlipayTradeRefundContentBuilder builder = new AlipayTradeRefundContentBuilder(); //支付宝交易号与商户网站订单号不能同时为空 builder.out_trade_no = out_trade_no; //退款请求单号保持唯一性。 builder.out_request_no = out_request_no; //退款金额 builder.refund_amount = refund_amount.ToString(); builder.refund_reason = "订单退款"; return(builder); }
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 Result <AlipayF2FRefundResult> AlipayRefundDsPosOrder(CBDsPosReturnOrder returnOrder) { Result <AlipayF2FRefundResult> result = new Result <AlipayF2FRefundResult>(); IAlipayTradeService serviceClient = F2FBiz.CreateClientInstance(Config.serverUrl, Config.appId, Config.merchant_private_key, Config.version, Config.sign_type, Config.alipay_public_key, Config.charset); AlipayTradeRefundContentBuilder builder = BuildContent(returnOrder); AlipayF2FRefundResult refundResult = serviceClient.tradeRefund(builder); //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— switch (refundResult.Status) { case ResultEnum.SUCCESS: DoSuccessProcess(refundResult, ref result); break; case ResultEnum.FAILED: DoFailedProcess(refundResult, ref result); break; case ResultEnum.UNKNOWN: if (refundResult.response == null) { result.Message = "配置或网络异常,请检查"; //result = "配置或网络异常,请检查"; } else { result.Message = "系统异常,请走人工退款流程"; //result = "系统异常,请走人工退款流程"; } result.Data = refundResult; result.Status = false; break; } return(result); }
//alipay.trade.refund(统一收单线下交易退款) public bool Alipay_Refund(string app_id, string merchant_private_key, string alipay_public_key, string ord_id, string req_id, decimal refund_amt, out string msg) { try { IAlipayTradeService sc = F2FBiz.CreateClientInstance(Config.serverUrl, app_id, merchant_private_key, Config.version, Config.sign_type, alipay_public_key, Config.charset); AlipayTradeRefundContentBuilder builder = BuildContent(ord_id, req_id, refund_amt); AlipayF2FRefundResult refundResult = sc.tradeRefund(builder); msg = ""; if (refundResult.Status == ResultEnum.SUCCESS) { return(true); } else if (refundResult.Status == ResultEnum.FAILED) { msg = refundResult.response.Body; return(false); } else { if (refundResult.response == null) { msg = "配置或网络异常,请检查后重试"; } else { msg = "系统异常,请走人工退款流程"; } return(false); } } catch (Exception ex) { Server.LogHelper.writeLog("PreCreate ->Alipay_Query()", ex.ToString(), ord_id); throw ex; } }
public AlipayF2FRefundResult TradeRefund(AlipayTradeRefundContentBuilder builder) { return(AsyncHelper.RunSync(async() => await TradeRefundAsync(builder))); }
public async Task <AlipayF2FRefundResult> TradeRefundAsync(AlipayTradeRefundContentBuilder builder) { return(await _alipayClient.TradeRefundAsync(builder)); }
public AlipayF2FRefundResult TradeRefund(AlipayTradeRefundContentBuilder builder) { return(_alipayClient.TradeRefund(builder)); }