Beispiel #1
0
        public async Task <IActionResult> UnifiedOrder(string out_trade_no, string body, int total_fee, string spbill_create_ip, string notify_url, string trade_type, string openid)
        {
            var request = new WeChatPayUnifiedOrderRequest()
            {
                OutTradeNo     = out_trade_no,
                Body           = body,
                TotalFee       = total_fee,
                SpbillCreateIp = spbill_create_ip,
                NotifyUrl      = notify_url,
                TradeType      = trade_type,
                OpenId         = openid,
            };
            var response = await _client.ExecuteAsync(request);

            return(Ok(response.Body));
        }
Beispiel #2
0
        /// <summary>
        /// API提交
        /// </summary>
        /// <typeparam name="T">结果类型</typeparam>
        /// <param name="app">App</param>
        /// <param name="request">请求</param>
        /// <param name="code">异常结果</param>
        /// <returns></returns>
        private async Task <T> SubmitAsync <T>(App app, WeChatPayRequest request, WeChatPayResultCode code) where T : WeChatPayResponse
        {
            T response = await WeChatPayClient.ExecuteAsync <T>(app, request);

            if (!response.Success)
            {
                throw new MaxException(code, response.Detail);
            }

            return(response);
        }
        public async Task <IActionResult> MicroPay(WeChatPayMicroPayViewModel viewModel)
        {
            var request = new WeChatPayMicroPayRequest()
            {
                Body           = viewModel.Body,
                OutTradeNo     = viewModel.OutTradeNo,
                TotalFee       = viewModel.TotalFee,
                SpbillCreateIp = viewModel.SpbillCreateIp,
                AuthCode       = viewModel.AuthCode
            };
            var response = await _client.ExecuteAsync(request);

            ViewData["response"] = response.Body;
            return(View());
        }