示例#1
0
        public CulqiRequest(ICulqiClient client, HttpMethod method, string path, BaseOptions options, RequestOptions requestOptions)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            this.options        = options;
            Method              = method;
            Uri                 = BuildUri(client, method, path, options, requestOptions);
            AuthorizationHeader = BuildAuthorizationHeader(client, method, path);
        }
示例#2
0
        private static AuthenticationHeaderValue BuildAuthorizationHeader(ICulqiClient client, HttpMethod method, string path)
        {
            if (client.ApiKey == null)
            {
                var message = "No API key provided. Set your public API key using "
                              + "`CulqiConfiguration.ApiKey = \"<API-KEY>\"`. You can generate API keys "
                              + "from the Culqi Dashboard. See "
                              + "https://www.culqi.com/api/#/autenticacion for details or contact support "
                              + "at https://culqi.zendesk.com/hc/es/requests/new if you have any questions.";
                throw new CulqiException(message);
            }

            return(new AuthenticationHeaderValue("Bearer", client.ApiKey));
        }
示例#3
0
        private static Uri BuildUri(ICulqiClient client, HttpMethod method, string path, BaseOptions options, RequestOptions requestOptions)
        {
            var b = new StringBuilder();

            b.Append(requestOptions?.BaseUrl ?? client.ApiBase);
            b.Append(path);

            if ((method != HttpMethod.Post) && (options != null))
            {
                var queryString = FormEncoder.CreateQueryString(options);
                if (!string.IsNullOrEmpty(queryString))
                {
                    b.Append("?");
                    b.Append(queryString);
                }
            }

            return(new Uri(b.ToString()));
        }
示例#4
0
 public TokenService(ICulqiClient client) : base(client)
 {
 }
示例#5
0
 public EventService(ICulqiClient client) : base(client)
 {
 }
示例#6
0
 public CustomerService(ICulqiClient client) : base(client)
 {
 }
示例#7
0
 protected Service(ICulqiClient client)
 {
     this.client = client;
 }
 public SubscriptionService(ICulqiClient client) : base(client)
 {
 }
示例#9
0
 public OrderService(ICulqiClient client) : base(client)
 {
 }
示例#10
0
 public RefundService(ICulqiClient client) : base(client)
 {
 }
示例#11
0
 public CardService(ICulqiClient client) : base(client)
 {
 }
示例#12
0
 public PlanService(ICulqiClient client) : base(client)
 {
 }
示例#13
0
 public ChargeService(ICulqiClient client) : base(client)
 {
 }