bitwarden_api_api/apis/
provider_billing_v_next_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait ProviderBillingVNextApi: Send + Sync {
29    /// POST /providers/{providerId}/billing/vnext/credit/bitpay
30    async fn add_credit_via_bit_pay<'a>(
31        &self,
32        provider_id: &'a str,
33        id: Option<uuid::Uuid>,
34        name: Option<&'a str>,
35        business_name: Option<&'a str>,
36        business_address1: Option<&'a str>,
37        business_address2: Option<&'a str>,
38        business_address3: Option<&'a str>,
39        business_country: Option<&'a str>,
40        business_tax_number: Option<&'a str>,
41        billing_email: Option<&'a str>,
42        billing_phone: Option<&'a str>,
43        status: Option<models::ProviderStatusType>,
44        use_events: Option<bool>,
45        r#type: Option<models::ProviderType>,
46        enabled: Option<bool>,
47        creation_date: Option<String>,
48        revision_date: Option<String>,
49        gateway: Option<models::GatewayType>,
50        gateway_customer_id: Option<&'a str>,
51        gateway_subscription_id: Option<&'a str>,
52        discount_id: Option<&'a str>,
53        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
54    ) -> Result<(), Error<AddCreditViaBitPayError>>;
55
56    /// GET /providers/{providerId}/billing/vnext/address
57    async fn get_billing_address<'a>(
58        &self,
59        provider_id: &'a str,
60        id: Option<uuid::Uuid>,
61        name: Option<&'a str>,
62        business_name: Option<&'a str>,
63        business_address1: Option<&'a str>,
64        business_address2: Option<&'a str>,
65        business_address3: Option<&'a str>,
66        business_country: Option<&'a str>,
67        business_tax_number: Option<&'a str>,
68        billing_email: Option<&'a str>,
69        billing_phone: Option<&'a str>,
70        status: Option<models::ProviderStatusType>,
71        use_events: Option<bool>,
72        r#type: Option<models::ProviderType>,
73        enabled: Option<bool>,
74        creation_date: Option<String>,
75        revision_date: Option<String>,
76        gateway: Option<models::GatewayType>,
77        gateway_customer_id: Option<&'a str>,
78        gateway_subscription_id: Option<&'a str>,
79        discount_id: Option<&'a str>,
80    ) -> Result<(), Error<GetBillingAddressError>>;
81
82    /// GET /providers/{providerId}/billing/vnext/credit
83    async fn get_credit<'a>(
84        &self,
85        provider_id: &'a str,
86        id: Option<uuid::Uuid>,
87        name: Option<&'a str>,
88        business_name: Option<&'a str>,
89        business_address1: Option<&'a str>,
90        business_address2: Option<&'a str>,
91        business_address3: Option<&'a str>,
92        business_country: Option<&'a str>,
93        business_tax_number: Option<&'a str>,
94        billing_email: Option<&'a str>,
95        billing_phone: Option<&'a str>,
96        status: Option<models::ProviderStatusType>,
97        use_events: Option<bool>,
98        r#type: Option<models::ProviderType>,
99        enabled: Option<bool>,
100        creation_date: Option<String>,
101        revision_date: Option<String>,
102        gateway: Option<models::GatewayType>,
103        gateway_customer_id: Option<&'a str>,
104        gateway_subscription_id: Option<&'a str>,
105        discount_id: Option<&'a str>,
106    ) -> Result<(), Error<GetCreditError>>;
107
108    /// GET /providers/{providerId}/billing/vnext/payment-method
109    async fn get_payment_method<'a>(
110        &self,
111        provider_id: &'a str,
112        id: Option<uuid::Uuid>,
113        name: Option<&'a str>,
114        business_name: Option<&'a str>,
115        business_address1: Option<&'a str>,
116        business_address2: Option<&'a str>,
117        business_address3: Option<&'a str>,
118        business_country: Option<&'a str>,
119        business_tax_number: Option<&'a str>,
120        billing_email: Option<&'a str>,
121        billing_phone: Option<&'a str>,
122        status: Option<models::ProviderStatusType>,
123        use_events: Option<bool>,
124        r#type: Option<models::ProviderType>,
125        enabled: Option<bool>,
126        creation_date: Option<String>,
127        revision_date: Option<String>,
128        gateway: Option<models::GatewayType>,
129        gateway_customer_id: Option<&'a str>,
130        gateway_subscription_id: Option<&'a str>,
131        discount_id: Option<&'a str>,
132    ) -> Result<(), Error<GetPaymentMethodError>>;
133
134    /// GET /providers/{providerId}/billing/vnext/warnings
135    async fn get_warnings<'a>(
136        &self,
137        provider_id: &'a str,
138        id: Option<uuid::Uuid>,
139        name: Option<&'a str>,
140        business_name: Option<&'a str>,
141        business_address1: Option<&'a str>,
142        business_address2: Option<&'a str>,
143        business_address3: Option<&'a str>,
144        business_country: Option<&'a str>,
145        business_tax_number: Option<&'a str>,
146        billing_email: Option<&'a str>,
147        billing_phone: Option<&'a str>,
148        status: Option<models::ProviderStatusType>,
149        use_events: Option<bool>,
150        r#type: Option<models::ProviderType>,
151        enabled: Option<bool>,
152        creation_date: Option<String>,
153        revision_date: Option<String>,
154        gateway: Option<models::GatewayType>,
155        gateway_customer_id: Option<&'a str>,
156        gateway_subscription_id: Option<&'a str>,
157        discount_id: Option<&'a str>,
158    ) -> Result<(), Error<GetWarningsError>>;
159
160    /// PUT /providers/{providerId}/billing/vnext/address
161    async fn update_billing_address<'a>(
162        &self,
163        provider_id: &'a str,
164        id: Option<uuid::Uuid>,
165        name: Option<&'a str>,
166        business_name: Option<&'a str>,
167        business_address1: Option<&'a str>,
168        business_address2: Option<&'a str>,
169        business_address3: Option<&'a str>,
170        business_country: Option<&'a str>,
171        business_tax_number: Option<&'a str>,
172        billing_email: Option<&'a str>,
173        billing_phone: Option<&'a str>,
174        status: Option<models::ProviderStatusType>,
175        use_events: Option<bool>,
176        r#type: Option<models::ProviderType>,
177        enabled: Option<bool>,
178        creation_date: Option<String>,
179        revision_date: Option<String>,
180        gateway: Option<models::GatewayType>,
181        gateway_customer_id: Option<&'a str>,
182        gateway_subscription_id: Option<&'a str>,
183        discount_id: Option<&'a str>,
184        billing_address_request: Option<models::BillingAddressRequest>,
185    ) -> Result<(), Error<UpdateBillingAddressError>>;
186
187    /// PUT /providers/{providerId}/billing/vnext/payment-method
188    async fn update_payment_method<'a>(
189        &self,
190        provider_id: &'a str,
191        id: Option<uuid::Uuid>,
192        name: Option<&'a str>,
193        business_name: Option<&'a str>,
194        business_address1: Option<&'a str>,
195        business_address2: Option<&'a str>,
196        business_address3: Option<&'a str>,
197        business_country: Option<&'a str>,
198        business_tax_number: Option<&'a str>,
199        billing_email: Option<&'a str>,
200        billing_phone: Option<&'a str>,
201        status: Option<models::ProviderStatusType>,
202        use_events: Option<bool>,
203        r#type: Option<models::ProviderType>,
204        enabled: Option<bool>,
205        creation_date: Option<String>,
206        revision_date: Option<String>,
207        gateway: Option<models::GatewayType>,
208        gateway_customer_id: Option<&'a str>,
209        gateway_subscription_id: Option<&'a str>,
210        discount_id: Option<&'a str>,
211        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
212    ) -> Result<(), Error<UpdatePaymentMethodError>>;
213}
214
215pub struct ProviderBillingVNextApiClient {
216    configuration: Arc<configuration::Configuration>,
217}
218
219impl ProviderBillingVNextApiClient {
220    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
221        Self { configuration }
222    }
223}
224
225#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
226#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
227impl ProviderBillingVNextApi for ProviderBillingVNextApiClient {
228    async fn add_credit_via_bit_pay<'a>(
229        &self,
230        provider_id: &'a str,
231        id: Option<uuid::Uuid>,
232        name: Option<&'a str>,
233        business_name: Option<&'a str>,
234        business_address1: Option<&'a str>,
235        business_address2: Option<&'a str>,
236        business_address3: Option<&'a str>,
237        business_country: Option<&'a str>,
238        business_tax_number: Option<&'a str>,
239        billing_email: Option<&'a str>,
240        billing_phone: Option<&'a str>,
241        status: Option<models::ProviderStatusType>,
242        use_events: Option<bool>,
243        r#type: Option<models::ProviderType>,
244        enabled: Option<bool>,
245        creation_date: Option<String>,
246        revision_date: Option<String>,
247        gateway: Option<models::GatewayType>,
248        gateway_customer_id: Option<&'a str>,
249        gateway_subscription_id: Option<&'a str>,
250        discount_id: Option<&'a str>,
251        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
252    ) -> Result<(), Error<AddCreditViaBitPayError>> {
253        let local_var_configuration = &self.configuration;
254
255        let local_var_client = &local_var_configuration.client;
256
257        let local_var_uri_str = format!(
258            "{}/providers/{providerId}/billing/vnext/credit/bitpay",
259            local_var_configuration.base_path,
260            providerId = crate::apis::urlencode(provider_id)
261        );
262        let mut local_var_req_builder =
263            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
264
265        if let Some(ref param_value) = id {
266            local_var_req_builder =
267                local_var_req_builder.query(&[("id", &param_value.to_string())]);
268        }
269        if let Some(ref param_value) = name {
270            local_var_req_builder =
271                local_var_req_builder.query(&[("name", &param_value.to_string())]);
272        }
273        if let Some(ref param_value) = business_name {
274            local_var_req_builder =
275                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
276        }
277        if let Some(ref param_value) = business_address1 {
278            local_var_req_builder =
279                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
280        }
281        if let Some(ref param_value) = business_address2 {
282            local_var_req_builder =
283                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
284        }
285        if let Some(ref param_value) = business_address3 {
286            local_var_req_builder =
287                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
288        }
289        if let Some(ref param_value) = business_country {
290            local_var_req_builder =
291                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
292        }
293        if let Some(ref param_value) = business_tax_number {
294            local_var_req_builder =
295                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
296        }
297        if let Some(ref param_value) = billing_email {
298            local_var_req_builder =
299                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
300        }
301        if let Some(ref param_value) = billing_phone {
302            local_var_req_builder =
303                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
304        }
305        if let Some(ref param_value) = status {
306            local_var_req_builder =
307                local_var_req_builder.query(&[("status", &param_value.to_string())]);
308        }
309        if let Some(ref param_value) = use_events {
310            local_var_req_builder =
311                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
312        }
313        if let Some(ref param_value) = r#type {
314            local_var_req_builder =
315                local_var_req_builder.query(&[("type", &param_value.to_string())]);
316        }
317        if let Some(ref param_value) = enabled {
318            local_var_req_builder =
319                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
320        }
321        if let Some(ref param_value) = creation_date {
322            local_var_req_builder =
323                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
324        }
325        if let Some(ref param_value) = revision_date {
326            local_var_req_builder =
327                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
328        }
329        if let Some(ref param_value) = gateway {
330            local_var_req_builder =
331                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
332        }
333        if let Some(ref param_value) = gateway_customer_id {
334            local_var_req_builder =
335                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
336        }
337        if let Some(ref param_value) = gateway_subscription_id {
338            local_var_req_builder =
339                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
340        }
341        if let Some(ref param_value) = discount_id {
342            local_var_req_builder =
343                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
344        }
345        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
346            local_var_req_builder = local_var_req_builder
347                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
348        }
349        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
350            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
351        };
352        local_var_req_builder = local_var_req_builder.json(&bit_pay_credit_request);
353
354        let local_var_req = local_var_req_builder.build()?;
355        let local_var_resp = local_var_client.execute(local_var_req).await?;
356
357        let local_var_status = local_var_resp.status();
358        let local_var_content = local_var_resp.text().await?;
359
360        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
361            Ok(())
362        } else {
363            let local_var_entity: Option<AddCreditViaBitPayError> =
364                serde_json::from_str(&local_var_content).ok();
365            let local_var_error = ResponseContent {
366                status: local_var_status,
367                content: local_var_content,
368                entity: local_var_entity,
369            };
370            Err(Error::ResponseError(local_var_error))
371        }
372    }
373
374    async fn get_billing_address<'a>(
375        &self,
376        provider_id: &'a str,
377        id: Option<uuid::Uuid>,
378        name: Option<&'a str>,
379        business_name: Option<&'a str>,
380        business_address1: Option<&'a str>,
381        business_address2: Option<&'a str>,
382        business_address3: Option<&'a str>,
383        business_country: Option<&'a str>,
384        business_tax_number: Option<&'a str>,
385        billing_email: Option<&'a str>,
386        billing_phone: Option<&'a str>,
387        status: Option<models::ProviderStatusType>,
388        use_events: Option<bool>,
389        r#type: Option<models::ProviderType>,
390        enabled: Option<bool>,
391        creation_date: Option<String>,
392        revision_date: Option<String>,
393        gateway: Option<models::GatewayType>,
394        gateway_customer_id: Option<&'a str>,
395        gateway_subscription_id: Option<&'a str>,
396        discount_id: Option<&'a str>,
397    ) -> Result<(), Error<GetBillingAddressError>> {
398        let local_var_configuration = &self.configuration;
399
400        let local_var_client = &local_var_configuration.client;
401
402        let local_var_uri_str = format!(
403            "{}/providers/{providerId}/billing/vnext/address",
404            local_var_configuration.base_path,
405            providerId = crate::apis::urlencode(provider_id)
406        );
407        let mut local_var_req_builder =
408            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
409
410        if let Some(ref param_value) = id {
411            local_var_req_builder =
412                local_var_req_builder.query(&[("id", &param_value.to_string())]);
413        }
414        if let Some(ref param_value) = name {
415            local_var_req_builder =
416                local_var_req_builder.query(&[("name", &param_value.to_string())]);
417        }
418        if let Some(ref param_value) = business_name {
419            local_var_req_builder =
420                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
421        }
422        if let Some(ref param_value) = business_address1 {
423            local_var_req_builder =
424                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
425        }
426        if let Some(ref param_value) = business_address2 {
427            local_var_req_builder =
428                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
429        }
430        if let Some(ref param_value) = business_address3 {
431            local_var_req_builder =
432                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
433        }
434        if let Some(ref param_value) = business_country {
435            local_var_req_builder =
436                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
437        }
438        if let Some(ref param_value) = business_tax_number {
439            local_var_req_builder =
440                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
441        }
442        if let Some(ref param_value) = billing_email {
443            local_var_req_builder =
444                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
445        }
446        if let Some(ref param_value) = billing_phone {
447            local_var_req_builder =
448                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
449        }
450        if let Some(ref param_value) = status {
451            local_var_req_builder =
452                local_var_req_builder.query(&[("status", &param_value.to_string())]);
453        }
454        if let Some(ref param_value) = use_events {
455            local_var_req_builder =
456                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
457        }
458        if let Some(ref param_value) = r#type {
459            local_var_req_builder =
460                local_var_req_builder.query(&[("type", &param_value.to_string())]);
461        }
462        if let Some(ref param_value) = enabled {
463            local_var_req_builder =
464                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
465        }
466        if let Some(ref param_value) = creation_date {
467            local_var_req_builder =
468                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
469        }
470        if let Some(ref param_value) = revision_date {
471            local_var_req_builder =
472                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
473        }
474        if let Some(ref param_value) = gateway {
475            local_var_req_builder =
476                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
477        }
478        if let Some(ref param_value) = gateway_customer_id {
479            local_var_req_builder =
480                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
481        }
482        if let Some(ref param_value) = gateway_subscription_id {
483            local_var_req_builder =
484                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
485        }
486        if let Some(ref param_value) = discount_id {
487            local_var_req_builder =
488                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
489        }
490        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
491            local_var_req_builder = local_var_req_builder
492                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
493        }
494        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
495            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
496        };
497
498        let local_var_req = local_var_req_builder.build()?;
499        let local_var_resp = local_var_client.execute(local_var_req).await?;
500
501        let local_var_status = local_var_resp.status();
502        let local_var_content = local_var_resp.text().await?;
503
504        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
505            Ok(())
506        } else {
507            let local_var_entity: Option<GetBillingAddressError> =
508                serde_json::from_str(&local_var_content).ok();
509            let local_var_error = ResponseContent {
510                status: local_var_status,
511                content: local_var_content,
512                entity: local_var_entity,
513            };
514            Err(Error::ResponseError(local_var_error))
515        }
516    }
517
518    async fn get_credit<'a>(
519        &self,
520        provider_id: &'a str,
521        id: Option<uuid::Uuid>,
522        name: Option<&'a str>,
523        business_name: Option<&'a str>,
524        business_address1: Option<&'a str>,
525        business_address2: Option<&'a str>,
526        business_address3: Option<&'a str>,
527        business_country: Option<&'a str>,
528        business_tax_number: Option<&'a str>,
529        billing_email: Option<&'a str>,
530        billing_phone: Option<&'a str>,
531        status: Option<models::ProviderStatusType>,
532        use_events: Option<bool>,
533        r#type: Option<models::ProviderType>,
534        enabled: Option<bool>,
535        creation_date: Option<String>,
536        revision_date: Option<String>,
537        gateway: Option<models::GatewayType>,
538        gateway_customer_id: Option<&'a str>,
539        gateway_subscription_id: Option<&'a str>,
540        discount_id: Option<&'a str>,
541    ) -> Result<(), Error<GetCreditError>> {
542        let local_var_configuration = &self.configuration;
543
544        let local_var_client = &local_var_configuration.client;
545
546        let local_var_uri_str = format!(
547            "{}/providers/{providerId}/billing/vnext/credit",
548            local_var_configuration.base_path,
549            providerId = crate::apis::urlencode(provider_id)
550        );
551        let mut local_var_req_builder =
552            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
553
554        if let Some(ref param_value) = id {
555            local_var_req_builder =
556                local_var_req_builder.query(&[("id", &param_value.to_string())]);
557        }
558        if let Some(ref param_value) = name {
559            local_var_req_builder =
560                local_var_req_builder.query(&[("name", &param_value.to_string())]);
561        }
562        if let Some(ref param_value) = business_name {
563            local_var_req_builder =
564                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
565        }
566        if let Some(ref param_value) = business_address1 {
567            local_var_req_builder =
568                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
569        }
570        if let Some(ref param_value) = business_address2 {
571            local_var_req_builder =
572                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
573        }
574        if let Some(ref param_value) = business_address3 {
575            local_var_req_builder =
576                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
577        }
578        if let Some(ref param_value) = business_country {
579            local_var_req_builder =
580                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
581        }
582        if let Some(ref param_value) = business_tax_number {
583            local_var_req_builder =
584                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
585        }
586        if let Some(ref param_value) = billing_email {
587            local_var_req_builder =
588                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
589        }
590        if let Some(ref param_value) = billing_phone {
591            local_var_req_builder =
592                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
593        }
594        if let Some(ref param_value) = status {
595            local_var_req_builder =
596                local_var_req_builder.query(&[("status", &param_value.to_string())]);
597        }
598        if let Some(ref param_value) = use_events {
599            local_var_req_builder =
600                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
601        }
602        if let Some(ref param_value) = r#type {
603            local_var_req_builder =
604                local_var_req_builder.query(&[("type", &param_value.to_string())]);
605        }
606        if let Some(ref param_value) = enabled {
607            local_var_req_builder =
608                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
609        }
610        if let Some(ref param_value) = creation_date {
611            local_var_req_builder =
612                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
613        }
614        if let Some(ref param_value) = revision_date {
615            local_var_req_builder =
616                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
617        }
618        if let Some(ref param_value) = gateway {
619            local_var_req_builder =
620                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
621        }
622        if let Some(ref param_value) = gateway_customer_id {
623            local_var_req_builder =
624                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
625        }
626        if let Some(ref param_value) = gateway_subscription_id {
627            local_var_req_builder =
628                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
629        }
630        if let Some(ref param_value) = discount_id {
631            local_var_req_builder =
632                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
633        }
634        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
635            local_var_req_builder = local_var_req_builder
636                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
637        }
638        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
639            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
640        };
641
642        let local_var_req = local_var_req_builder.build()?;
643        let local_var_resp = local_var_client.execute(local_var_req).await?;
644
645        let local_var_status = local_var_resp.status();
646        let local_var_content = local_var_resp.text().await?;
647
648        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
649            Ok(())
650        } else {
651            let local_var_entity: Option<GetCreditError> =
652                serde_json::from_str(&local_var_content).ok();
653            let local_var_error = ResponseContent {
654                status: local_var_status,
655                content: local_var_content,
656                entity: local_var_entity,
657            };
658            Err(Error::ResponseError(local_var_error))
659        }
660    }
661
662    async fn get_payment_method<'a>(
663        &self,
664        provider_id: &'a str,
665        id: Option<uuid::Uuid>,
666        name: Option<&'a str>,
667        business_name: Option<&'a str>,
668        business_address1: Option<&'a str>,
669        business_address2: Option<&'a str>,
670        business_address3: Option<&'a str>,
671        business_country: Option<&'a str>,
672        business_tax_number: Option<&'a str>,
673        billing_email: Option<&'a str>,
674        billing_phone: Option<&'a str>,
675        status: Option<models::ProviderStatusType>,
676        use_events: Option<bool>,
677        r#type: Option<models::ProviderType>,
678        enabled: Option<bool>,
679        creation_date: Option<String>,
680        revision_date: Option<String>,
681        gateway: Option<models::GatewayType>,
682        gateway_customer_id: Option<&'a str>,
683        gateway_subscription_id: Option<&'a str>,
684        discount_id: Option<&'a str>,
685    ) -> Result<(), Error<GetPaymentMethodError>> {
686        let local_var_configuration = &self.configuration;
687
688        let local_var_client = &local_var_configuration.client;
689
690        let local_var_uri_str = format!(
691            "{}/providers/{providerId}/billing/vnext/payment-method",
692            local_var_configuration.base_path,
693            providerId = crate::apis::urlencode(provider_id)
694        );
695        let mut local_var_req_builder =
696            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
697
698        if let Some(ref param_value) = id {
699            local_var_req_builder =
700                local_var_req_builder.query(&[("id", &param_value.to_string())]);
701        }
702        if let Some(ref param_value) = name {
703            local_var_req_builder =
704                local_var_req_builder.query(&[("name", &param_value.to_string())]);
705        }
706        if let Some(ref param_value) = business_name {
707            local_var_req_builder =
708                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
709        }
710        if let Some(ref param_value) = business_address1 {
711            local_var_req_builder =
712                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
713        }
714        if let Some(ref param_value) = business_address2 {
715            local_var_req_builder =
716                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
717        }
718        if let Some(ref param_value) = business_address3 {
719            local_var_req_builder =
720                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
721        }
722        if let Some(ref param_value) = business_country {
723            local_var_req_builder =
724                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
725        }
726        if let Some(ref param_value) = business_tax_number {
727            local_var_req_builder =
728                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
729        }
730        if let Some(ref param_value) = billing_email {
731            local_var_req_builder =
732                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
733        }
734        if let Some(ref param_value) = billing_phone {
735            local_var_req_builder =
736                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
737        }
738        if let Some(ref param_value) = status {
739            local_var_req_builder =
740                local_var_req_builder.query(&[("status", &param_value.to_string())]);
741        }
742        if let Some(ref param_value) = use_events {
743            local_var_req_builder =
744                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
745        }
746        if let Some(ref param_value) = r#type {
747            local_var_req_builder =
748                local_var_req_builder.query(&[("type", &param_value.to_string())]);
749        }
750        if let Some(ref param_value) = enabled {
751            local_var_req_builder =
752                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
753        }
754        if let Some(ref param_value) = creation_date {
755            local_var_req_builder =
756                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
757        }
758        if let Some(ref param_value) = revision_date {
759            local_var_req_builder =
760                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
761        }
762        if let Some(ref param_value) = gateway {
763            local_var_req_builder =
764                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
765        }
766        if let Some(ref param_value) = gateway_customer_id {
767            local_var_req_builder =
768                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
769        }
770        if let Some(ref param_value) = gateway_subscription_id {
771            local_var_req_builder =
772                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
773        }
774        if let Some(ref param_value) = discount_id {
775            local_var_req_builder =
776                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
777        }
778        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
779            local_var_req_builder = local_var_req_builder
780                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
781        }
782        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
783            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
784        };
785
786        let local_var_req = local_var_req_builder.build()?;
787        let local_var_resp = local_var_client.execute(local_var_req).await?;
788
789        let local_var_status = local_var_resp.status();
790        let local_var_content = local_var_resp.text().await?;
791
792        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
793            Ok(())
794        } else {
795            let local_var_entity: Option<GetPaymentMethodError> =
796                serde_json::from_str(&local_var_content).ok();
797            let local_var_error = ResponseContent {
798                status: local_var_status,
799                content: local_var_content,
800                entity: local_var_entity,
801            };
802            Err(Error::ResponseError(local_var_error))
803        }
804    }
805
806    async fn get_warnings<'a>(
807        &self,
808        provider_id: &'a str,
809        id: Option<uuid::Uuid>,
810        name: Option<&'a str>,
811        business_name: Option<&'a str>,
812        business_address1: Option<&'a str>,
813        business_address2: Option<&'a str>,
814        business_address3: Option<&'a str>,
815        business_country: Option<&'a str>,
816        business_tax_number: Option<&'a str>,
817        billing_email: Option<&'a str>,
818        billing_phone: Option<&'a str>,
819        status: Option<models::ProviderStatusType>,
820        use_events: Option<bool>,
821        r#type: Option<models::ProviderType>,
822        enabled: Option<bool>,
823        creation_date: Option<String>,
824        revision_date: Option<String>,
825        gateway: Option<models::GatewayType>,
826        gateway_customer_id: Option<&'a str>,
827        gateway_subscription_id: Option<&'a str>,
828        discount_id: Option<&'a str>,
829    ) -> Result<(), Error<GetWarningsError>> {
830        let local_var_configuration = &self.configuration;
831
832        let local_var_client = &local_var_configuration.client;
833
834        let local_var_uri_str = format!(
835            "{}/providers/{providerId}/billing/vnext/warnings",
836            local_var_configuration.base_path,
837            providerId = crate::apis::urlencode(provider_id)
838        );
839        let mut local_var_req_builder =
840            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
841
842        if let Some(ref param_value) = id {
843            local_var_req_builder =
844                local_var_req_builder.query(&[("id", &param_value.to_string())]);
845        }
846        if let Some(ref param_value) = name {
847            local_var_req_builder =
848                local_var_req_builder.query(&[("name", &param_value.to_string())]);
849        }
850        if let Some(ref param_value) = business_name {
851            local_var_req_builder =
852                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
853        }
854        if let Some(ref param_value) = business_address1 {
855            local_var_req_builder =
856                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
857        }
858        if let Some(ref param_value) = business_address2 {
859            local_var_req_builder =
860                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
861        }
862        if let Some(ref param_value) = business_address3 {
863            local_var_req_builder =
864                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
865        }
866        if let Some(ref param_value) = business_country {
867            local_var_req_builder =
868                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
869        }
870        if let Some(ref param_value) = business_tax_number {
871            local_var_req_builder =
872                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
873        }
874        if let Some(ref param_value) = billing_email {
875            local_var_req_builder =
876                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
877        }
878        if let Some(ref param_value) = billing_phone {
879            local_var_req_builder =
880                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
881        }
882        if let Some(ref param_value) = status {
883            local_var_req_builder =
884                local_var_req_builder.query(&[("status", &param_value.to_string())]);
885        }
886        if let Some(ref param_value) = use_events {
887            local_var_req_builder =
888                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
889        }
890        if let Some(ref param_value) = r#type {
891            local_var_req_builder =
892                local_var_req_builder.query(&[("type", &param_value.to_string())]);
893        }
894        if let Some(ref param_value) = enabled {
895            local_var_req_builder =
896                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
897        }
898        if let Some(ref param_value) = creation_date {
899            local_var_req_builder =
900                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
901        }
902        if let Some(ref param_value) = revision_date {
903            local_var_req_builder =
904                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
905        }
906        if let Some(ref param_value) = gateway {
907            local_var_req_builder =
908                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
909        }
910        if let Some(ref param_value) = gateway_customer_id {
911            local_var_req_builder =
912                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
913        }
914        if let Some(ref param_value) = gateway_subscription_id {
915            local_var_req_builder =
916                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
917        }
918        if let Some(ref param_value) = discount_id {
919            local_var_req_builder =
920                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
921        }
922        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
923            local_var_req_builder = local_var_req_builder
924                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
925        }
926        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
927            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
928        };
929
930        let local_var_req = local_var_req_builder.build()?;
931        let local_var_resp = local_var_client.execute(local_var_req).await?;
932
933        let local_var_status = local_var_resp.status();
934        let local_var_content = local_var_resp.text().await?;
935
936        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
937            Ok(())
938        } else {
939            let local_var_entity: Option<GetWarningsError> =
940                serde_json::from_str(&local_var_content).ok();
941            let local_var_error = ResponseContent {
942                status: local_var_status,
943                content: local_var_content,
944                entity: local_var_entity,
945            };
946            Err(Error::ResponseError(local_var_error))
947        }
948    }
949
950    async fn update_billing_address<'a>(
951        &self,
952        provider_id: &'a str,
953        id: Option<uuid::Uuid>,
954        name: Option<&'a str>,
955        business_name: Option<&'a str>,
956        business_address1: Option<&'a str>,
957        business_address2: Option<&'a str>,
958        business_address3: Option<&'a str>,
959        business_country: Option<&'a str>,
960        business_tax_number: Option<&'a str>,
961        billing_email: Option<&'a str>,
962        billing_phone: Option<&'a str>,
963        status: Option<models::ProviderStatusType>,
964        use_events: Option<bool>,
965        r#type: Option<models::ProviderType>,
966        enabled: Option<bool>,
967        creation_date: Option<String>,
968        revision_date: Option<String>,
969        gateway: Option<models::GatewayType>,
970        gateway_customer_id: Option<&'a str>,
971        gateway_subscription_id: Option<&'a str>,
972        discount_id: Option<&'a str>,
973        billing_address_request: Option<models::BillingAddressRequest>,
974    ) -> Result<(), Error<UpdateBillingAddressError>> {
975        let local_var_configuration = &self.configuration;
976
977        let local_var_client = &local_var_configuration.client;
978
979        let local_var_uri_str = format!(
980            "{}/providers/{providerId}/billing/vnext/address",
981            local_var_configuration.base_path,
982            providerId = crate::apis::urlencode(provider_id)
983        );
984        let mut local_var_req_builder =
985            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
986
987        if let Some(ref param_value) = id {
988            local_var_req_builder =
989                local_var_req_builder.query(&[("id", &param_value.to_string())]);
990        }
991        if let Some(ref param_value) = name {
992            local_var_req_builder =
993                local_var_req_builder.query(&[("name", &param_value.to_string())]);
994        }
995        if let Some(ref param_value) = business_name {
996            local_var_req_builder =
997                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
998        }
999        if let Some(ref param_value) = business_address1 {
1000            local_var_req_builder =
1001                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
1002        }
1003        if let Some(ref param_value) = business_address2 {
1004            local_var_req_builder =
1005                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
1006        }
1007        if let Some(ref param_value) = business_address3 {
1008            local_var_req_builder =
1009                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
1010        }
1011        if let Some(ref param_value) = business_country {
1012            local_var_req_builder =
1013                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
1014        }
1015        if let Some(ref param_value) = business_tax_number {
1016            local_var_req_builder =
1017                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
1018        }
1019        if let Some(ref param_value) = billing_email {
1020            local_var_req_builder =
1021                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
1022        }
1023        if let Some(ref param_value) = billing_phone {
1024            local_var_req_builder =
1025                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
1026        }
1027        if let Some(ref param_value) = status {
1028            local_var_req_builder =
1029                local_var_req_builder.query(&[("status", &param_value.to_string())]);
1030        }
1031        if let Some(ref param_value) = use_events {
1032            local_var_req_builder =
1033                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
1034        }
1035        if let Some(ref param_value) = r#type {
1036            local_var_req_builder =
1037                local_var_req_builder.query(&[("type", &param_value.to_string())]);
1038        }
1039        if let Some(ref param_value) = enabled {
1040            local_var_req_builder =
1041                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
1042        }
1043        if let Some(ref param_value) = creation_date {
1044            local_var_req_builder =
1045                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1046        }
1047        if let Some(ref param_value) = revision_date {
1048            local_var_req_builder =
1049                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1050        }
1051        if let Some(ref param_value) = gateway {
1052            local_var_req_builder =
1053                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1054        }
1055        if let Some(ref param_value) = gateway_customer_id {
1056            local_var_req_builder =
1057                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1058        }
1059        if let Some(ref param_value) = gateway_subscription_id {
1060            local_var_req_builder =
1061                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1062        }
1063        if let Some(ref param_value) = discount_id {
1064            local_var_req_builder =
1065                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
1066        }
1067        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1068            local_var_req_builder = local_var_req_builder
1069                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1070        }
1071        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1072            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1073        };
1074        local_var_req_builder = local_var_req_builder.json(&billing_address_request);
1075
1076        let local_var_req = local_var_req_builder.build()?;
1077        let local_var_resp = local_var_client.execute(local_var_req).await?;
1078
1079        let local_var_status = local_var_resp.status();
1080        let local_var_content = local_var_resp.text().await?;
1081
1082        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1083            Ok(())
1084        } else {
1085            let local_var_entity: Option<UpdateBillingAddressError> =
1086                serde_json::from_str(&local_var_content).ok();
1087            let local_var_error = ResponseContent {
1088                status: local_var_status,
1089                content: local_var_content,
1090                entity: local_var_entity,
1091            };
1092            Err(Error::ResponseError(local_var_error))
1093        }
1094    }
1095
1096    async fn update_payment_method<'a>(
1097        &self,
1098        provider_id: &'a str,
1099        id: Option<uuid::Uuid>,
1100        name: Option<&'a str>,
1101        business_name: Option<&'a str>,
1102        business_address1: Option<&'a str>,
1103        business_address2: Option<&'a str>,
1104        business_address3: Option<&'a str>,
1105        business_country: Option<&'a str>,
1106        business_tax_number: Option<&'a str>,
1107        billing_email: Option<&'a str>,
1108        billing_phone: Option<&'a str>,
1109        status: Option<models::ProviderStatusType>,
1110        use_events: Option<bool>,
1111        r#type: Option<models::ProviderType>,
1112        enabled: Option<bool>,
1113        creation_date: Option<String>,
1114        revision_date: Option<String>,
1115        gateway: Option<models::GatewayType>,
1116        gateway_customer_id: Option<&'a str>,
1117        gateway_subscription_id: Option<&'a str>,
1118        discount_id: Option<&'a str>,
1119        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
1120    ) -> Result<(), Error<UpdatePaymentMethodError>> {
1121        let local_var_configuration = &self.configuration;
1122
1123        let local_var_client = &local_var_configuration.client;
1124
1125        let local_var_uri_str = format!(
1126            "{}/providers/{providerId}/billing/vnext/payment-method",
1127            local_var_configuration.base_path,
1128            providerId = crate::apis::urlencode(provider_id)
1129        );
1130        let mut local_var_req_builder =
1131            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1132
1133        if let Some(ref param_value) = id {
1134            local_var_req_builder =
1135                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1136        }
1137        if let Some(ref param_value) = name {
1138            local_var_req_builder =
1139                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1140        }
1141        if let Some(ref param_value) = business_name {
1142            local_var_req_builder =
1143                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
1144        }
1145        if let Some(ref param_value) = business_address1 {
1146            local_var_req_builder =
1147                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
1148        }
1149        if let Some(ref param_value) = business_address2 {
1150            local_var_req_builder =
1151                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
1152        }
1153        if let Some(ref param_value) = business_address3 {
1154            local_var_req_builder =
1155                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
1156        }
1157        if let Some(ref param_value) = business_country {
1158            local_var_req_builder =
1159                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
1160        }
1161        if let Some(ref param_value) = business_tax_number {
1162            local_var_req_builder =
1163                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
1164        }
1165        if let Some(ref param_value) = billing_email {
1166            local_var_req_builder =
1167                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
1168        }
1169        if let Some(ref param_value) = billing_phone {
1170            local_var_req_builder =
1171                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
1172        }
1173        if let Some(ref param_value) = status {
1174            local_var_req_builder =
1175                local_var_req_builder.query(&[("status", &param_value.to_string())]);
1176        }
1177        if let Some(ref param_value) = use_events {
1178            local_var_req_builder =
1179                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
1180        }
1181        if let Some(ref param_value) = r#type {
1182            local_var_req_builder =
1183                local_var_req_builder.query(&[("type", &param_value.to_string())]);
1184        }
1185        if let Some(ref param_value) = enabled {
1186            local_var_req_builder =
1187                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
1188        }
1189        if let Some(ref param_value) = creation_date {
1190            local_var_req_builder =
1191                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1192        }
1193        if let Some(ref param_value) = revision_date {
1194            local_var_req_builder =
1195                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1196        }
1197        if let Some(ref param_value) = gateway {
1198            local_var_req_builder =
1199                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1200        }
1201        if let Some(ref param_value) = gateway_customer_id {
1202            local_var_req_builder =
1203                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1204        }
1205        if let Some(ref param_value) = gateway_subscription_id {
1206            local_var_req_builder =
1207                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1208        }
1209        if let Some(ref param_value) = discount_id {
1210            local_var_req_builder =
1211                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
1212        }
1213        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1214            local_var_req_builder = local_var_req_builder
1215                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1216        }
1217        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1218            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1219        };
1220        local_var_req_builder = local_var_req_builder.json(&tokenized_payment_method_request);
1221
1222        let local_var_req = local_var_req_builder.build()?;
1223        let local_var_resp = local_var_client.execute(local_var_req).await?;
1224
1225        let local_var_status = local_var_resp.status();
1226        let local_var_content = local_var_resp.text().await?;
1227
1228        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1229            Ok(())
1230        } else {
1231            let local_var_entity: Option<UpdatePaymentMethodError> =
1232                serde_json::from_str(&local_var_content).ok();
1233            let local_var_error = ResponseContent {
1234                status: local_var_status,
1235                content: local_var_content,
1236                entity: local_var_entity,
1237            };
1238            Err(Error::ResponseError(local_var_error))
1239        }
1240    }
1241}
1242
1243/// struct for typed errors of method [`ProviderBillingVNextApi::add_credit_via_bit_pay`]
1244#[derive(Debug, Clone, Serialize, Deserialize)]
1245#[serde(untagged)]
1246pub enum AddCreditViaBitPayError {
1247    UnknownValue(serde_json::Value),
1248}
1249/// struct for typed errors of method [`ProviderBillingVNextApi::get_billing_address`]
1250#[derive(Debug, Clone, Serialize, Deserialize)]
1251#[serde(untagged)]
1252pub enum GetBillingAddressError {
1253    UnknownValue(serde_json::Value),
1254}
1255/// struct for typed errors of method [`ProviderBillingVNextApi::get_credit`]
1256#[derive(Debug, Clone, Serialize, Deserialize)]
1257#[serde(untagged)]
1258pub enum GetCreditError {
1259    UnknownValue(serde_json::Value),
1260}
1261/// struct for typed errors of method [`ProviderBillingVNextApi::get_payment_method`]
1262#[derive(Debug, Clone, Serialize, Deserialize)]
1263#[serde(untagged)]
1264pub enum GetPaymentMethodError {
1265    UnknownValue(serde_json::Value),
1266}
1267/// struct for typed errors of method [`ProviderBillingVNextApi::get_warnings`]
1268#[derive(Debug, Clone, Serialize, Deserialize)]
1269#[serde(untagged)]
1270pub enum GetWarningsError {
1271    UnknownValue(serde_json::Value),
1272}
1273/// struct for typed errors of method [`ProviderBillingVNextApi::update_billing_address`]
1274#[derive(Debug, Clone, Serialize, Deserialize)]
1275#[serde(untagged)]
1276pub enum UpdateBillingAddressError {
1277    UnknownValue(serde_json::Value),
1278}
1279/// struct for typed errors of method [`ProviderBillingVNextApi::update_payment_method`]
1280#[derive(Debug, Clone, Serialize, Deserialize)]
1281#[serde(untagged)]
1282pub enum UpdatePaymentMethodError {
1283    UnknownValue(serde_json::Value),
1284}