use stripe_client_core::{
RequestBuilder, StripeBlockingClient, StripeClient, StripeMethod, StripeRequest,
};
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
struct CreateCustomerSessionBuilder {
components: CreateCustomerSessionComponents,
#[serde(skip_serializing_if = "Option::is_none")]
customer: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
customer_account: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
expand: Option<Vec<String>>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionBuilder {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionBuilder").finish_non_exhaustive()
}
}
impl CreateCustomerSessionBuilder {
fn new(components: impl Into<CreateCustomerSessionComponents>) -> Self {
Self { components: components.into(), customer: None, customer_account: None, expand: None }
}
}
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponents {
#[serde(skip_serializing_if = "Option::is_none")]
pub buy_button: Option<CreateCustomerSessionComponentsBuyButton>,
#[serde(skip_serializing_if = "Option::is_none")]
pub customer_sheet: Option<CreateCustomerSessionComponentsCustomerSheet>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mobile_payment_element: Option<CreateCustomerSessionComponentsMobilePaymentElement>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_element: Option<CreateCustomerSessionComponentsPaymentElement>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pricing_table: Option<CreateCustomerSessionComponentsPricingTable>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponents {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponents").finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponents {
pub fn new() -> Self {
Self {
buy_button: None,
customer_sheet: None,
mobile_payment_element: None,
payment_element: None,
pricing_table: None,
}
}
}
impl Default for CreateCustomerSessionComponents {
fn default() -> Self {
Self::new()
}
}
#[derive(Copy, Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsBuyButton {
pub enabled: bool,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsBuyButton {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsBuyButton").finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsBuyButton {
pub fn new(enabled: impl Into<bool>) -> Self {
Self { enabled: enabled.into() }
}
}
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsCustomerSheet {
pub enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub features: Option<CreateCustomerSessionComponentsCustomerSheetFeatures>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsCustomerSheet {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsCustomerSheet").finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsCustomerSheet {
pub fn new(enabled: impl Into<bool>) -> Self {
Self { enabled: enabled.into(), features: None }
}
}
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsCustomerSheetFeatures {
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_allow_redisplay_filters: Option<
Vec<CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters>,
>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_remove:
Option<CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsCustomerSheetFeatures {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsCustomerSheetFeatures")
.finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsCustomerSheetFeatures {
pub fn new() -> Self {
Self { payment_method_allow_redisplay_filters: None, payment_method_remove: None }
}
}
impl Default for CreateCustomerSessionComponentsCustomerSheetFeatures {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters {
Always,
Limited,
Unspecified,
Unknown(String),
}
impl CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters::*;
match self {
Always => "always",
Limited => "limited",
Unspecified => "unspecified",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters::*;
match s {
"always" => Ok(Always),
"limited" => Ok(Limited),
"unspecified" => Ok(Unspecified),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug
for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug
for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters
))
.finish_non_exhaustive()
}
}
impl serde::Serialize
for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters
{
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodAllowRedisplayFilters
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove {
Disabled,
Enabled,
Unknown(String),
}
impl CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove::*;
match self {
Disabled => "disabled",
Enabled => "enabled",
Unknown(v) => v,
}
}
}
impl std::str::FromStr for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove::*;
match s {
"disabled" => Ok(Disabled),
"enabled" => Ok(Enabled),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove
))
.finish_non_exhaustive()
}
}
impl serde::Serialize for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsCustomerSheetFeaturesPaymentMethodRemove
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsMobilePaymentElement {
pub enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub features: Option<CreateCustomerSessionComponentsMobilePaymentElementFeatures>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsMobilePaymentElement {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsMobilePaymentElement")
.finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsMobilePaymentElement {
pub fn new(enabled: impl Into<bool>) -> Self {
Self { enabled: enabled.into(), features: None }
}
}
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsMobilePaymentElementFeatures {
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_allow_redisplay_filters: Option<Vec<CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_redisplay: Option<CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_remove: Option<CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_save: Option<CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_save_allow_redisplay_override: Option<CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsMobilePaymentElementFeatures {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsMobilePaymentElementFeatures")
.finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsMobilePaymentElementFeatures {
pub fn new() -> Self {
Self {
payment_method_allow_redisplay_filters: None,
payment_method_redisplay: None,
payment_method_remove: None,
payment_method_save: None,
payment_method_save_allow_redisplay_override: None,
}
}
}
impl Default for CreateCustomerSessionComponentsMobilePaymentElementFeatures {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters
{
Always,
Limited,
Unspecified,
Unknown(String),
}
impl CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters::*;
match self {
Always => "always",
Limited => "limited",
Unspecified => "unspecified",
Unknown(v) => v,
}
}
}
impl std::str::FromStr for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters::*;
match s {
"always" => Ok(Always),
"limited" => Ok(Limited),
"unspecified" => Ok(Unspecified),
v => { tracing::warn!("Unknown value '{}' for enum '{}'", v, "CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters"); Ok(Unknown(v.to_owned())) }
}
}
}
impl std::fmt::Display for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters)).finish_non_exhaustive()
}
}
impl serde::Serialize for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: serde::Serializer {
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de> for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay {
Disabled,
Enabled,
Unknown(String),
}
impl CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay::*;
match self {
Disabled => "disabled",
Enabled => "enabled",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay::*;
match s {
"disabled" => Ok(Disabled),
"enabled" => Ok(Enabled),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay
))
.finish_non_exhaustive()
}
}
impl serde::Serialize
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay
{
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRedisplay
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove {
Disabled,
Enabled,
Unknown(String),
}
impl CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove::*;
match self {
Disabled => "disabled",
Enabled => "enabled",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove::*;
match s {
"disabled" => Ok(Disabled),
"enabled" => Ok(Enabled),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove
))
.finish_non_exhaustive()
}
}
impl serde::Serialize
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove
{
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodRemove
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave {
Disabled,
Enabled,
Unknown(String),
}
impl CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave::*;
match self {
Disabled => "disabled",
Enabled => "enabled",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave::*;
match s {
"disabled" => Ok(Disabled),
"enabled" => Ok(Enabled),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave
))
.finish_non_exhaustive()
}
}
impl serde::Serialize
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave
{
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSave
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride
{
Always,
Limited,
Unspecified,
Unknown(String),
}
impl CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride::*;
match self {
Always => "always",
Limited => "limited",
Unspecified => "unspecified",
Unknown(v) => v,
}
}
}
impl std::str::FromStr for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride::*;
match s {
"always" => Ok(Always),
"limited" => Ok(Limited),
"unspecified" => Ok(Unspecified),
v => { tracing::warn!("Unknown value '{}' for enum '{}'", v, "CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride"); Ok(Unknown(v.to_owned())) }
}
}
}
impl std::fmt::Display for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride)).finish_non_exhaustive()
}
}
impl serde::Serialize for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: serde::Serializer {
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de> for CreateCustomerSessionComponentsMobilePaymentElementFeaturesPaymentMethodSaveAllowRedisplayOverride {
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsPaymentElement {
pub enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub features: Option<CreateCustomerSessionComponentsPaymentElementFeatures>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsPaymentElement {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsPaymentElement").finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsPaymentElement {
pub fn new(enabled: impl Into<bool>) -> Self {
Self { enabled: enabled.into(), features: None }
}
}
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsPaymentElementFeatures {
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_allow_redisplay_filters: Option<
Vec<
CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters,
>,
>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_redisplay:
Option<CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_redisplay_limit: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_remove:
Option<CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_save:
Option<CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_save_usage:
Option<CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage>,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsPaymentElementFeatures {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsPaymentElementFeatures")
.finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsPaymentElementFeatures {
pub fn new() -> Self {
Self {
payment_method_allow_redisplay_filters: None,
payment_method_redisplay: None,
payment_method_redisplay_limit: None,
payment_method_remove: None,
payment_method_save: None,
payment_method_save_usage: None,
}
}
}
impl Default for CreateCustomerSessionComponentsPaymentElementFeatures {
fn default() -> Self {
Self::new()
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
Always,
Limited,
Unspecified,
Unknown(String),
}
impl CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters::*;
match self {
Always => "always",
Limited => "limited",
Unspecified => "unspecified",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters::*;
match s {
"always" => Ok(Always),
"limited" => Ok(Limited),
"unspecified" => Ok(Unspecified),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters
))
.finish_non_exhaustive()
}
}
impl serde::Serialize
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters
{
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodAllowRedisplayFilters
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay {
Disabled,
Enabled,
Unknown(String),
}
impl CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay::*;
match self {
Disabled => "disabled",
Enabled => "enabled",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay::*;
match s {
"disabled" => Ok(Disabled),
"enabled" => Ok(Enabled),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay
))
.finish_non_exhaustive()
}
}
impl serde::Serialize
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay
{
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRedisplay
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove {
Disabled,
Enabled,
Unknown(String),
}
impl CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove::*;
match self {
Disabled => "disabled",
Enabled => "enabled",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove::*;
match s {
"disabled" => Ok(Disabled),
"enabled" => Ok(Enabled),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove
))
.finish_non_exhaustive()
}
}
impl serde::Serialize for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodRemove
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave {
Disabled,
Enabled,
Unknown(String),
}
impl CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave::*;
match self {
Disabled => "disabled",
Enabled => "enabled",
Unknown(v) => v,
}
}
}
impl std::str::FromStr for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave::*;
match s {
"disabled" => Ok(Disabled),
"enabled" => Ok(Enabled),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave
))
.finish_non_exhaustive()
}
}
impl serde::Serialize for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSave
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Clone, Eq, PartialEq)]
#[non_exhaustive]
pub enum CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage {
OffSession,
OnSession,
Unknown(String),
}
impl CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage {
pub fn as_str(&self) -> &str {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage::*;
match self {
OffSession => "off_session",
OnSession => "on_session",
Unknown(v) => v,
}
}
}
impl std::str::FromStr
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage
{
type Err = std::convert::Infallible;
fn from_str(s: &str) -> Result<Self, Self::Err> {
use CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage::*;
match s {
"off_session" => Ok(OffSession),
"on_session" => Ok(OnSession),
v => {
tracing::warn!(
"Unknown value '{}' for enum '{}'",
v,
"CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage"
);
Ok(Unknown(v.to_owned()))
}
}
}
}
impl std::fmt::Display
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(not(feature = "redact-generated-debug"))]
impl std::fmt::Debug
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct(stringify!(
CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage
))
.finish_non_exhaustive()
}
}
impl serde::Serialize
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage
{
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
serializer.serialize_str(self.as_str())
}
}
#[cfg(feature = "deserialize")]
impl<'de> serde::Deserialize<'de>
for CreateCustomerSessionComponentsPaymentElementFeaturesPaymentMethodSaveUsage
{
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
use std::str::FromStr;
let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
Ok(Self::from_str(&s).expect("infallible"))
}
}
#[derive(Copy, Clone, Eq, PartialEq)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSessionComponentsPricingTable {
pub enabled: bool,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSessionComponentsPricingTable {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSessionComponentsPricingTable").finish_non_exhaustive()
}
}
impl CreateCustomerSessionComponentsPricingTable {
pub fn new(enabled: impl Into<bool>) -> Self {
Self { enabled: enabled.into() }
}
}
#[derive(Clone)]
#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
#[derive(serde::Serialize)]
pub struct CreateCustomerSession {
inner: CreateCustomerSessionBuilder,
}
#[cfg(feature = "redact-generated-debug")]
impl std::fmt::Debug for CreateCustomerSession {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("CreateCustomerSession").finish_non_exhaustive()
}
}
impl CreateCustomerSession {
pub fn new(components: impl Into<CreateCustomerSessionComponents>) -> Self {
Self { inner: CreateCustomerSessionBuilder::new(components.into()) }
}
pub fn customer(mut self, customer: impl Into<String>) -> Self {
self.inner.customer = Some(customer.into());
self
}
pub fn customer_account(mut self, customer_account: impl Into<String>) -> Self {
self.inner.customer_account = Some(customer_account.into());
self
}
pub fn expand(mut self, expand: impl Into<Vec<String>>) -> Self {
self.inner.expand = Some(expand.into());
self
}
}
impl CreateCustomerSession {
pub async fn send<C: StripeClient>(
&self,
client: &C,
) -> Result<<Self as StripeRequest>::Output, C::Err> {
self.customize().send(client).await
}
pub fn send_blocking<C: StripeBlockingClient>(
&self,
client: &C,
) -> Result<<Self as StripeRequest>::Output, C::Err> {
self.customize().send_blocking(client)
}
}
impl StripeRequest for CreateCustomerSession {
type Output = stripe_core::CustomerSession;
fn build(&self) -> RequestBuilder {
RequestBuilder::new(StripeMethod::Post, "/customer_sessions").form(&self.inner)
}
}