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 reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17/// struct for typed errors of method [`providers_provider_id_billing_vnext_address_get`]
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum ProvidersProviderIdBillingVnextAddressGetError {
21    UnknownValue(serde_json::Value),
22}
23
24/// struct for typed errors of method [`providers_provider_id_billing_vnext_address_put`]
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum ProvidersProviderIdBillingVnextAddressPutError {
28    UnknownValue(serde_json::Value),
29}
30
31/// struct for typed errors of method [`providers_provider_id_billing_vnext_credit_bitpay_post`]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum ProvidersProviderIdBillingVnextCreditBitpayPostError {
35    UnknownValue(serde_json::Value),
36}
37
38/// struct for typed errors of method [`providers_provider_id_billing_vnext_credit_get`]
39#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum ProvidersProviderIdBillingVnextCreditGetError {
42    UnknownValue(serde_json::Value),
43}
44
45/// struct for typed errors of method [`providers_provider_id_billing_vnext_payment_method_get`]
46#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum ProvidersProviderIdBillingVnextPaymentMethodGetError {
49    UnknownValue(serde_json::Value),
50}
51
52/// struct for typed errors of method [`providers_provider_id_billing_vnext_payment_method_put`]
53#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum ProvidersProviderIdBillingVnextPaymentMethodPutError {
56    UnknownValue(serde_json::Value),
57}
58
59/// struct for typed errors of method
60/// [`providers_provider_id_billing_vnext_payment_method_verify_bank_account_post`]
61#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum ProvidersProviderIdBillingVnextPaymentMethodVerifyBankAccountPostError {
64    UnknownValue(serde_json::Value),
65}
66
67pub async fn providers_provider_id_billing_vnext_address_get(
68    configuration: &configuration::Configuration,
69    provider_id: &str,
70    id: Option<uuid::Uuid>,
71    name: Option<&str>,
72    business_name: Option<&str>,
73    business_address1: Option<&str>,
74    business_address2: Option<&str>,
75    business_address3: Option<&str>,
76    business_country: Option<&str>,
77    business_tax_number: Option<&str>,
78    billing_email: Option<&str>,
79    billing_phone: Option<&str>,
80    status: Option<models::ProviderStatusType>,
81    use_events: Option<bool>,
82    r#type: Option<models::ProviderType>,
83    enabled: Option<bool>,
84    creation_date: Option<String>,
85    revision_date: Option<String>,
86    gateway: Option<models::GatewayType>,
87    gateway_customer_id: Option<&str>,
88    gateway_subscription_id: Option<&str>,
89    discount_id: Option<&str>,
90) -> Result<(), Error<ProvidersProviderIdBillingVnextAddressGetError>> {
91    // add a prefix to parameters to efficiently prevent name collisions
92    let p_provider_id = provider_id;
93    let p_id = id;
94    let p_name = name;
95    let p_business_name = business_name;
96    let p_business_address1 = business_address1;
97    let p_business_address2 = business_address2;
98    let p_business_address3 = business_address3;
99    let p_business_country = business_country;
100    let p_business_tax_number = business_tax_number;
101    let p_billing_email = billing_email;
102    let p_billing_phone = billing_phone;
103    let p_status = status;
104    let p_use_events = use_events;
105    let p_type = r#type;
106    let p_enabled = enabled;
107    let p_creation_date = creation_date;
108    let p_revision_date = revision_date;
109    let p_gateway = gateway;
110    let p_gateway_customer_id = gateway_customer_id;
111    let p_gateway_subscription_id = gateway_subscription_id;
112    let p_discount_id = discount_id;
113
114    let uri_str = format!(
115        "{}/providers/{providerId}/billing/vnext/address",
116        configuration.base_path,
117        providerId = crate::apis::urlencode(p_provider_id)
118    );
119    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
120
121    if let Some(ref param_value) = p_id {
122        req_builder = req_builder.query(&[("id", &param_value.to_string())]);
123    }
124    if let Some(ref param_value) = p_name {
125        req_builder = req_builder.query(&[("name", &param_value.to_string())]);
126    }
127    if let Some(ref param_value) = p_business_name {
128        req_builder = req_builder.query(&[("businessName", &param_value.to_string())]);
129    }
130    if let Some(ref param_value) = p_business_address1 {
131        req_builder = req_builder.query(&[("businessAddress1", &param_value.to_string())]);
132    }
133    if let Some(ref param_value) = p_business_address2 {
134        req_builder = req_builder.query(&[("businessAddress2", &param_value.to_string())]);
135    }
136    if let Some(ref param_value) = p_business_address3 {
137        req_builder = req_builder.query(&[("businessAddress3", &param_value.to_string())]);
138    }
139    if let Some(ref param_value) = p_business_country {
140        req_builder = req_builder.query(&[("businessCountry", &param_value.to_string())]);
141    }
142    if let Some(ref param_value) = p_business_tax_number {
143        req_builder = req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
144    }
145    if let Some(ref param_value) = p_billing_email {
146        req_builder = req_builder.query(&[("billingEmail", &param_value.to_string())]);
147    }
148    if let Some(ref param_value) = p_billing_phone {
149        req_builder = req_builder.query(&[("billingPhone", &param_value.to_string())]);
150    }
151    if let Some(ref param_value) = p_status {
152        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
153    }
154    if let Some(ref param_value) = p_use_events {
155        req_builder = req_builder.query(&[("useEvents", &param_value.to_string())]);
156    }
157    if let Some(ref param_value) = p_type {
158        req_builder = req_builder.query(&[("type", &param_value.to_string())]);
159    }
160    if let Some(ref param_value) = p_enabled {
161        req_builder = req_builder.query(&[("enabled", &param_value.to_string())]);
162    }
163    if let Some(ref param_value) = p_creation_date {
164        req_builder = req_builder.query(&[("creationDate", &param_value.to_string())]);
165    }
166    if let Some(ref param_value) = p_revision_date {
167        req_builder = req_builder.query(&[("revisionDate", &param_value.to_string())]);
168    }
169    if let Some(ref param_value) = p_gateway {
170        req_builder = req_builder.query(&[("gateway", &param_value.to_string())]);
171    }
172    if let Some(ref param_value) = p_gateway_customer_id {
173        req_builder = req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
174    }
175    if let Some(ref param_value) = p_gateway_subscription_id {
176        req_builder = req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
177    }
178    if let Some(ref param_value) = p_discount_id {
179        req_builder = req_builder.query(&[("discountId", &param_value.to_string())]);
180    }
181    if let Some(ref user_agent) = configuration.user_agent {
182        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
183    }
184    if let Some(ref token) = configuration.oauth_access_token {
185        req_builder = req_builder.bearer_auth(token.to_owned());
186    };
187
188    let req = req_builder.build()?;
189    let resp = configuration.client.execute(req).await?;
190
191    let status = resp.status();
192
193    if !status.is_client_error() && !status.is_server_error() {
194        Ok(())
195    } else {
196        let content = resp.text().await?;
197        let entity: Option<ProvidersProviderIdBillingVnextAddressGetError> =
198            serde_json::from_str(&content).ok();
199        Err(Error::ResponseError(ResponseContent {
200            status,
201            content,
202            entity,
203        }))
204    }
205}
206
207pub async fn providers_provider_id_billing_vnext_address_put(
208    configuration: &configuration::Configuration,
209    provider_id: &str,
210    id: Option<uuid::Uuid>,
211    name: Option<&str>,
212    business_name: Option<&str>,
213    business_address1: Option<&str>,
214    business_address2: Option<&str>,
215    business_address3: Option<&str>,
216    business_country: Option<&str>,
217    business_tax_number: Option<&str>,
218    billing_email: Option<&str>,
219    billing_phone: Option<&str>,
220    status: Option<models::ProviderStatusType>,
221    use_events: Option<bool>,
222    r#type: Option<models::ProviderType>,
223    enabled: Option<bool>,
224    creation_date: Option<String>,
225    revision_date: Option<String>,
226    gateway: Option<models::GatewayType>,
227    gateway_customer_id: Option<&str>,
228    gateway_subscription_id: Option<&str>,
229    discount_id: Option<&str>,
230    billing_address_request: Option<models::BillingAddressRequest>,
231) -> Result<(), Error<ProvidersProviderIdBillingVnextAddressPutError>> {
232    // add a prefix to parameters to efficiently prevent name collisions
233    let p_provider_id = provider_id;
234    let p_id = id;
235    let p_name = name;
236    let p_business_name = business_name;
237    let p_business_address1 = business_address1;
238    let p_business_address2 = business_address2;
239    let p_business_address3 = business_address3;
240    let p_business_country = business_country;
241    let p_business_tax_number = business_tax_number;
242    let p_billing_email = billing_email;
243    let p_billing_phone = billing_phone;
244    let p_status = status;
245    let p_use_events = use_events;
246    let p_type = r#type;
247    let p_enabled = enabled;
248    let p_creation_date = creation_date;
249    let p_revision_date = revision_date;
250    let p_gateway = gateway;
251    let p_gateway_customer_id = gateway_customer_id;
252    let p_gateway_subscription_id = gateway_subscription_id;
253    let p_discount_id = discount_id;
254    let p_billing_address_request = billing_address_request;
255
256    let uri_str = format!(
257        "{}/providers/{providerId}/billing/vnext/address",
258        configuration.base_path,
259        providerId = crate::apis::urlencode(p_provider_id)
260    );
261    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
262
263    if let Some(ref param_value) = p_id {
264        req_builder = req_builder.query(&[("id", &param_value.to_string())]);
265    }
266    if let Some(ref param_value) = p_name {
267        req_builder = req_builder.query(&[("name", &param_value.to_string())]);
268    }
269    if let Some(ref param_value) = p_business_name {
270        req_builder = req_builder.query(&[("businessName", &param_value.to_string())]);
271    }
272    if let Some(ref param_value) = p_business_address1 {
273        req_builder = req_builder.query(&[("businessAddress1", &param_value.to_string())]);
274    }
275    if let Some(ref param_value) = p_business_address2 {
276        req_builder = req_builder.query(&[("businessAddress2", &param_value.to_string())]);
277    }
278    if let Some(ref param_value) = p_business_address3 {
279        req_builder = req_builder.query(&[("businessAddress3", &param_value.to_string())]);
280    }
281    if let Some(ref param_value) = p_business_country {
282        req_builder = req_builder.query(&[("businessCountry", &param_value.to_string())]);
283    }
284    if let Some(ref param_value) = p_business_tax_number {
285        req_builder = req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
286    }
287    if let Some(ref param_value) = p_billing_email {
288        req_builder = req_builder.query(&[("billingEmail", &param_value.to_string())]);
289    }
290    if let Some(ref param_value) = p_billing_phone {
291        req_builder = req_builder.query(&[("billingPhone", &param_value.to_string())]);
292    }
293    if let Some(ref param_value) = p_status {
294        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
295    }
296    if let Some(ref param_value) = p_use_events {
297        req_builder = req_builder.query(&[("useEvents", &param_value.to_string())]);
298    }
299    if let Some(ref param_value) = p_type {
300        req_builder = req_builder.query(&[("type", &param_value.to_string())]);
301    }
302    if let Some(ref param_value) = p_enabled {
303        req_builder = req_builder.query(&[("enabled", &param_value.to_string())]);
304    }
305    if let Some(ref param_value) = p_creation_date {
306        req_builder = req_builder.query(&[("creationDate", &param_value.to_string())]);
307    }
308    if let Some(ref param_value) = p_revision_date {
309        req_builder = req_builder.query(&[("revisionDate", &param_value.to_string())]);
310    }
311    if let Some(ref param_value) = p_gateway {
312        req_builder = req_builder.query(&[("gateway", &param_value.to_string())]);
313    }
314    if let Some(ref param_value) = p_gateway_customer_id {
315        req_builder = req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
316    }
317    if let Some(ref param_value) = p_gateway_subscription_id {
318        req_builder = req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
319    }
320    if let Some(ref param_value) = p_discount_id {
321        req_builder = req_builder.query(&[("discountId", &param_value.to_string())]);
322    }
323    if let Some(ref user_agent) = configuration.user_agent {
324        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
325    }
326    if let Some(ref token) = configuration.oauth_access_token {
327        req_builder = req_builder.bearer_auth(token.to_owned());
328    };
329    req_builder = req_builder.json(&p_billing_address_request);
330
331    let req = req_builder.build()?;
332    let resp = configuration.client.execute(req).await?;
333
334    let status = resp.status();
335
336    if !status.is_client_error() && !status.is_server_error() {
337        Ok(())
338    } else {
339        let content = resp.text().await?;
340        let entity: Option<ProvidersProviderIdBillingVnextAddressPutError> =
341            serde_json::from_str(&content).ok();
342        Err(Error::ResponseError(ResponseContent {
343            status,
344            content,
345            entity,
346        }))
347    }
348}
349
350pub async fn providers_provider_id_billing_vnext_credit_bitpay_post(
351    configuration: &configuration::Configuration,
352    provider_id: &str,
353    id: Option<uuid::Uuid>,
354    name: Option<&str>,
355    business_name: Option<&str>,
356    business_address1: Option<&str>,
357    business_address2: Option<&str>,
358    business_address3: Option<&str>,
359    business_country: Option<&str>,
360    business_tax_number: Option<&str>,
361    billing_email: Option<&str>,
362    billing_phone: Option<&str>,
363    status: Option<models::ProviderStatusType>,
364    use_events: Option<bool>,
365    r#type: Option<models::ProviderType>,
366    enabled: Option<bool>,
367    creation_date: Option<String>,
368    revision_date: Option<String>,
369    gateway: Option<models::GatewayType>,
370    gateway_customer_id: Option<&str>,
371    gateway_subscription_id: Option<&str>,
372    discount_id: Option<&str>,
373    bit_pay_credit_request: Option<models::BitPayCreditRequest>,
374) -> Result<(), Error<ProvidersProviderIdBillingVnextCreditBitpayPostError>> {
375    // add a prefix to parameters to efficiently prevent name collisions
376    let p_provider_id = provider_id;
377    let p_id = id;
378    let p_name = name;
379    let p_business_name = business_name;
380    let p_business_address1 = business_address1;
381    let p_business_address2 = business_address2;
382    let p_business_address3 = business_address3;
383    let p_business_country = business_country;
384    let p_business_tax_number = business_tax_number;
385    let p_billing_email = billing_email;
386    let p_billing_phone = billing_phone;
387    let p_status = status;
388    let p_use_events = use_events;
389    let p_type = r#type;
390    let p_enabled = enabled;
391    let p_creation_date = creation_date;
392    let p_revision_date = revision_date;
393    let p_gateway = gateway;
394    let p_gateway_customer_id = gateway_customer_id;
395    let p_gateway_subscription_id = gateway_subscription_id;
396    let p_discount_id = discount_id;
397    let p_bit_pay_credit_request = bit_pay_credit_request;
398
399    let uri_str = format!(
400        "{}/providers/{providerId}/billing/vnext/credit/bitpay",
401        configuration.base_path,
402        providerId = crate::apis::urlencode(p_provider_id)
403    );
404    let mut req_builder = configuration
405        .client
406        .request(reqwest::Method::POST, &uri_str);
407
408    if let Some(ref param_value) = p_id {
409        req_builder = req_builder.query(&[("id", &param_value.to_string())]);
410    }
411    if let Some(ref param_value) = p_name {
412        req_builder = req_builder.query(&[("name", &param_value.to_string())]);
413    }
414    if let Some(ref param_value) = p_business_name {
415        req_builder = req_builder.query(&[("businessName", &param_value.to_string())]);
416    }
417    if let Some(ref param_value) = p_business_address1 {
418        req_builder = req_builder.query(&[("businessAddress1", &param_value.to_string())]);
419    }
420    if let Some(ref param_value) = p_business_address2 {
421        req_builder = req_builder.query(&[("businessAddress2", &param_value.to_string())]);
422    }
423    if let Some(ref param_value) = p_business_address3 {
424        req_builder = req_builder.query(&[("businessAddress3", &param_value.to_string())]);
425    }
426    if let Some(ref param_value) = p_business_country {
427        req_builder = req_builder.query(&[("businessCountry", &param_value.to_string())]);
428    }
429    if let Some(ref param_value) = p_business_tax_number {
430        req_builder = req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
431    }
432    if let Some(ref param_value) = p_billing_email {
433        req_builder = req_builder.query(&[("billingEmail", &param_value.to_string())]);
434    }
435    if let Some(ref param_value) = p_billing_phone {
436        req_builder = req_builder.query(&[("billingPhone", &param_value.to_string())]);
437    }
438    if let Some(ref param_value) = p_status {
439        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
440    }
441    if let Some(ref param_value) = p_use_events {
442        req_builder = req_builder.query(&[("useEvents", &param_value.to_string())]);
443    }
444    if let Some(ref param_value) = p_type {
445        req_builder = req_builder.query(&[("type", &param_value.to_string())]);
446    }
447    if let Some(ref param_value) = p_enabled {
448        req_builder = req_builder.query(&[("enabled", &param_value.to_string())]);
449    }
450    if let Some(ref param_value) = p_creation_date {
451        req_builder = req_builder.query(&[("creationDate", &param_value.to_string())]);
452    }
453    if let Some(ref param_value) = p_revision_date {
454        req_builder = req_builder.query(&[("revisionDate", &param_value.to_string())]);
455    }
456    if let Some(ref param_value) = p_gateway {
457        req_builder = req_builder.query(&[("gateway", &param_value.to_string())]);
458    }
459    if let Some(ref param_value) = p_gateway_customer_id {
460        req_builder = req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
461    }
462    if let Some(ref param_value) = p_gateway_subscription_id {
463        req_builder = req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
464    }
465    if let Some(ref param_value) = p_discount_id {
466        req_builder = req_builder.query(&[("discountId", &param_value.to_string())]);
467    }
468    if let Some(ref user_agent) = configuration.user_agent {
469        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
470    }
471    if let Some(ref token) = configuration.oauth_access_token {
472        req_builder = req_builder.bearer_auth(token.to_owned());
473    };
474    req_builder = req_builder.json(&p_bit_pay_credit_request);
475
476    let req = req_builder.build()?;
477    let resp = configuration.client.execute(req).await?;
478
479    let status = resp.status();
480
481    if !status.is_client_error() && !status.is_server_error() {
482        Ok(())
483    } else {
484        let content = resp.text().await?;
485        let entity: Option<ProvidersProviderIdBillingVnextCreditBitpayPostError> =
486            serde_json::from_str(&content).ok();
487        Err(Error::ResponseError(ResponseContent {
488            status,
489            content,
490            entity,
491        }))
492    }
493}
494
495pub async fn providers_provider_id_billing_vnext_credit_get(
496    configuration: &configuration::Configuration,
497    provider_id: &str,
498    id: Option<uuid::Uuid>,
499    name: Option<&str>,
500    business_name: Option<&str>,
501    business_address1: Option<&str>,
502    business_address2: Option<&str>,
503    business_address3: Option<&str>,
504    business_country: Option<&str>,
505    business_tax_number: Option<&str>,
506    billing_email: Option<&str>,
507    billing_phone: Option<&str>,
508    status: Option<models::ProviderStatusType>,
509    use_events: Option<bool>,
510    r#type: Option<models::ProviderType>,
511    enabled: Option<bool>,
512    creation_date: Option<String>,
513    revision_date: Option<String>,
514    gateway: Option<models::GatewayType>,
515    gateway_customer_id: Option<&str>,
516    gateway_subscription_id: Option<&str>,
517    discount_id: Option<&str>,
518) -> Result<(), Error<ProvidersProviderIdBillingVnextCreditGetError>> {
519    // add a prefix to parameters to efficiently prevent name collisions
520    let p_provider_id = provider_id;
521    let p_id = id;
522    let p_name = name;
523    let p_business_name = business_name;
524    let p_business_address1 = business_address1;
525    let p_business_address2 = business_address2;
526    let p_business_address3 = business_address3;
527    let p_business_country = business_country;
528    let p_business_tax_number = business_tax_number;
529    let p_billing_email = billing_email;
530    let p_billing_phone = billing_phone;
531    let p_status = status;
532    let p_use_events = use_events;
533    let p_type = r#type;
534    let p_enabled = enabled;
535    let p_creation_date = creation_date;
536    let p_revision_date = revision_date;
537    let p_gateway = gateway;
538    let p_gateway_customer_id = gateway_customer_id;
539    let p_gateway_subscription_id = gateway_subscription_id;
540    let p_discount_id = discount_id;
541
542    let uri_str = format!(
543        "{}/providers/{providerId}/billing/vnext/credit",
544        configuration.base_path,
545        providerId = crate::apis::urlencode(p_provider_id)
546    );
547    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
548
549    if let Some(ref param_value) = p_id {
550        req_builder = req_builder.query(&[("id", &param_value.to_string())]);
551    }
552    if let Some(ref param_value) = p_name {
553        req_builder = req_builder.query(&[("name", &param_value.to_string())]);
554    }
555    if let Some(ref param_value) = p_business_name {
556        req_builder = req_builder.query(&[("businessName", &param_value.to_string())]);
557    }
558    if let Some(ref param_value) = p_business_address1 {
559        req_builder = req_builder.query(&[("businessAddress1", &param_value.to_string())]);
560    }
561    if let Some(ref param_value) = p_business_address2 {
562        req_builder = req_builder.query(&[("businessAddress2", &param_value.to_string())]);
563    }
564    if let Some(ref param_value) = p_business_address3 {
565        req_builder = req_builder.query(&[("businessAddress3", &param_value.to_string())]);
566    }
567    if let Some(ref param_value) = p_business_country {
568        req_builder = req_builder.query(&[("businessCountry", &param_value.to_string())]);
569    }
570    if let Some(ref param_value) = p_business_tax_number {
571        req_builder = req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
572    }
573    if let Some(ref param_value) = p_billing_email {
574        req_builder = req_builder.query(&[("billingEmail", &param_value.to_string())]);
575    }
576    if let Some(ref param_value) = p_billing_phone {
577        req_builder = req_builder.query(&[("billingPhone", &param_value.to_string())]);
578    }
579    if let Some(ref param_value) = p_status {
580        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
581    }
582    if let Some(ref param_value) = p_use_events {
583        req_builder = req_builder.query(&[("useEvents", &param_value.to_string())]);
584    }
585    if let Some(ref param_value) = p_type {
586        req_builder = req_builder.query(&[("type", &param_value.to_string())]);
587    }
588    if let Some(ref param_value) = p_enabled {
589        req_builder = req_builder.query(&[("enabled", &param_value.to_string())]);
590    }
591    if let Some(ref param_value) = p_creation_date {
592        req_builder = req_builder.query(&[("creationDate", &param_value.to_string())]);
593    }
594    if let Some(ref param_value) = p_revision_date {
595        req_builder = req_builder.query(&[("revisionDate", &param_value.to_string())]);
596    }
597    if let Some(ref param_value) = p_gateway {
598        req_builder = req_builder.query(&[("gateway", &param_value.to_string())]);
599    }
600    if let Some(ref param_value) = p_gateway_customer_id {
601        req_builder = req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
602    }
603    if let Some(ref param_value) = p_gateway_subscription_id {
604        req_builder = req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
605    }
606    if let Some(ref param_value) = p_discount_id {
607        req_builder = req_builder.query(&[("discountId", &param_value.to_string())]);
608    }
609    if let Some(ref user_agent) = configuration.user_agent {
610        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
611    }
612    if let Some(ref token) = configuration.oauth_access_token {
613        req_builder = req_builder.bearer_auth(token.to_owned());
614    };
615
616    let req = req_builder.build()?;
617    let resp = configuration.client.execute(req).await?;
618
619    let status = resp.status();
620
621    if !status.is_client_error() && !status.is_server_error() {
622        Ok(())
623    } else {
624        let content = resp.text().await?;
625        let entity: Option<ProvidersProviderIdBillingVnextCreditGetError> =
626            serde_json::from_str(&content).ok();
627        Err(Error::ResponseError(ResponseContent {
628            status,
629            content,
630            entity,
631        }))
632    }
633}
634
635pub async fn providers_provider_id_billing_vnext_payment_method_get(
636    configuration: &configuration::Configuration,
637    provider_id: &str,
638    id: Option<uuid::Uuid>,
639    name: Option<&str>,
640    business_name: Option<&str>,
641    business_address1: Option<&str>,
642    business_address2: Option<&str>,
643    business_address3: Option<&str>,
644    business_country: Option<&str>,
645    business_tax_number: Option<&str>,
646    billing_email: Option<&str>,
647    billing_phone: Option<&str>,
648    status: Option<models::ProviderStatusType>,
649    use_events: Option<bool>,
650    r#type: Option<models::ProviderType>,
651    enabled: Option<bool>,
652    creation_date: Option<String>,
653    revision_date: Option<String>,
654    gateway: Option<models::GatewayType>,
655    gateway_customer_id: Option<&str>,
656    gateway_subscription_id: Option<&str>,
657    discount_id: Option<&str>,
658) -> Result<(), Error<ProvidersProviderIdBillingVnextPaymentMethodGetError>> {
659    // add a prefix to parameters to efficiently prevent name collisions
660    let p_provider_id = provider_id;
661    let p_id = id;
662    let p_name = name;
663    let p_business_name = business_name;
664    let p_business_address1 = business_address1;
665    let p_business_address2 = business_address2;
666    let p_business_address3 = business_address3;
667    let p_business_country = business_country;
668    let p_business_tax_number = business_tax_number;
669    let p_billing_email = billing_email;
670    let p_billing_phone = billing_phone;
671    let p_status = status;
672    let p_use_events = use_events;
673    let p_type = r#type;
674    let p_enabled = enabled;
675    let p_creation_date = creation_date;
676    let p_revision_date = revision_date;
677    let p_gateway = gateway;
678    let p_gateway_customer_id = gateway_customer_id;
679    let p_gateway_subscription_id = gateway_subscription_id;
680    let p_discount_id = discount_id;
681
682    let uri_str = format!(
683        "{}/providers/{providerId}/billing/vnext/payment-method",
684        configuration.base_path,
685        providerId = crate::apis::urlencode(p_provider_id)
686    );
687    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
688
689    if let Some(ref param_value) = p_id {
690        req_builder = req_builder.query(&[("id", &param_value.to_string())]);
691    }
692    if let Some(ref param_value) = p_name {
693        req_builder = req_builder.query(&[("name", &param_value.to_string())]);
694    }
695    if let Some(ref param_value) = p_business_name {
696        req_builder = req_builder.query(&[("businessName", &param_value.to_string())]);
697    }
698    if let Some(ref param_value) = p_business_address1 {
699        req_builder = req_builder.query(&[("businessAddress1", &param_value.to_string())]);
700    }
701    if let Some(ref param_value) = p_business_address2 {
702        req_builder = req_builder.query(&[("businessAddress2", &param_value.to_string())]);
703    }
704    if let Some(ref param_value) = p_business_address3 {
705        req_builder = req_builder.query(&[("businessAddress3", &param_value.to_string())]);
706    }
707    if let Some(ref param_value) = p_business_country {
708        req_builder = req_builder.query(&[("businessCountry", &param_value.to_string())]);
709    }
710    if let Some(ref param_value) = p_business_tax_number {
711        req_builder = req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
712    }
713    if let Some(ref param_value) = p_billing_email {
714        req_builder = req_builder.query(&[("billingEmail", &param_value.to_string())]);
715    }
716    if let Some(ref param_value) = p_billing_phone {
717        req_builder = req_builder.query(&[("billingPhone", &param_value.to_string())]);
718    }
719    if let Some(ref param_value) = p_status {
720        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
721    }
722    if let Some(ref param_value) = p_use_events {
723        req_builder = req_builder.query(&[("useEvents", &param_value.to_string())]);
724    }
725    if let Some(ref param_value) = p_type {
726        req_builder = req_builder.query(&[("type", &param_value.to_string())]);
727    }
728    if let Some(ref param_value) = p_enabled {
729        req_builder = req_builder.query(&[("enabled", &param_value.to_string())]);
730    }
731    if let Some(ref param_value) = p_creation_date {
732        req_builder = req_builder.query(&[("creationDate", &param_value.to_string())]);
733    }
734    if let Some(ref param_value) = p_revision_date {
735        req_builder = req_builder.query(&[("revisionDate", &param_value.to_string())]);
736    }
737    if let Some(ref param_value) = p_gateway {
738        req_builder = req_builder.query(&[("gateway", &param_value.to_string())]);
739    }
740    if let Some(ref param_value) = p_gateway_customer_id {
741        req_builder = req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
742    }
743    if let Some(ref param_value) = p_gateway_subscription_id {
744        req_builder = req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
745    }
746    if let Some(ref param_value) = p_discount_id {
747        req_builder = req_builder.query(&[("discountId", &param_value.to_string())]);
748    }
749    if let Some(ref user_agent) = configuration.user_agent {
750        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
751    }
752    if let Some(ref token) = configuration.oauth_access_token {
753        req_builder = req_builder.bearer_auth(token.to_owned());
754    };
755
756    let req = req_builder.build()?;
757    let resp = configuration.client.execute(req).await?;
758
759    let status = resp.status();
760
761    if !status.is_client_error() && !status.is_server_error() {
762        Ok(())
763    } else {
764        let content = resp.text().await?;
765        let entity: Option<ProvidersProviderIdBillingVnextPaymentMethodGetError> =
766            serde_json::from_str(&content).ok();
767        Err(Error::ResponseError(ResponseContent {
768            status,
769            content,
770            entity,
771        }))
772    }
773}
774
775pub async fn providers_provider_id_billing_vnext_payment_method_put(
776    configuration: &configuration::Configuration,
777    provider_id: &str,
778    id: Option<uuid::Uuid>,
779    name: Option<&str>,
780    business_name: Option<&str>,
781    business_address1: Option<&str>,
782    business_address2: Option<&str>,
783    business_address3: Option<&str>,
784    business_country: Option<&str>,
785    business_tax_number: Option<&str>,
786    billing_email: Option<&str>,
787    billing_phone: Option<&str>,
788    status: Option<models::ProviderStatusType>,
789    use_events: Option<bool>,
790    r#type: Option<models::ProviderType>,
791    enabled: Option<bool>,
792    creation_date: Option<String>,
793    revision_date: Option<String>,
794    gateway: Option<models::GatewayType>,
795    gateway_customer_id: Option<&str>,
796    gateway_subscription_id: Option<&str>,
797    discount_id: Option<&str>,
798    tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
799) -> Result<(), Error<ProvidersProviderIdBillingVnextPaymentMethodPutError>> {
800    // add a prefix to parameters to efficiently prevent name collisions
801    let p_provider_id = provider_id;
802    let p_id = id;
803    let p_name = name;
804    let p_business_name = business_name;
805    let p_business_address1 = business_address1;
806    let p_business_address2 = business_address2;
807    let p_business_address3 = business_address3;
808    let p_business_country = business_country;
809    let p_business_tax_number = business_tax_number;
810    let p_billing_email = billing_email;
811    let p_billing_phone = billing_phone;
812    let p_status = status;
813    let p_use_events = use_events;
814    let p_type = r#type;
815    let p_enabled = enabled;
816    let p_creation_date = creation_date;
817    let p_revision_date = revision_date;
818    let p_gateway = gateway;
819    let p_gateway_customer_id = gateway_customer_id;
820    let p_gateway_subscription_id = gateway_subscription_id;
821    let p_discount_id = discount_id;
822    let p_tokenized_payment_method_request = tokenized_payment_method_request;
823
824    let uri_str = format!(
825        "{}/providers/{providerId}/billing/vnext/payment-method",
826        configuration.base_path,
827        providerId = crate::apis::urlencode(p_provider_id)
828    );
829    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
830
831    if let Some(ref param_value) = p_id {
832        req_builder = req_builder.query(&[("id", &param_value.to_string())]);
833    }
834    if let Some(ref param_value) = p_name {
835        req_builder = req_builder.query(&[("name", &param_value.to_string())]);
836    }
837    if let Some(ref param_value) = p_business_name {
838        req_builder = req_builder.query(&[("businessName", &param_value.to_string())]);
839    }
840    if let Some(ref param_value) = p_business_address1 {
841        req_builder = req_builder.query(&[("businessAddress1", &param_value.to_string())]);
842    }
843    if let Some(ref param_value) = p_business_address2 {
844        req_builder = req_builder.query(&[("businessAddress2", &param_value.to_string())]);
845    }
846    if let Some(ref param_value) = p_business_address3 {
847        req_builder = req_builder.query(&[("businessAddress3", &param_value.to_string())]);
848    }
849    if let Some(ref param_value) = p_business_country {
850        req_builder = req_builder.query(&[("businessCountry", &param_value.to_string())]);
851    }
852    if let Some(ref param_value) = p_business_tax_number {
853        req_builder = req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
854    }
855    if let Some(ref param_value) = p_billing_email {
856        req_builder = req_builder.query(&[("billingEmail", &param_value.to_string())]);
857    }
858    if let Some(ref param_value) = p_billing_phone {
859        req_builder = req_builder.query(&[("billingPhone", &param_value.to_string())]);
860    }
861    if let Some(ref param_value) = p_status {
862        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
863    }
864    if let Some(ref param_value) = p_use_events {
865        req_builder = req_builder.query(&[("useEvents", &param_value.to_string())]);
866    }
867    if let Some(ref param_value) = p_type {
868        req_builder = req_builder.query(&[("type", &param_value.to_string())]);
869    }
870    if let Some(ref param_value) = p_enabled {
871        req_builder = req_builder.query(&[("enabled", &param_value.to_string())]);
872    }
873    if let Some(ref param_value) = p_creation_date {
874        req_builder = req_builder.query(&[("creationDate", &param_value.to_string())]);
875    }
876    if let Some(ref param_value) = p_revision_date {
877        req_builder = req_builder.query(&[("revisionDate", &param_value.to_string())]);
878    }
879    if let Some(ref param_value) = p_gateway {
880        req_builder = req_builder.query(&[("gateway", &param_value.to_string())]);
881    }
882    if let Some(ref param_value) = p_gateway_customer_id {
883        req_builder = req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
884    }
885    if let Some(ref param_value) = p_gateway_subscription_id {
886        req_builder = req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
887    }
888    if let Some(ref param_value) = p_discount_id {
889        req_builder = req_builder.query(&[("discountId", &param_value.to_string())]);
890    }
891    if let Some(ref user_agent) = configuration.user_agent {
892        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
893    }
894    if let Some(ref token) = configuration.oauth_access_token {
895        req_builder = req_builder.bearer_auth(token.to_owned());
896    };
897    req_builder = req_builder.json(&p_tokenized_payment_method_request);
898
899    let req = req_builder.build()?;
900    let resp = configuration.client.execute(req).await?;
901
902    let status = resp.status();
903
904    if !status.is_client_error() && !status.is_server_error() {
905        Ok(())
906    } else {
907        let content = resp.text().await?;
908        let entity: Option<ProvidersProviderIdBillingVnextPaymentMethodPutError> =
909            serde_json::from_str(&content).ok();
910        Err(Error::ResponseError(ResponseContent {
911            status,
912            content,
913            entity,
914        }))
915    }
916}
917
918pub async fn providers_provider_id_billing_vnext_payment_method_verify_bank_account_post(
919    configuration: &configuration::Configuration,
920    provider_id: &str,
921    id: Option<uuid::Uuid>,
922    name: Option<&str>,
923    business_name: Option<&str>,
924    business_address1: Option<&str>,
925    business_address2: Option<&str>,
926    business_address3: Option<&str>,
927    business_country: Option<&str>,
928    business_tax_number: Option<&str>,
929    billing_email: Option<&str>,
930    billing_phone: Option<&str>,
931    status: Option<models::ProviderStatusType>,
932    use_events: Option<bool>,
933    r#type: Option<models::ProviderType>,
934    enabled: Option<bool>,
935    creation_date: Option<String>,
936    revision_date: Option<String>,
937    gateway: Option<models::GatewayType>,
938    gateway_customer_id: Option<&str>,
939    gateway_subscription_id: Option<&str>,
940    discount_id: Option<&str>,
941    verify_bank_account_request: Option<models::VerifyBankAccountRequest>,
942) -> Result<(), Error<ProvidersProviderIdBillingVnextPaymentMethodVerifyBankAccountPostError>> {
943    // add a prefix to parameters to efficiently prevent name collisions
944    let p_provider_id = provider_id;
945    let p_id = id;
946    let p_name = name;
947    let p_business_name = business_name;
948    let p_business_address1 = business_address1;
949    let p_business_address2 = business_address2;
950    let p_business_address3 = business_address3;
951    let p_business_country = business_country;
952    let p_business_tax_number = business_tax_number;
953    let p_billing_email = billing_email;
954    let p_billing_phone = billing_phone;
955    let p_status = status;
956    let p_use_events = use_events;
957    let p_type = r#type;
958    let p_enabled = enabled;
959    let p_creation_date = creation_date;
960    let p_revision_date = revision_date;
961    let p_gateway = gateway;
962    let p_gateway_customer_id = gateway_customer_id;
963    let p_gateway_subscription_id = gateway_subscription_id;
964    let p_discount_id = discount_id;
965    let p_verify_bank_account_request = verify_bank_account_request;
966
967    let uri_str = format!(
968        "{}/providers/{providerId}/billing/vnext/payment-method/verify-bank-account",
969        configuration.base_path,
970        providerId = crate::apis::urlencode(p_provider_id)
971    );
972    let mut req_builder = configuration
973        .client
974        .request(reqwest::Method::POST, &uri_str);
975
976    if let Some(ref param_value) = p_id {
977        req_builder = req_builder.query(&[("id", &param_value.to_string())]);
978    }
979    if let Some(ref param_value) = p_name {
980        req_builder = req_builder.query(&[("name", &param_value.to_string())]);
981    }
982    if let Some(ref param_value) = p_business_name {
983        req_builder = req_builder.query(&[("businessName", &param_value.to_string())]);
984    }
985    if let Some(ref param_value) = p_business_address1 {
986        req_builder = req_builder.query(&[("businessAddress1", &param_value.to_string())]);
987    }
988    if let Some(ref param_value) = p_business_address2 {
989        req_builder = req_builder.query(&[("businessAddress2", &param_value.to_string())]);
990    }
991    if let Some(ref param_value) = p_business_address3 {
992        req_builder = req_builder.query(&[("businessAddress3", &param_value.to_string())]);
993    }
994    if let Some(ref param_value) = p_business_country {
995        req_builder = req_builder.query(&[("businessCountry", &param_value.to_string())]);
996    }
997    if let Some(ref param_value) = p_business_tax_number {
998        req_builder = req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
999    }
1000    if let Some(ref param_value) = p_billing_email {
1001        req_builder = req_builder.query(&[("billingEmail", &param_value.to_string())]);
1002    }
1003    if let Some(ref param_value) = p_billing_phone {
1004        req_builder = req_builder.query(&[("billingPhone", &param_value.to_string())]);
1005    }
1006    if let Some(ref param_value) = p_status {
1007        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
1008    }
1009    if let Some(ref param_value) = p_use_events {
1010        req_builder = req_builder.query(&[("useEvents", &param_value.to_string())]);
1011    }
1012    if let Some(ref param_value) = p_type {
1013        req_builder = req_builder.query(&[("type", &param_value.to_string())]);
1014    }
1015    if let Some(ref param_value) = p_enabled {
1016        req_builder = req_builder.query(&[("enabled", &param_value.to_string())]);
1017    }
1018    if let Some(ref param_value) = p_creation_date {
1019        req_builder = req_builder.query(&[("creationDate", &param_value.to_string())]);
1020    }
1021    if let Some(ref param_value) = p_revision_date {
1022        req_builder = req_builder.query(&[("revisionDate", &param_value.to_string())]);
1023    }
1024    if let Some(ref param_value) = p_gateway {
1025        req_builder = req_builder.query(&[("gateway", &param_value.to_string())]);
1026    }
1027    if let Some(ref param_value) = p_gateway_customer_id {
1028        req_builder = req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1029    }
1030    if let Some(ref param_value) = p_gateway_subscription_id {
1031        req_builder = req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1032    }
1033    if let Some(ref param_value) = p_discount_id {
1034        req_builder = req_builder.query(&[("discountId", &param_value.to_string())]);
1035    }
1036    if let Some(ref user_agent) = configuration.user_agent {
1037        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1038    }
1039    if let Some(ref token) = configuration.oauth_access_token {
1040        req_builder = req_builder.bearer_auth(token.to_owned());
1041    };
1042    req_builder = req_builder.json(&p_verify_bank_account_request);
1043
1044    let req = req_builder.build()?;
1045    let resp = configuration.client.execute(req).await?;
1046
1047    let status = resp.status();
1048
1049    if !status.is_client_error() && !status.is_server_error() {
1050        Ok(())
1051    } else {
1052        let content = resp.text().await?;
1053        let entity: Option<ProvidersProviderIdBillingVnextPaymentMethodVerifyBankAccountPostError> =
1054            serde_json::from_str(&content).ok();
1055        Err(Error::ResponseError(ResponseContent {
1056            status,
1057            content,
1058            entity,
1059        }))
1060    }
1061}