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::{AuthRequired, 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_token) = local_var_configuration.oauth_access_token {
346            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
347        };
348        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
349        local_var_req_builder = local_var_req_builder.json(&bit_pay_credit_request);
350
351        let local_var_req = local_var_req_builder.build()?;
352        let local_var_resp = local_var_client.execute(local_var_req).await?;
353
354        let local_var_status = local_var_resp.status();
355        let local_var_content = local_var_resp.text().await?;
356
357        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
358            Ok(())
359        } else {
360            let local_var_entity: Option<AddCreditViaBitPayError> =
361                serde_json::from_str(&local_var_content).ok();
362            let local_var_error = ResponseContent {
363                status: local_var_status,
364                content: local_var_content,
365                entity: local_var_entity,
366            };
367            Err(Error::ResponseError(local_var_error))
368        }
369    }
370
371    async fn get_billing_address<'a>(
372        &self,
373        provider_id: &'a str,
374        id: Option<uuid::Uuid>,
375        name: Option<&'a str>,
376        business_name: Option<&'a str>,
377        business_address1: Option<&'a str>,
378        business_address2: Option<&'a str>,
379        business_address3: Option<&'a str>,
380        business_country: Option<&'a str>,
381        business_tax_number: Option<&'a str>,
382        billing_email: Option<&'a str>,
383        billing_phone: Option<&'a str>,
384        status: Option<models::ProviderStatusType>,
385        use_events: Option<bool>,
386        r#type: Option<models::ProviderType>,
387        enabled: Option<bool>,
388        creation_date: Option<String>,
389        revision_date: Option<String>,
390        gateway: Option<models::GatewayType>,
391        gateway_customer_id: Option<&'a str>,
392        gateway_subscription_id: Option<&'a str>,
393        discount_id: Option<&'a str>,
394    ) -> Result<(), Error<GetBillingAddressError>> {
395        let local_var_configuration = &self.configuration;
396
397        let local_var_client = &local_var_configuration.client;
398
399        let local_var_uri_str = format!(
400            "{}/providers/{providerId}/billing/vnext/address",
401            local_var_configuration.base_path,
402            providerId = crate::apis::urlencode(provider_id)
403        );
404        let mut local_var_req_builder =
405            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
406
407        if let Some(ref param_value) = id {
408            local_var_req_builder =
409                local_var_req_builder.query(&[("id", &param_value.to_string())]);
410        }
411        if let Some(ref param_value) = name {
412            local_var_req_builder =
413                local_var_req_builder.query(&[("name", &param_value.to_string())]);
414        }
415        if let Some(ref param_value) = business_name {
416            local_var_req_builder =
417                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
418        }
419        if let Some(ref param_value) = business_address1 {
420            local_var_req_builder =
421                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
422        }
423        if let Some(ref param_value) = business_address2 {
424            local_var_req_builder =
425                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
426        }
427        if let Some(ref param_value) = business_address3 {
428            local_var_req_builder =
429                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
430        }
431        if let Some(ref param_value) = business_country {
432            local_var_req_builder =
433                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
434        }
435        if let Some(ref param_value) = business_tax_number {
436            local_var_req_builder =
437                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
438        }
439        if let Some(ref param_value) = billing_email {
440            local_var_req_builder =
441                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
442        }
443        if let Some(ref param_value) = billing_phone {
444            local_var_req_builder =
445                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
446        }
447        if let Some(ref param_value) = status {
448            local_var_req_builder =
449                local_var_req_builder.query(&[("status", &param_value.to_string())]);
450        }
451        if let Some(ref param_value) = use_events {
452            local_var_req_builder =
453                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
454        }
455        if let Some(ref param_value) = r#type {
456            local_var_req_builder =
457                local_var_req_builder.query(&[("type", &param_value.to_string())]);
458        }
459        if let Some(ref param_value) = enabled {
460            local_var_req_builder =
461                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
462        }
463        if let Some(ref param_value) = creation_date {
464            local_var_req_builder =
465                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
466        }
467        if let Some(ref param_value) = revision_date {
468            local_var_req_builder =
469                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
470        }
471        if let Some(ref param_value) = gateway {
472            local_var_req_builder =
473                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
474        }
475        if let Some(ref param_value) = gateway_customer_id {
476            local_var_req_builder =
477                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
478        }
479        if let Some(ref param_value) = gateway_subscription_id {
480            local_var_req_builder =
481                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
482        }
483        if let Some(ref param_value) = discount_id {
484            local_var_req_builder =
485                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
486        }
487        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
488            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
489        };
490        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
491
492        let local_var_req = local_var_req_builder.build()?;
493        let local_var_resp = local_var_client.execute(local_var_req).await?;
494
495        let local_var_status = local_var_resp.status();
496        let local_var_content = local_var_resp.text().await?;
497
498        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
499            Ok(())
500        } else {
501            let local_var_entity: Option<GetBillingAddressError> =
502                serde_json::from_str(&local_var_content).ok();
503            let local_var_error = ResponseContent {
504                status: local_var_status,
505                content: local_var_content,
506                entity: local_var_entity,
507            };
508            Err(Error::ResponseError(local_var_error))
509        }
510    }
511
512    async fn get_credit<'a>(
513        &self,
514        provider_id: &'a str,
515        id: Option<uuid::Uuid>,
516        name: Option<&'a str>,
517        business_name: Option<&'a str>,
518        business_address1: Option<&'a str>,
519        business_address2: Option<&'a str>,
520        business_address3: Option<&'a str>,
521        business_country: Option<&'a str>,
522        business_tax_number: Option<&'a str>,
523        billing_email: Option<&'a str>,
524        billing_phone: Option<&'a str>,
525        status: Option<models::ProviderStatusType>,
526        use_events: Option<bool>,
527        r#type: Option<models::ProviderType>,
528        enabled: Option<bool>,
529        creation_date: Option<String>,
530        revision_date: Option<String>,
531        gateway: Option<models::GatewayType>,
532        gateway_customer_id: Option<&'a str>,
533        gateway_subscription_id: Option<&'a str>,
534        discount_id: Option<&'a str>,
535    ) -> Result<(), Error<GetCreditError>> {
536        let local_var_configuration = &self.configuration;
537
538        let local_var_client = &local_var_configuration.client;
539
540        let local_var_uri_str = format!(
541            "{}/providers/{providerId}/billing/vnext/credit",
542            local_var_configuration.base_path,
543            providerId = crate::apis::urlencode(provider_id)
544        );
545        let mut local_var_req_builder =
546            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
547
548        if let Some(ref param_value) = id {
549            local_var_req_builder =
550                local_var_req_builder.query(&[("id", &param_value.to_string())]);
551        }
552        if let Some(ref param_value) = name {
553            local_var_req_builder =
554                local_var_req_builder.query(&[("name", &param_value.to_string())]);
555        }
556        if let Some(ref param_value) = business_name {
557            local_var_req_builder =
558                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
559        }
560        if let Some(ref param_value) = business_address1 {
561            local_var_req_builder =
562                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
563        }
564        if let Some(ref param_value) = business_address2 {
565            local_var_req_builder =
566                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
567        }
568        if let Some(ref param_value) = business_address3 {
569            local_var_req_builder =
570                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
571        }
572        if let Some(ref param_value) = business_country {
573            local_var_req_builder =
574                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
575        }
576        if let Some(ref param_value) = business_tax_number {
577            local_var_req_builder =
578                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
579        }
580        if let Some(ref param_value) = billing_email {
581            local_var_req_builder =
582                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
583        }
584        if let Some(ref param_value) = billing_phone {
585            local_var_req_builder =
586                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
587        }
588        if let Some(ref param_value) = status {
589            local_var_req_builder =
590                local_var_req_builder.query(&[("status", &param_value.to_string())]);
591        }
592        if let Some(ref param_value) = use_events {
593            local_var_req_builder =
594                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
595        }
596        if let Some(ref param_value) = r#type {
597            local_var_req_builder =
598                local_var_req_builder.query(&[("type", &param_value.to_string())]);
599        }
600        if let Some(ref param_value) = enabled {
601            local_var_req_builder =
602                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
603        }
604        if let Some(ref param_value) = creation_date {
605            local_var_req_builder =
606                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
607        }
608        if let Some(ref param_value) = revision_date {
609            local_var_req_builder =
610                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
611        }
612        if let Some(ref param_value) = gateway {
613            local_var_req_builder =
614                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
615        }
616        if let Some(ref param_value) = gateway_customer_id {
617            local_var_req_builder =
618                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
619        }
620        if let Some(ref param_value) = gateway_subscription_id {
621            local_var_req_builder =
622                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
623        }
624        if let Some(ref param_value) = discount_id {
625            local_var_req_builder =
626                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
627        }
628        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
629            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
630        };
631        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
632
633        let local_var_req = local_var_req_builder.build()?;
634        let local_var_resp = local_var_client.execute(local_var_req).await?;
635
636        let local_var_status = local_var_resp.status();
637        let local_var_content = local_var_resp.text().await?;
638
639        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
640            Ok(())
641        } else {
642            let local_var_entity: Option<GetCreditError> =
643                serde_json::from_str(&local_var_content).ok();
644            let local_var_error = ResponseContent {
645                status: local_var_status,
646                content: local_var_content,
647                entity: local_var_entity,
648            };
649            Err(Error::ResponseError(local_var_error))
650        }
651    }
652
653    async fn get_payment_method<'a>(
654        &self,
655        provider_id: &'a str,
656        id: Option<uuid::Uuid>,
657        name: Option<&'a str>,
658        business_name: Option<&'a str>,
659        business_address1: Option<&'a str>,
660        business_address2: Option<&'a str>,
661        business_address3: Option<&'a str>,
662        business_country: Option<&'a str>,
663        business_tax_number: Option<&'a str>,
664        billing_email: Option<&'a str>,
665        billing_phone: Option<&'a str>,
666        status: Option<models::ProviderStatusType>,
667        use_events: Option<bool>,
668        r#type: Option<models::ProviderType>,
669        enabled: Option<bool>,
670        creation_date: Option<String>,
671        revision_date: Option<String>,
672        gateway: Option<models::GatewayType>,
673        gateway_customer_id: Option<&'a str>,
674        gateway_subscription_id: Option<&'a str>,
675        discount_id: Option<&'a str>,
676    ) -> Result<(), Error<GetPaymentMethodError>> {
677        let local_var_configuration = &self.configuration;
678
679        let local_var_client = &local_var_configuration.client;
680
681        let local_var_uri_str = format!(
682            "{}/providers/{providerId}/billing/vnext/payment-method",
683            local_var_configuration.base_path,
684            providerId = crate::apis::urlencode(provider_id)
685        );
686        let mut local_var_req_builder =
687            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
688
689        if let Some(ref param_value) = id {
690            local_var_req_builder =
691                local_var_req_builder.query(&[("id", &param_value.to_string())]);
692        }
693        if let Some(ref param_value) = name {
694            local_var_req_builder =
695                local_var_req_builder.query(&[("name", &param_value.to_string())]);
696        }
697        if let Some(ref param_value) = business_name {
698            local_var_req_builder =
699                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
700        }
701        if let Some(ref param_value) = business_address1 {
702            local_var_req_builder =
703                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
704        }
705        if let Some(ref param_value) = business_address2 {
706            local_var_req_builder =
707                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
708        }
709        if let Some(ref param_value) = business_address3 {
710            local_var_req_builder =
711                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
712        }
713        if let Some(ref param_value) = business_country {
714            local_var_req_builder =
715                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
716        }
717        if let Some(ref param_value) = business_tax_number {
718            local_var_req_builder =
719                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
720        }
721        if let Some(ref param_value) = billing_email {
722            local_var_req_builder =
723                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
724        }
725        if let Some(ref param_value) = billing_phone {
726            local_var_req_builder =
727                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
728        }
729        if let Some(ref param_value) = status {
730            local_var_req_builder =
731                local_var_req_builder.query(&[("status", &param_value.to_string())]);
732        }
733        if let Some(ref param_value) = use_events {
734            local_var_req_builder =
735                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
736        }
737        if let Some(ref param_value) = r#type {
738            local_var_req_builder =
739                local_var_req_builder.query(&[("type", &param_value.to_string())]);
740        }
741        if let Some(ref param_value) = enabled {
742            local_var_req_builder =
743                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
744        }
745        if let Some(ref param_value) = creation_date {
746            local_var_req_builder =
747                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
748        }
749        if let Some(ref param_value) = revision_date {
750            local_var_req_builder =
751                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
752        }
753        if let Some(ref param_value) = gateway {
754            local_var_req_builder =
755                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
756        }
757        if let Some(ref param_value) = gateway_customer_id {
758            local_var_req_builder =
759                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
760        }
761        if let Some(ref param_value) = gateway_subscription_id {
762            local_var_req_builder =
763                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
764        }
765        if let Some(ref param_value) = discount_id {
766            local_var_req_builder =
767                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
768        }
769        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
770            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
771        };
772        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
773
774        let local_var_req = local_var_req_builder.build()?;
775        let local_var_resp = local_var_client.execute(local_var_req).await?;
776
777        let local_var_status = local_var_resp.status();
778        let local_var_content = local_var_resp.text().await?;
779
780        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
781            Ok(())
782        } else {
783            let local_var_entity: Option<GetPaymentMethodError> =
784                serde_json::from_str(&local_var_content).ok();
785            let local_var_error = ResponseContent {
786                status: local_var_status,
787                content: local_var_content,
788                entity: local_var_entity,
789            };
790            Err(Error::ResponseError(local_var_error))
791        }
792    }
793
794    async fn get_warnings<'a>(
795        &self,
796        provider_id: &'a str,
797        id: Option<uuid::Uuid>,
798        name: Option<&'a str>,
799        business_name: Option<&'a str>,
800        business_address1: Option<&'a str>,
801        business_address2: Option<&'a str>,
802        business_address3: Option<&'a str>,
803        business_country: Option<&'a str>,
804        business_tax_number: Option<&'a str>,
805        billing_email: Option<&'a str>,
806        billing_phone: Option<&'a str>,
807        status: Option<models::ProviderStatusType>,
808        use_events: Option<bool>,
809        r#type: Option<models::ProviderType>,
810        enabled: Option<bool>,
811        creation_date: Option<String>,
812        revision_date: Option<String>,
813        gateway: Option<models::GatewayType>,
814        gateway_customer_id: Option<&'a str>,
815        gateway_subscription_id: Option<&'a str>,
816        discount_id: Option<&'a str>,
817    ) -> Result<(), Error<GetWarningsError>> {
818        let local_var_configuration = &self.configuration;
819
820        let local_var_client = &local_var_configuration.client;
821
822        let local_var_uri_str = format!(
823            "{}/providers/{providerId}/billing/vnext/warnings",
824            local_var_configuration.base_path,
825            providerId = crate::apis::urlencode(provider_id)
826        );
827        let mut local_var_req_builder =
828            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
829
830        if let Some(ref param_value) = id {
831            local_var_req_builder =
832                local_var_req_builder.query(&[("id", &param_value.to_string())]);
833        }
834        if let Some(ref param_value) = name {
835            local_var_req_builder =
836                local_var_req_builder.query(&[("name", &param_value.to_string())]);
837        }
838        if let Some(ref param_value) = business_name {
839            local_var_req_builder =
840                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
841        }
842        if let Some(ref param_value) = business_address1 {
843            local_var_req_builder =
844                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
845        }
846        if let Some(ref param_value) = business_address2 {
847            local_var_req_builder =
848                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
849        }
850        if let Some(ref param_value) = business_address3 {
851            local_var_req_builder =
852                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
853        }
854        if let Some(ref param_value) = business_country {
855            local_var_req_builder =
856                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
857        }
858        if let Some(ref param_value) = business_tax_number {
859            local_var_req_builder =
860                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
861        }
862        if let Some(ref param_value) = billing_email {
863            local_var_req_builder =
864                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
865        }
866        if let Some(ref param_value) = billing_phone {
867            local_var_req_builder =
868                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
869        }
870        if let Some(ref param_value) = status {
871            local_var_req_builder =
872                local_var_req_builder.query(&[("status", &param_value.to_string())]);
873        }
874        if let Some(ref param_value) = use_events {
875            local_var_req_builder =
876                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
877        }
878        if let Some(ref param_value) = r#type {
879            local_var_req_builder =
880                local_var_req_builder.query(&[("type", &param_value.to_string())]);
881        }
882        if let Some(ref param_value) = enabled {
883            local_var_req_builder =
884                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
885        }
886        if let Some(ref param_value) = creation_date {
887            local_var_req_builder =
888                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
889        }
890        if let Some(ref param_value) = revision_date {
891            local_var_req_builder =
892                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
893        }
894        if let Some(ref param_value) = gateway {
895            local_var_req_builder =
896                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
897        }
898        if let Some(ref param_value) = gateway_customer_id {
899            local_var_req_builder =
900                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
901        }
902        if let Some(ref param_value) = gateway_subscription_id {
903            local_var_req_builder =
904                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
905        }
906        if let Some(ref param_value) = discount_id {
907            local_var_req_builder =
908                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
909        }
910        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
911            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
912        };
913        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
914
915        let local_var_req = local_var_req_builder.build()?;
916        let local_var_resp = local_var_client.execute(local_var_req).await?;
917
918        let local_var_status = local_var_resp.status();
919        let local_var_content = local_var_resp.text().await?;
920
921        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
922            Ok(())
923        } else {
924            let local_var_entity: Option<GetWarningsError> =
925                serde_json::from_str(&local_var_content).ok();
926            let local_var_error = ResponseContent {
927                status: local_var_status,
928                content: local_var_content,
929                entity: local_var_entity,
930            };
931            Err(Error::ResponseError(local_var_error))
932        }
933    }
934
935    async fn update_billing_address<'a>(
936        &self,
937        provider_id: &'a str,
938        id: Option<uuid::Uuid>,
939        name: Option<&'a str>,
940        business_name: Option<&'a str>,
941        business_address1: Option<&'a str>,
942        business_address2: Option<&'a str>,
943        business_address3: Option<&'a str>,
944        business_country: Option<&'a str>,
945        business_tax_number: Option<&'a str>,
946        billing_email: Option<&'a str>,
947        billing_phone: Option<&'a str>,
948        status: Option<models::ProviderStatusType>,
949        use_events: Option<bool>,
950        r#type: Option<models::ProviderType>,
951        enabled: Option<bool>,
952        creation_date: Option<String>,
953        revision_date: Option<String>,
954        gateway: Option<models::GatewayType>,
955        gateway_customer_id: Option<&'a str>,
956        gateway_subscription_id: Option<&'a str>,
957        discount_id: Option<&'a str>,
958        billing_address_request: Option<models::BillingAddressRequest>,
959    ) -> Result<(), Error<UpdateBillingAddressError>> {
960        let local_var_configuration = &self.configuration;
961
962        let local_var_client = &local_var_configuration.client;
963
964        let local_var_uri_str = format!(
965            "{}/providers/{providerId}/billing/vnext/address",
966            local_var_configuration.base_path,
967            providerId = crate::apis::urlencode(provider_id)
968        );
969        let mut local_var_req_builder =
970            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
971
972        if let Some(ref param_value) = id {
973            local_var_req_builder =
974                local_var_req_builder.query(&[("id", &param_value.to_string())]);
975        }
976        if let Some(ref param_value) = name {
977            local_var_req_builder =
978                local_var_req_builder.query(&[("name", &param_value.to_string())]);
979        }
980        if let Some(ref param_value) = business_name {
981            local_var_req_builder =
982                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
983        }
984        if let Some(ref param_value) = business_address1 {
985            local_var_req_builder =
986                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
987        }
988        if let Some(ref param_value) = business_address2 {
989            local_var_req_builder =
990                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
991        }
992        if let Some(ref param_value) = business_address3 {
993            local_var_req_builder =
994                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
995        }
996        if let Some(ref param_value) = business_country {
997            local_var_req_builder =
998                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
999        }
1000        if let Some(ref param_value) = business_tax_number {
1001            local_var_req_builder =
1002                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
1003        }
1004        if let Some(ref param_value) = billing_email {
1005            local_var_req_builder =
1006                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
1007        }
1008        if let Some(ref param_value) = billing_phone {
1009            local_var_req_builder =
1010                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
1011        }
1012        if let Some(ref param_value) = status {
1013            local_var_req_builder =
1014                local_var_req_builder.query(&[("status", &param_value.to_string())]);
1015        }
1016        if let Some(ref param_value) = use_events {
1017            local_var_req_builder =
1018                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
1019        }
1020        if let Some(ref param_value) = r#type {
1021            local_var_req_builder =
1022                local_var_req_builder.query(&[("type", &param_value.to_string())]);
1023        }
1024        if let Some(ref param_value) = enabled {
1025            local_var_req_builder =
1026                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
1027        }
1028        if let Some(ref param_value) = creation_date {
1029            local_var_req_builder =
1030                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1031        }
1032        if let Some(ref param_value) = revision_date {
1033            local_var_req_builder =
1034                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1035        }
1036        if let Some(ref param_value) = gateway {
1037            local_var_req_builder =
1038                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1039        }
1040        if let Some(ref param_value) = gateway_customer_id {
1041            local_var_req_builder =
1042                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1043        }
1044        if let Some(ref param_value) = gateway_subscription_id {
1045            local_var_req_builder =
1046                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1047        }
1048        if let Some(ref param_value) = discount_id {
1049            local_var_req_builder =
1050                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
1051        }
1052        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1053            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1054        };
1055        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
1056        local_var_req_builder = local_var_req_builder.json(&billing_address_request);
1057
1058        let local_var_req = local_var_req_builder.build()?;
1059        let local_var_resp = local_var_client.execute(local_var_req).await?;
1060
1061        let local_var_status = local_var_resp.status();
1062        let local_var_content = local_var_resp.text().await?;
1063
1064        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1065            Ok(())
1066        } else {
1067            let local_var_entity: Option<UpdateBillingAddressError> =
1068                serde_json::from_str(&local_var_content).ok();
1069            let local_var_error = ResponseContent {
1070                status: local_var_status,
1071                content: local_var_content,
1072                entity: local_var_entity,
1073            };
1074            Err(Error::ResponseError(local_var_error))
1075        }
1076    }
1077
1078    async fn update_payment_method<'a>(
1079        &self,
1080        provider_id: &'a str,
1081        id: Option<uuid::Uuid>,
1082        name: Option<&'a str>,
1083        business_name: Option<&'a str>,
1084        business_address1: Option<&'a str>,
1085        business_address2: Option<&'a str>,
1086        business_address3: Option<&'a str>,
1087        business_country: Option<&'a str>,
1088        business_tax_number: Option<&'a str>,
1089        billing_email: Option<&'a str>,
1090        billing_phone: Option<&'a str>,
1091        status: Option<models::ProviderStatusType>,
1092        use_events: Option<bool>,
1093        r#type: Option<models::ProviderType>,
1094        enabled: Option<bool>,
1095        creation_date: Option<String>,
1096        revision_date: Option<String>,
1097        gateway: Option<models::GatewayType>,
1098        gateway_customer_id: Option<&'a str>,
1099        gateway_subscription_id: Option<&'a str>,
1100        discount_id: Option<&'a str>,
1101        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
1102    ) -> Result<(), Error<UpdatePaymentMethodError>> {
1103        let local_var_configuration = &self.configuration;
1104
1105        let local_var_client = &local_var_configuration.client;
1106
1107        let local_var_uri_str = format!(
1108            "{}/providers/{providerId}/billing/vnext/payment-method",
1109            local_var_configuration.base_path,
1110            providerId = crate::apis::urlencode(provider_id)
1111        );
1112        let mut local_var_req_builder =
1113            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1114
1115        if let Some(ref param_value) = id {
1116            local_var_req_builder =
1117                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1118        }
1119        if let Some(ref param_value) = name {
1120            local_var_req_builder =
1121                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1122        }
1123        if let Some(ref param_value) = business_name {
1124            local_var_req_builder =
1125                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
1126        }
1127        if let Some(ref param_value) = business_address1 {
1128            local_var_req_builder =
1129                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
1130        }
1131        if let Some(ref param_value) = business_address2 {
1132            local_var_req_builder =
1133                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
1134        }
1135        if let Some(ref param_value) = business_address3 {
1136            local_var_req_builder =
1137                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
1138        }
1139        if let Some(ref param_value) = business_country {
1140            local_var_req_builder =
1141                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
1142        }
1143        if let Some(ref param_value) = business_tax_number {
1144            local_var_req_builder =
1145                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
1146        }
1147        if let Some(ref param_value) = billing_email {
1148            local_var_req_builder =
1149                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
1150        }
1151        if let Some(ref param_value) = billing_phone {
1152            local_var_req_builder =
1153                local_var_req_builder.query(&[("billingPhone", &param_value.to_string())]);
1154        }
1155        if let Some(ref param_value) = status {
1156            local_var_req_builder =
1157                local_var_req_builder.query(&[("status", &param_value.to_string())]);
1158        }
1159        if let Some(ref param_value) = use_events {
1160            local_var_req_builder =
1161                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
1162        }
1163        if let Some(ref param_value) = r#type {
1164            local_var_req_builder =
1165                local_var_req_builder.query(&[("type", &param_value.to_string())]);
1166        }
1167        if let Some(ref param_value) = enabled {
1168            local_var_req_builder =
1169                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
1170        }
1171        if let Some(ref param_value) = creation_date {
1172            local_var_req_builder =
1173                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1174        }
1175        if let Some(ref param_value) = revision_date {
1176            local_var_req_builder =
1177                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1178        }
1179        if let Some(ref param_value) = gateway {
1180            local_var_req_builder =
1181                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1182        }
1183        if let Some(ref param_value) = gateway_customer_id {
1184            local_var_req_builder =
1185                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1186        }
1187        if let Some(ref param_value) = gateway_subscription_id {
1188            local_var_req_builder =
1189                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1190        }
1191        if let Some(ref param_value) = discount_id {
1192            local_var_req_builder =
1193                local_var_req_builder.query(&[("discountId", &param_value.to_string())]);
1194        }
1195        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1196            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1197        };
1198        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
1199        local_var_req_builder = local_var_req_builder.json(&tokenized_payment_method_request);
1200
1201        let local_var_req = local_var_req_builder.build()?;
1202        let local_var_resp = local_var_client.execute(local_var_req).await?;
1203
1204        let local_var_status = local_var_resp.status();
1205        let local_var_content = local_var_resp.text().await?;
1206
1207        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1208            Ok(())
1209        } else {
1210            let local_var_entity: Option<UpdatePaymentMethodError> =
1211                serde_json::from_str(&local_var_content).ok();
1212            let local_var_error = ResponseContent {
1213                status: local_var_status,
1214                content: local_var_content,
1215                entity: local_var_entity,
1216            };
1217            Err(Error::ResponseError(local_var_error))
1218        }
1219    }
1220}
1221
1222/// struct for typed errors of method [`ProviderBillingVNextApi::add_credit_via_bit_pay`]
1223#[derive(Debug, Clone, Serialize, Deserialize)]
1224#[serde(untagged)]
1225pub enum AddCreditViaBitPayError {
1226    UnknownValue(serde_json::Value),
1227}
1228/// struct for typed errors of method [`ProviderBillingVNextApi::get_billing_address`]
1229#[derive(Debug, Clone, Serialize, Deserialize)]
1230#[serde(untagged)]
1231pub enum GetBillingAddressError {
1232    UnknownValue(serde_json::Value),
1233}
1234/// struct for typed errors of method [`ProviderBillingVNextApi::get_credit`]
1235#[derive(Debug, Clone, Serialize, Deserialize)]
1236#[serde(untagged)]
1237pub enum GetCreditError {
1238    UnknownValue(serde_json::Value),
1239}
1240/// struct for typed errors of method [`ProviderBillingVNextApi::get_payment_method`]
1241#[derive(Debug, Clone, Serialize, Deserialize)]
1242#[serde(untagged)]
1243pub enum GetPaymentMethodError {
1244    UnknownValue(serde_json::Value),
1245}
1246/// struct for typed errors of method [`ProviderBillingVNextApi::get_warnings`]
1247#[derive(Debug, Clone, Serialize, Deserialize)]
1248#[serde(untagged)]
1249pub enum GetWarningsError {
1250    UnknownValue(serde_json::Value),
1251}
1252/// struct for typed errors of method [`ProviderBillingVNextApi::update_billing_address`]
1253#[derive(Debug, Clone, Serialize, Deserialize)]
1254#[serde(untagged)]
1255pub enum UpdateBillingAddressError {
1256    UnknownValue(serde_json::Value),
1257}
1258/// struct for typed errors of method [`ProviderBillingVNextApi::update_payment_method`]
1259#[derive(Debug, Clone, Serialize, Deserialize)]
1260#[serde(untagged)]
1261pub enum UpdatePaymentMethodError {
1262    UnknownValue(serde_json::Value),
1263}