pub struct CreatePaymentIntent<'a> {
Show 31 fields pub amount: i64, pub application_fee_amount: Option<i64>, pub automatic_payment_methods: Option<CreatePaymentIntentAutomaticPaymentMethods>, pub capture_method: Option<PaymentIntentCaptureMethod>, pub confirm: Option<bool>, pub confirmation_method: Option<PaymentIntentConfirmationMethod>, pub currency: Currency, pub customer: Option<CustomerId>, pub description: Option<&'a str>, pub error_on_requires_action: Option<bool>, pub expand: &'a [&'a str], pub mandate: Option<MandateId>, pub mandate_data: Option<CreatePaymentIntentMandateData>, pub metadata: Option<Metadata>, pub off_session: Option<PaymentIntentOffSession>, pub on_behalf_of: Option<&'a str>, pub payment_method: Option<PaymentMethodId>, pub payment_method_configuration: Option<PaymentMethodConfigurationId>, pub payment_method_data: Option<CreatePaymentIntentPaymentMethodData>, pub payment_method_options: Option<CreatePaymentIntentPaymentMethodOptions>, pub payment_method_types: Option<Vec<String>>, pub radar_options: Option<CreatePaymentIntentRadarOptions>, pub receipt_email: Option<&'a str>, pub return_url: Option<&'a str>, pub setup_future_usage: Option<PaymentIntentSetupFutureUsage>, pub shipping: Option<CreatePaymentIntentShipping>, pub statement_descriptor: Option<&'a str>, pub statement_descriptor_suffix: Option<&'a str>, pub transfer_data: Option<CreatePaymentIntentTransferData>, pub transfer_group: Option<&'a str>, pub use_stripe_sdk: Option<bool>,
}
Expand description

The parameters for PaymentIntent::create.

Fields§

§amount: i64

Amount intended to be collected by this PaymentIntent.

A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

§application_fee_amount: Option<i64>

The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account.

The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents use case for connected accounts.

§automatic_payment_methods: Option<CreatePaymentIntentAutomaticPaymentMethods>

When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent’s other parameters.

§capture_method: Option<PaymentIntentCaptureMethod>

Controls when the funds will be captured from the customer’s account.

§confirm: Option<bool>

Set to true to attempt to confirm this PaymentIntent this PaymentIntent immediately.

This parameter defaults to false. When creating and confirming a PaymentIntent at the same time, you can also provide the parameters available in the Confirm API.

§confirmation_method: Option<PaymentIntentConfirmationMethod>

Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment.

§currency: Currency

Three-letter ISO currency code, in lowercase.

Must be a supported currency.

§customer: Option<CustomerId>

ID of the Customer this PaymentIntent belongs to, if one exists.

Payment methods attached to other Customers cannot be used with this PaymentIntent.

If present in combination with setup_future_usage, this PaymentIntent’s payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.

§description: Option<&'a str>

An arbitrary string attached to the object.

Often useful for displaying to users.

§error_on_requires_action: Option<bool>

Set to true to fail the payment attempt if the PaymentIntent transitions into requires_action.

Use this parameter for simpler integrations that don’t handle customer actions, such as saving cards without authentication. This parameter can only be used with confirm=true.

§expand: &'a [&'a str]

Specifies which fields in the response should be expanded.

§mandate: Option<MandateId>

ID of the mandate that’s used for this payment.

This parameter can only be used with confirm=true.

§mandate_data: Option<CreatePaymentIntentMandateData>

This hash contains details about the Mandate to create.

This parameter can only be used with confirm=true.

§metadata: Option<Metadata>

Set of key-value pairs that you can attach to an object.

This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

§off_session: Option<PaymentIntentOffSession>

Set to true to indicate that the customer isn’t in your checkout flow during this payment attempt and can’t authenticate.

Use this parameter in scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.

§on_behalf_of: Option<&'a str>

The Stripe account ID that these funds are intended for.

Learn more about the use case for connected accounts.

§payment_method: Option<PaymentMethodId>

ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.

If you don’t provide the payment_method parameter or the source parameter with confirm=true, source automatically populates with customer.default_source to improve migration for users of the Charges API.

We recommend that you explicitly provide the payment_method moving forward.

§payment_method_configuration: Option<PaymentMethodConfigurationId>

The ID of the payment method configuration to use with this PaymentIntent.

§payment_method_data: Option<CreatePaymentIntentPaymentMethodData>

If provided, this hash will be used to create a PaymentMethod.

The new PaymentMethod will appear in the payment_method property on the PaymentIntent.

§payment_method_options: Option<CreatePaymentIntentPaymentMethodOptions>

Payment method-specific configuration for this PaymentIntent.

§payment_method_types: Option<Vec<String>>

The list of payment method types (for example, a card) that this PaymentIntent can use.

If you don’t provide this, it defaults to [“card”]. Use automatic_payment_methods to manage payment methods from the Stripe Dashboard.

§radar_options: Option<CreatePaymentIntentRadarOptions>

Options to configure Radar.

Learn more about Radar Sessions.

§receipt_email: Option<&'a str>

Email address to send the receipt to.

If you specify receipt_email for a payment in live mode, you send a receipt regardless of your email settings.

§return_url: Option<&'a str>

The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site.

If you’d prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with confirm=true.

§setup_future_usage: Option<PaymentIntentSetupFutureUsage>

Indicates that you intend to make future payments with this PaymentIntent’s payment method.

Providing this parameter will attach the payment method to the PaymentIntent’s Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete.

If no Customer was provided, the payment method can still be attached to a Customer after the transaction completes. When processing card payments, Stripe also uses setup_future_usage to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA.

§shipping: Option<CreatePaymentIntentShipping>

Shipping information for this PaymentIntent.

§statement_descriptor: Option<&'a str>

For card charges, use statement_descriptor_suffix.

Otherwise, you can use this value as the complete description of a charge on your customers’ statements. It must contain at least one letter and be 1–22 characters long.

§statement_descriptor_suffix: Option<&'a str>

Provides information about a card payment that customers see on their statements.

Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. The concatenated descriptor must contain 1-22 characters.

§transfer_data: Option<CreatePaymentIntentTransferData>

The parameters that you can use to automatically create a Transfer. Learn more about the use case for connected accounts.

§transfer_group: Option<&'a str>

A string that identifies the resulting payment as part of a group.

Learn more about the use case for connected accounts.

§use_stripe_sdk: Option<bool>

Set to true when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.

Implementations§

source§

impl<'a> CreatePaymentIntent<'a>

source

pub fn new(amount: i64, currency: Currency) -> Self

Trait Implementations§

source§

impl<'a> Clone for CreatePaymentIntent<'a>

source§

fn clone(&self) -> CreatePaymentIntent<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for CreatePaymentIntent<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> Serialize for CreatePaymentIntent<'a>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more