zhengyuxuan
2025-04-07 02560316633da0dd2051014a99bd4153150b2fb5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using LifePayment.Domain.Shared;
using Microsoft.Extensions.Options;
using System.Threading.Tasks;
using ZeroD.Util.Fadd;
 
namespace LifePayment.Domain
{
    public class WxPayApi : WxClient, IWxPayApi
    {
        private readonly WxPayOption _wxPayOptions;
 
        public WxPayApi(IOptions<WxPayOption> wxPayOptions)
        {
            _wxPayOptions = wxPayOptions.Value;
        }
 
        public async Task<PayTransactionsNativeReponse> PayTransactionsNative(PayTransactionsNativeInput input)
        {
            var result = await PostAsync<PayTransactionsNativeInput, PayTransactionsNativeReponse>(input, LifePaymentConstant.PayTransactionsNative);
            return result;
        }
 
        public async Task<PayTransactionsReponse> PayTransactions(PayTransactionsInput input)
        {
            var result = await GetAsync<PayTransactionsInput, PayTransactionsReponse>(input, LifePaymentConstant.PayTransactions);
            return result;
        }
 
        public async Task<PayTransactionsH5Reponse> PayTransactionsH5(PayTransactionsNativeH5 input)
        {
            var result = await PostAsync<PayTransactionsNativeH5, PayTransactionsH5Reponse>(input, LifePaymentConstant.PayTransactionsH5);
            return result;
        }
 
        public async Task<ModelPayPrePayId> PayTransactionsJsAPI(ModelMiniPayRequest input)
        {
            var result = await PostAsync<ModelMiniPayRequest, ModelPayPrePayId>(input, LifePaymentConstant.PayJsApi);
            return result;
        }
 
        public async Task<WxPayDomesticRefundsReponse> WxPayDomesticRefunds(WxPayDomesticRefundsRequest input)
        {
            var result = await NomalPostAsync<WxPayDomesticRefundsRequest, WxPayDomesticRefundsReponse>(input, LifePaymentConstant.WxPayDomesticRefunds);
            return result;
        }
 
        public async Task<WxPayDomesticRefundsQueryReponse> WxPayDomesticRefundsQuery(string outTradeNo)
        {
            var url = $"{string.Format(LifePaymentConstant.WxPayDomesticRefundsQuery, outTradeNo)}";
            var result = await Certificates<WxPayDomesticRefundsQueryReponse>(url);
            return result;
        }
 
        public async Task<WxPayTradeQueryReponse> WxPayTradeQuery(string outTradeNo)
        {
            var url = $"{string.Format(LifePaymentConstant.WxPayTradeQyery, outTradeNo, _wxPayOptions.Mchid)}";
            var result = await Certificates<WxPayTradeQueryReponse>(url);
            return result;
        }
 
        public async Task<WxPayTradeBillApplyReponse> WxPayTradeBillApply(WxPayTradeBillApplyRequest input)
        {
            var result = await NomalPostAsync<WxPayTradeBillApplyRequest, WxPayTradeBillApplyReponse>(input, LifePaymentConstant.WxPayTradeBillApply);
            return result;
        }
 
        public async Task<WxPayTradeBillQueryReponse> WxPayTradeBillQuery(WxPayTradeBillQueryRequest input)
        {
            var result = await NomalPostAsync<WxPayTradeBillQueryRequest, WxPayTradeBillQueryReponse>(input, LifePaymentConstant.WxPayTradeBillQuery);
            return result;
        }
    }
}