btcpay_client/apis/
payment_requests_api.rs

1/*
2 * BTCPay Greenfield API
3 *
4 * A full API to use your BTCPay Server
5 *
6 * The version of the OpenAPI document: v1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`payment_requests_archive_payment_request`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum PaymentRequestsArchivePaymentRequestError {
22    Status400(Vec<crate::models::ValidationProblemDetailsInner>),
23    Status403(),
24    Status404(),
25    UnknownValue(serde_json::Value),
26}
27
28/// struct for typed errors of method [`payment_requests_create_payment_request`]
29#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(untagged)]
31pub enum PaymentRequestsCreatePaymentRequestError {
32    Status400(Vec<crate::models::ValidationProblemDetailsInner>),
33    Status403(),
34    UnknownValue(serde_json::Value),
35}
36
37/// struct for typed errors of method [`payment_requests_get_payment_request`]
38#[derive(Debug, Clone, Serialize, Deserialize)]
39#[serde(untagged)]
40pub enum PaymentRequestsGetPaymentRequestError {
41    Status403(),
42    Status404(),
43    UnknownValue(serde_json::Value),
44}
45
46/// struct for typed errors of method [`payment_requests_get_payment_requests`]
47#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum PaymentRequestsGetPaymentRequestsError {
50    UnknownValue(serde_json::Value),
51}
52
53/// struct for typed errors of method [`payment_requests_update_payment_request`]
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum PaymentRequestsUpdatePaymentRequestError {
57    Status400(Vec<crate::models::ValidationProblemDetailsInner>),
58    Status403(),
59    UnknownValue(serde_json::Value),
60}
61
62
63/// Archives the specified payment request.
64pub async fn payment_requests_archive_payment_request(configuration: &configuration::Configuration, store_id: &str, payment_request_id: &str) -> Result<(), Error<PaymentRequestsArchivePaymentRequestError>> {
65    let local_var_configuration = configuration;
66
67    let local_var_client = &local_var_configuration.client;
68
69    let local_var_uri_str = format!("{}/api/v1/stores/{storeId}/payment-requests/{paymentRequestId}", local_var_configuration.base_path, storeId=crate::apis::urlencode(store_id), paymentRequestId=crate::apis::urlencode(payment_request_id));
70    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
71
72    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
73        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
74    }
75    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
76        let local_var_key = local_var_apikey.key.clone();
77        let local_var_value = match local_var_apikey.prefix {
78            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
79            None => local_var_key,
80        };
81        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
82    };
83    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
84        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
85    };
86
87    let local_var_req = local_var_req_builder.build()?;
88    let local_var_resp = local_var_client.execute(local_var_req).await?;
89
90    let local_var_status = local_var_resp.status();
91    let local_var_content = local_var_resp.text().await?;
92
93    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
94        Ok(())
95    } else {
96        let local_var_entity: Option<PaymentRequestsArchivePaymentRequestError> = serde_json::from_str(&local_var_content).ok();
97        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
98        Err(Error::ResponseError(local_var_error))
99    }
100}
101
102/// Create a new payment request
103pub async fn payment_requests_create_payment_request(configuration: &configuration::Configuration, store_id: &str, payment_request_base_data: crate::models::PaymentRequestBaseData) -> Result<crate::models::PaymentRequestData, Error<PaymentRequestsCreatePaymentRequestError>> {
104    let local_var_configuration = configuration;
105
106    let local_var_client = &local_var_configuration.client;
107
108    let local_var_uri_str = format!("{}/api/v1/stores/{storeId}/payment-requests", local_var_configuration.base_path, storeId=crate::apis::urlencode(store_id));
109    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
110
111    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
112        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
113    }
114    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
115        let local_var_key = local_var_apikey.key.clone();
116        let local_var_value = match local_var_apikey.prefix {
117            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
118            None => local_var_key,
119        };
120        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
121    };
122    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
123        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
124    };
125    local_var_req_builder = local_var_req_builder.json(&payment_request_base_data);
126
127    let local_var_req = local_var_req_builder.build()?;
128    let local_var_resp = local_var_client.execute(local_var_req).await?;
129
130    let local_var_status = local_var_resp.status();
131    let local_var_content = local_var_resp.text().await?;
132
133    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
134        serde_json::from_str(&local_var_content).map_err(Error::from)
135    } else {
136        let local_var_entity: Option<PaymentRequestsCreatePaymentRequestError> = serde_json::from_str(&local_var_content).ok();
137        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
138        Err(Error::ResponseError(local_var_error))
139    }
140}
141
142/// View information about the specified payment request
143pub async fn payment_requests_get_payment_request(configuration: &configuration::Configuration, store_id: &str, payment_request_id: &str) -> Result<crate::models::PaymentRequestData, Error<PaymentRequestsGetPaymentRequestError>> {
144    let local_var_configuration = configuration;
145
146    let local_var_client = &local_var_configuration.client;
147
148    let local_var_uri_str = format!("{}/api/v1/stores/{storeId}/payment-requests/{paymentRequestId}", local_var_configuration.base_path, storeId=crate::apis::urlencode(store_id), paymentRequestId=crate::apis::urlencode(payment_request_id));
149    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
150
151    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
152        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
153    }
154    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
155        let local_var_key = local_var_apikey.key.clone();
156        let local_var_value = match local_var_apikey.prefix {
157            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
158            None => local_var_key,
159        };
160        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
161    };
162    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
163        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
164    };
165
166    let local_var_req = local_var_req_builder.build()?;
167    let local_var_resp = local_var_client.execute(local_var_req).await?;
168
169    let local_var_status = local_var_resp.status();
170    let local_var_content = local_var_resp.text().await?;
171
172    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
173        serde_json::from_str(&local_var_content).map_err(Error::from)
174    } else {
175        let local_var_entity: Option<PaymentRequestsGetPaymentRequestError> = serde_json::from_str(&local_var_content).ok();
176        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
177        Err(Error::ResponseError(local_var_error))
178    }
179}
180
181/// View information about the existing payment requests
182pub async fn payment_requests_get_payment_requests(configuration: &configuration::Configuration, store_id: &str) -> Result<Vec<crate::models::PaymentRequestData>, Error<PaymentRequestsGetPaymentRequestsError>> {
183    let local_var_configuration = configuration;
184
185    let local_var_client = &local_var_configuration.client;
186
187    let local_var_uri_str = format!("{}/api/v1/stores/{storeId}/payment-requests", local_var_configuration.base_path, storeId=crate::apis::urlencode(store_id));
188    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
189
190    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
191        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
192    }
193    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
194        let local_var_key = local_var_apikey.key.clone();
195        let local_var_value = match local_var_apikey.prefix {
196            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
197            None => local_var_key,
198        };
199        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
200    };
201    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
202        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
203    };
204
205    let local_var_req = local_var_req_builder.build()?;
206    let local_var_resp = local_var_client.execute(local_var_req).await?;
207
208    let local_var_status = local_var_resp.status();
209    let local_var_content = local_var_resp.text().await?;
210
211    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
212        serde_json::from_str(&local_var_content).map_err(Error::from)
213    } else {
214        let local_var_entity: Option<PaymentRequestsGetPaymentRequestsError> = serde_json::from_str(&local_var_content).ok();
215        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
216        Err(Error::ResponseError(local_var_error))
217    }
218}
219
220/// Update a payment request
221pub async fn payment_requests_update_payment_request(configuration: &configuration::Configuration, store_id: &str, payment_request_id: &str, payment_request_base_data: crate::models::PaymentRequestBaseData) -> Result<crate::models::PaymentRequestData, Error<PaymentRequestsUpdatePaymentRequestError>> {
222    let local_var_configuration = configuration;
223
224    let local_var_client = &local_var_configuration.client;
225
226    let local_var_uri_str = format!("{}/api/v1/stores/{storeId}/payment-requests/{paymentRequestId}", local_var_configuration.base_path, storeId=crate::apis::urlencode(store_id), paymentRequestId=crate::apis::urlencode(payment_request_id));
227    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
228
229    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
230        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
231    }
232    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
233        let local_var_key = local_var_apikey.key.clone();
234        let local_var_value = match local_var_apikey.prefix {
235            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
236            None => local_var_key,
237        };
238        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
239    };
240    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
241        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
242    };
243    local_var_req_builder = local_var_req_builder.json(&payment_request_base_data);
244
245    let local_var_req = local_var_req_builder.build()?;
246    let local_var_resp = local_var_client.execute(local_var_req).await?;
247
248    let local_var_status = local_var_resp.status();
249    let local_var_content = local_var_resp.text().await?;
250
251    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
252        serde_json::from_str(&local_var_content).map_err(Error::from)
253    } else {
254        let local_var_entity: Option<PaymentRequestsUpdatePaymentRequestError> = serde_json::from_str(&local_var_content).ok();
255        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
256        Err(Error::ResponseError(local_var_error))
257    }
258}
259