public async Task <IActionResult> Wechatpay()
        {
            var config = new WechatpayConfig
            {
                AppId   = "wxefd7e95dd1ec11ae",
                SignKey = "I2lgA4cnK75mHULNqAaoZ3o4SSHMAY48",
                MchId   = "1495057202"
            };

            var request = new WechatTradeAppPayRequest
            {
                TotalFee   = 100,
                OutTradeNo = $"test_{DateTime.Now.ToString("yyyyMMddHHmmss")}",
                ProductId  = $"test_{DateTime.Now.ToString("yyyyMMddHHmmss")}",
                Body       = "产品",
                Detail     = "产品",
                TimeExpire = DateTime.Now.AddHours(2).ToString("yyyyMMddHHmmss"),
                TradeType  = WechatConstants.MWEB,
                TimeStart  = DateTime.Now.ToString("yyyyMMddHHmmss"),
                NotifyUrl  = "http://mobiletest.emoney.cn/mdata/payment/api/wechat/wechatnotity"
            };

            var response = await WechatpayClient.CreateOrderAsync(request, config);

            var ms = Convert.FromBase64String((await GetImage(response.CodeUrl)).Replace("data:image/jpeg;base64,", ""));

            return(File(ms, "image/png"));
        }
Exemple #2
0
        public async Task Test1()
        {
            var config = new WechatpayConfig();

            var request = new WechatTradeAppPayRequest
            {
                TotalFee   = 100,
                OutTradeNo = "202007297777",
                Body       = "产品",
                Detail     = "产品",
                TimeExpire = DateTime.Now.AddDays(15).ToString("yyyyMMddHHmmss"),
                TradeType  = WechatConstants.APP,
                TimeStart  = DateTime.Now.ToString("yyyyMMddHHmmss"),
                NotifyUrl  = ""
            };

            var response = await WechatpayClient.CreateOrderAsync(request, config);

            if (string.IsNullOrEmpty(response.Body))
            {
                Assert.Fail();
            }
            else
            {
                Assert.Pass();
            }
        }
Exemple #3
0
        public async Task Test2()
        {
            var config = new WechatpayConfig();

            var request = new WechatTradeQueryRequest
            {
                OutTradeNo = "202007297777"
            };

            var response = await WechatpayClient.OrderQueryAsync(request, config);

            if (string.IsNullOrEmpty(response.TransactionId))
            {
                Assert.Fail();
            }
            else
            {
                Assert.Pass();
            }
        }
Exemple #4
0
        public void Test4()
        {
            var data    = "";//xml请求数据
            var request = new WechatpayData();

            request.FromXml(data);

            var config = new WechatpayConfig();

            var response = WechatpayClient.Notify(request, config);

            if (string.IsNullOrEmpty(response.OutTradeNo))
            {
                Assert.Fail();
            }
            else
            {
                Assert.Pass();
            }
        }
Exemple #5
0
        public async Task Test6()
        {
            var config = new WechatpayConfig();

            var request = new WechatTradeCloseRequest
            {
                OutTradeNo = "202007297777"
            };

            var response = await WechatpayClient.CloseOrderAsync(request, config);

            if (string.IsNullOrEmpty(response.ReturnCode))
            {
                Assert.Fail();
            }
            else
            {
                Assert.Pass();
            }
        }
Exemple #6
0
        public async Task Test5()
        {
            var config = new WechatpayConfig();

            var request = new WechatRefundRequest
            {
                OutTradeNo  = "202007297777",
                TotalFee    = 100,
                RefundFee   = 100,
                OutRefundNo = HttpService.GenerateOutTradeNo(config)
            };

            var response = await WechatpayClient.RefundAsync(request, config);

            if (string.IsNullOrEmpty(response.TransactionId))
            {
                Assert.Fail();
            }
            else
            {
                Assert.Pass();
            }
        }