Beispiel #1
0
        public async Task <IActionResult> PubPay(WeChatPayPubPayViewModel viewModel)
        {
            var request = new WeChatPayUnifiedOrderRequest
            {
                Body           = viewModel.Body,
                OutTradeNo     = viewModel.OutTradeNo,
                TotalFee       = viewModel.TotalFee,
                SpBillCreateIp = viewModel.SpBillCreateIp,
                NotifyUrl      = viewModel.NotifyUrl,
                TradeType      = viewModel.TradeType,
                OpenId         = viewModel.OpenId
            };

            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);

            if (response.ReturnCode == WeChatPayCode.Success && response.ResultCode == WeChatPayCode.Success)
            {
                var req = new WeChatPayJsApiSdkRequest
                {
                    Package = "prepay_id=" + response.PrepayId
                };

                var parameter = await _client.ExecuteAsync(req, _optionsAccessor.Value);

                // 将参数(parameter)给 公众号前端
                // 让他在微信内H5调起支付(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)
                // ViewData["parameter"] = JsonSerializer.Serialize(parameter); ViewData["response"]
                // = response.Body;
                return(Ok(response.Body));
            }

            //ViewData["response"] = response.Body;
            return(Ok(response.Body));
        }
        public async Task <IActionResult> PubPay(WeChatPayPubPayViewModel viewModel)
        {
            var request = new WeChatPayUnifiedOrderRequest()
            {
                Body           = viewModel.Body,
                OutTradeNo     = viewModel.OutTradeNo,
                TotalFee       = viewModel.TotalFee,
                SpbillCreateIp = viewModel.SpbillCreateIp,
                NotifyUrl      = viewModel.NotifyUrl,
                TradeType      = viewModel.TradeType,
                OpenId         = viewModel.OpenId
            };
            var response = await _client.ExecuteAsync(request);

            if (response.ReturnCode == "SUCCESS" && response.ResultCode == "SUCCESS")
            {
                var req = new WeChatPayH5CallPaymentRequest()
                {
                    Package = "prepay_id=" + response.PrepayId,
                };
                var parameter = await _client.ExecuteAsync(req);

                // 将参数(parameter)给 公众号前端 让他在微信内H5调起支付(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)
                ViewData["parameter"] = JsonConvert.SerializeObject(parameter);
                ViewData["response"]  = response.Body;
                return(View());
            }
            ViewData["response"] = response.Body;
            return(View());
        }
        public async Task <IActionResult> PubPay(WeChatPayPubPayViewModel viewModel)
        {
            var request = new WeChatPayUnifiedOrderRequest
            {
                Body           = "测试商品",                                  //商品名称
                OutTradeNo     = DateTime.Now.ToString("yyyyMMhhddmmss"), //单号
                TotalFee       = 120,                                     //金额*100
                SpbillCreateIp = "111.231.71.111",                        //获取终端Ip,
                NotifyUrl      = "http://www.shhjy.cn/access/unifiedorder",
                // viewModel.NotifyUrl


                TradeType = "JSAPI",                       //viewModel.TradeType,
                OpenId    = "or1ZywUA0RJl6glVkPZC1a7h-Us8" //viewModel.OpenId//

                                                           //Body = viewModel.Body,
                                                           //OutTradeNo = viewModel.OutTradeNo,
                                                           //TotalFee = viewModel.TotalFee,
                                                           //SpbillCreateIp = viewModel.SpbillCreateIp,
                                                           //NotifyUrl = viewModel.NotifyUrl,
                                                           //TradeType = viewModel.TradeType,
                                                           //OpenId = viewModel.OpenId
            };
            var response = await _client.ExecuteAsync(request);

            if (response.ReturnCode == "SUCCESS" && response.ResultCode == "SUCCESS")
            {
                var req = new WeChatPayH5CallPaymentRequest
                {
                    Package = "prepay_id=" + response.PrepayId
                };
                var parameter = await _client.ExecuteAsync(req);

                // 将参数(parameter)给 公众号前端 让他在微信内H5调起支付(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6)
                ViewData["parameter"] = JsonConvert.SerializeObject(parameter);
                ViewData["response"]  = response.Body;
                return(View());
            }
            ViewData["response"] = response.Body;
            return(View());
        }