예제 #1
0
        public async void Test4()
        {
            var refundModel = new AliRefundModel()
            {
                out_trade_no  = "10005",
                trade_no      = "2017102321001004720230769658",
                refund_amount = 0.01M
            };
            AliPayService a = new AliPayService();
            var           s = await a.AliRefund(refundModel);

            Assert.NotNull(s);
        }
예제 #2
0
        public async Task <AliRefundResponse> AliRefund(AliRefundModel refundModel)
        {
            var common = new AliPayCommonModel();

            common.SetMethod("alipay.trade.refund");
            common.SetBizContent(refundModel);

            var parameters = common.GetType().GetProperties().OrderBy(o => o.Name).ToDictionary(item => item.Name, item => item.GetValue(common).ToString());
            var str        = BuildData.BuildParamStr(parameters);

            var sign = GenerateRsaAssist.RasSign(str, AliPayConfig.PrivateKey, SignType.Rsa2);

            parameters.Add("sign", sign);

            var response = await HttpUtil.CreatePostHttpResponse(AliPayConfig.Gateway, parameters);

            var result = await response.Content.ReadAsStringAsync();

            var jsonResult = JsonConvert.DeserializeObject <AliRefundResponse>(result);

            return(jsonResult);
        }