public async Task <IActionResult> Reverse(string transaction_id, string out_trade_no) { var request = new WeChatPayReverseRequest { TransactionId = transaction_id, OutTradeNo = out_trade_no }; var response = await _client.ExecuteAsync(request, "wechatpayCertificateName"); ResponseModel responseModel = new ResponseModel() { code = HTTPResponseCode.PartialContent, data = response.Body }; Dictionary <string, string> result = new Dictionary <string, string>(); result.Add("return_code", response.ReturnCode); result.Add("return_msg", response.ReturnMsg); if (response.ReturnCode == "SUCCESS" && response.ResultCode == "SUCCESS") { responseModel.code = HTTPResponseCode.Successful; } else { responseModel.code = HTTPResponseCode.BadRequest; result.Add("err_code", response.ErrCode); result.Add("err_code_des", response.ErrCodeDes); } responseModel.message = JsonConvert.SerializeObject(result); return(Json(responseModel)); }
public async Task <IActionResult> Reverse(WeChatPayReverseViewModel viewModel) { var request = new WeChatPayReverseRequest { TransactionId = viewModel.TransactionId, OutTradeNo = viewModel.OutTradeNo }; var response = await _client.ExecuteAsync(request, _optionsAccessor.Value); return(Ok(response.Body)); }
public async Task <IActionResult> Reverse(WeChatPayReverseViewModel viewModel) { var request = new WeChatPayReverseRequest() { TransactionId = viewModel.TransactionId, OutTradeNo = viewModel.OutTradeNo, }; var response = await _client.ExecuteAsync(request); ViewData["response"] = response.Body; return(View()); }
public async Task <OrderResult> Reverse(Pay_Order order) { if (order.State != OrderState.Paidup) { // 只有已支付时可撤销订单 return(new OrderResult { Success = false, Error = $"只有已支付的订单可撤销" }); } var request = new WeChatPayReverseRequest { TransactionId = order.Pay_Id }; logger.LogDebug($"Wepay Reverse begin with: {order.Id}"); var res = await client.ExecuteAsync(request, options.Value); if (res.ReturnCode == "SUCCESS" && res.ResultCode == "SUCCESS") { logger.LogDebug($"Wepay Reverse end with: {order.Id} SUCCESS"); return(new OrderResult { Success = true, Order = OrderService.Reverse(order, PayType.Wechat) }); } logger.LogDebug($"Wepay Reverse end with: {order.Id} FAIL: {res.ErrCode}:{res.ErrCodeDes}"); return(new OrderResult { Success = false, Error = $"{res.ErrCode}:{res.ErrCodeDes}" }); }