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§
Trait Implementations§
Source§impl<'a> Clone for CreatePaymentIntent<'a>
impl<'a> Clone for CreatePaymentIntent<'a>
Source§fn clone(&self) -> CreatePaymentIntent<'a>
fn clone(&self) -> CreatePaymentIntent<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more