[][src]Struct stripe::CheckoutSession

pub struct CheckoutSession {
    pub id: CheckoutSessionId,
    pub billing_address_collection: Option<String>,
    pub cancel_url: String,
    pub client_reference_id: Option<String>,
    pub customer: Option<Expandable<Customer>>,
    pub customer_email: Option<String>,
    pub display_items: Option<Vec<CheckoutSessionDisplayItem>>,
    pub livemode: bool,
    pub locale: Option<CheckoutSessionLocale>,
    pub mode: Option<CheckoutSessionMode>,
    pub payment_intent: Option<Expandable<PaymentIntent>>,
    pub payment_method_types: Vec<String>,
    pub setup_intent: Option<Expandable<SetupIntent>>,
    pub submit_type: Option<CheckoutSessionSubmitType>,
    pub subscription: Option<Expandable<Subscription>>,
    pub success_url: String,
}

The resource representing a Stripe "Session".

Fields

id: CheckoutSessionId

Unique identifier for the object.

Used to pass to redirectToCheckout in Stripe.js.

billing_address_collection: Option<String>

The value (auto or required) for whether Checkout collected the customer's billing address.

cancel_url: String

The URL the customer will be directed to if they decide to cancel payment and return to your website.

client_reference_id: Option<String>

A unique string to reference the Checkout Session.

This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems.

customer: Option<Expandable<Customer>>

The ID of the customer for this session.

A new customer will be created unless an existing customer was provided in when the session was created.

customer_email: Option<String>

If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file.

To access information about the customer once a session is complete, use the customer field.

display_items: Option<Vec<CheckoutSessionDisplayItem>>

The line items, plans, or SKUs purchased by the customer.

livemode: bool

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

locale: Option<CheckoutSessionLocale>

The IETF language tag of the locale Checkout is displayed in.

If blank or auto, the browser's locale is used.

mode: Option<CheckoutSessionMode>

The mode of the Checkout Session, one of payment, setup, or subscription.

payment_intent: Option<Expandable<PaymentIntent>>

The ID of the PaymentIntent for payment mode.

payment_method_types: Vec<String>

A list of the types of payment methods (e.g.

card) this Checkout Session is allowed to accept.

setup_intent: Option<Expandable<SetupIntent>>

The ID of the SetupIntent if mode was set to setup.

submit_type: Option<CheckoutSessionSubmitType>

Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. submit_type can only be specified on Checkout Sessions using line items or a SKU, but not Checkout Sessions for subscriptions.

Supported values are auto, book, donate, or pay.

subscription: Option<Expandable<Subscription>>

The ID of the subscription created if one or more plans were provided.

success_url: String

The URL the customer will be directed to after the payment or subscription creation is successful.

Trait Implementations

impl Clone for CheckoutSession[src]

impl Debug for CheckoutSession[src]

impl<'de> Deserialize<'de> for CheckoutSession[src]

impl Object for CheckoutSession[src]

type Id = CheckoutSessionId

The canonical id type for this object.

impl Serialize for CheckoutSession[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.