pub struct CreatePaymentIntent<'a> {
Show 30 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_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 enabled, this PaymentIntent will accept payment methods that you have enabled in the Dashboard and 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 immediately.

This parameter defaults to false. When creating and confirming a PaymentIntent at the same time, parameters available in the confirm API may also be provided.

§confirmation_method: Option<PaymentIntentConfirmationMethod>§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.

This parameter is intended for simpler integrations that do not handle customer actions, like 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 to be 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 is not in your checkout flow during this payment attempt, and therefore is unable to authenticate.

This parameter is intended for 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 for which these funds are intended.

For details, see the PaymentIntents 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 neither the payment_method parameter nor the source parameter are provided with confirm=true, source will be automatically populated with customer.default_source to improve the migration experience for users of the Charges API.

We recommend that you explicitly provide the payment_method going forward.

§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 (e.g.

card) that this PaymentIntent is allowed to use. If this is not provided, defaults to [“card”]. Use automatic_payment_methods to manage payment methods from the Stripe Dashboard.

§radar_options: Option<CreatePaymentIntentRadarOptions>

Options to configure Radar.

See Radar Session for more information.

§receipt_email: Option<&'a str>

Email address that the receipt for the resulting payment will be sent to.

If receipt_email is specified for a payment in live mode, a receipt will be sent 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 non-card charges, you can use this value as the complete description that appears on your customers’ statements.

Must contain at least one letter, maximum 22 characters.

§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. Maximum 22 characters for the concatenated descriptor.

§transfer_data: Option<CreatePaymentIntentTransferData>

The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents use case for connected accounts.

§transfer_group: Option<&'a str>

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

See the PaymentIntents use case for connected accounts for details.

§use_stripe_sdk: Option<bool>

Set to true only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.

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 Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · 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 Twhere
    U: From<T>,

const: unstable · 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<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere
    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 Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere
    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