Struct stripe::CreatePaymentIntent
source · 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§
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