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); }
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); }