Struct CreatePaymentIntent

Source
pub struct CreatePaymentIntent { /* private fields */ }
Expand description

Creates a PaymentIntent object.

After the PaymentIntent is created, attach a payment method and confirm. to continue the payment. Learn more about the available payment flows with the Payment Intents API.

When you use confirm=true during creation, it’s equivalent to creating and confirming the PaymentIntent in the same call. You can use any parameters available in the confirm API when you supply confirm=true.

Implementations§

Source§

impl CreatePaymentIntent

Source

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

Construct a new CreatePaymentIntent.

Source

pub fn application_fee_amount( self, application_fee_amount: impl Into<i64>, ) -> Self

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 amount captured. For more information, see the PaymentIntents use case for connected accounts.

Source

pub fn automatic_payment_methods( self, automatic_payment_methods: impl Into<CreatePaymentIntentAutomaticPaymentMethods>, ) -> Self

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.

Source

pub fn capture_method( self, capture_method: impl Into<PaymentIntentCaptureMethod>, ) -> Self

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

Source

pub fn confirm(self, confirm: impl Into<bool>) -> Self

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, you can also provide the parameters available in the Confirm API.

Source

pub fn confirmation_method( self, confirmation_method: impl Into<PaymentIntentConfirmationMethod>, ) -> Self

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

Source

pub fn confirmation_token(self, confirmation_token: impl Into<String>) -> Self

ID of the ConfirmationToken used to confirm this PaymentIntent.

If the provided ConfirmationToken contains properties that are also being provided in this request, such as payment_method, then the values in this request will take precedence.

Source

pub fn customer(self, customer: impl Into<String>) -> Self

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

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

If setup_future_usage is set and this PaymentIntent’s payment method is not card_present, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is card_present and isn’t a digital wallet, then a generated_card payment method representing the card is created and attached to the Customer instead.

Source

pub fn description(self, description: impl Into<String>) -> Self

An arbitrary string attached to the object. Often useful for displaying to users.

Source

pub fn error_on_requires_action( self, error_on_requires_action: impl Into<bool>, ) -> Self

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.

Source

pub fn expand(self, expand: impl Into<Vec<String>>) -> Self

Specifies which fields in the response should be expanded.

Source

pub fn mandate(self, mandate: impl Into<String>) -> Self

ID of the mandate that’s used for this payment. This parameter can only be used with confirm=true.

Source

pub fn mandate_data( self, mandate_data: impl Into<CreatePaymentIntentMandateData>, ) -> Self

This hash contains details about the Mandate to create. This parameter can only be used with confirm=true.

Source

pub fn metadata(self, metadata: impl Into<HashMap<String, String>>) -> Self

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.

Source

pub fn off_session( self, off_session: impl Into<CreatePaymentIntentOffSession>, ) -> Self

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.

Source

pub fn on_behalf_of(self, on_behalf_of: impl Into<String>) -> Self

The Stripe account ID that these funds are intended for. Learn more about the use case for connected accounts.

Source

pub fn payment_method(self, payment_method: impl Into<String>) -> Self

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.

Source

pub fn payment_method_configuration( self, payment_method_configuration: impl Into<String>, ) -> Self

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

Source

pub fn payment_method_data( self, payment_method_data: impl Into<CreatePaymentIntentPaymentMethodData>, ) -> Self

If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method. property on the PaymentIntent.

Source

pub fn payment_method_options( self, payment_method_options: impl Into<CreatePaymentIntentPaymentMethodOptions>, ) -> Self

Payment method-specific configuration for this PaymentIntent.

Source

pub fn payment_method_types( self, payment_method_types: impl Into<Vec<String>>, ) -> Self

The list of payment method types (for example, a card) that this PaymentIntent can use. If you don’t provide this, Stripe will dynamically show relevant payment methods from your payment method settings.

Source

pub fn radar_options( self, radar_options: impl Into<RadarOptionsWithHiddenOptions>, ) -> Self

Options to configure Radar. Learn more about Radar Sessions.

Source

pub fn receipt_email(self, receipt_email: impl Into<String>) -> Self

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.

Source

pub fn return_url(self, return_url: impl Into<String>) -> Self

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.

Source

pub fn setup_future_usage( self, setup_future_usage: impl Into<PaymentIntentSetupFutureUsage>, ) -> Self

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

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don’t provide a Customer, you can still attach the payment method to a Customer after the transaction completes.

If the payment method is card_present and isn’t a digital wallet, Stripe creates and attaches a generated_card payment method representing the card to the Customer instead.

When processing card payments, Stripe uses setup_future_usage to help you comply with regional legislation and network rules, such as SCA.

Source

pub fn shipping(self, shipping: impl Into<CreatePaymentIntentShipping>) -> Self

Shipping information for this PaymentIntent.

Source

pub fn statement_descriptor( self, statement_descriptor: impl Into<String>, ) -> Self

Text that appears on the customer’s statement as the statement descriptor for a non-card charge. This value overrides the account’s default statement descriptor. For information about requirements, including the 22-character limit, see the Statement Descriptor docs.

Setting this value for a card charge returns an error. For card charges, set the statement_descriptor_suffix instead.

Source

pub fn statement_descriptor_suffix( self, statement_descriptor_suffix: impl Into<String>, ) -> Self

Provides information about a card charge. Concatenated to the account’s statement descriptor prefix to form the complete statement descriptor that appears on the customer’s statement.

Source

pub fn transfer_data( self, transfer_data: impl Into<CreatePaymentIntentTransferData>, ) -> Self

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

Source

pub fn transfer_group(self, transfer_group: impl Into<String>) -> Self

A string that identifies the resulting payment as part of a group. Learn more about the use case for connected accounts.

Source

pub fn use_stripe_sdk(self, use_stripe_sdk: impl Into<bool>) -> Self

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

Source§

impl CreatePaymentIntent

Source

pub async fn send<C: StripeClient>( &self, client: &C, ) -> Result<<Self as StripeRequest>::Output, C::Err>

Send the request and return the deserialized response.

Source

pub fn send_blocking<C: StripeBlockingClient>( &self, client: &C, ) -> Result<<Self as StripeRequest>::Output, C::Err>

Send the request and return the deserialized response, blocking until completion.

Trait Implementations§

Source§

impl Clone for CreatePaymentIntent

Source§

fn clone(&self) -> CreatePaymentIntent

Returns a duplicate 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 Debug for CreatePaymentIntent

Source§

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

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

impl Serialize for CreatePaymentIntent

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
Source§

impl StripeRequest for CreatePaymentIntent

Source§

type Output = PaymentIntent

The data returned from the eventual API call.
Source§

fn build(&self) -> RequestBuilder

Convert the struct into library-agnostic data that can be used by compatible clients to make API calls.
Source§

fn customize(&self) -> CustomizableStripeRequest<Self::Output>

Convert to a builder allowing per-request customization.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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.
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