PaymentIntent

@Serializable
data class PaymentIntent : Serializable

The PaymentIntent represents your intent to collect payment from a customer, tracking the lifecycle of the payment process through each step. Each PaymentIntent typically correlates with a single “cart” or customer session in your application.

Use of this SDK is subject to the Stripe Terminal Terms: https://stripe.com/terminal/legal

Properties

Link copied to clipboard
val amount: Long = 0

Get the amount of the PaymentIntent

Link copied to clipboard

Amount that can be captured from this PaymentIntent

Link copied to clipboard

Details about items included in the amount

Link copied to clipboard

Amount that was collected by this PaymentIntent.

Link copied to clipboard
val amountRequested: Long? = null

The originally specified request amount if the transaction was partially authorized

Link copied to clipboard
val amountTip: Long? = null

Indicates how much the user intends to tip in addition to the amount by at confirmation time. This is only non-null in the PaymentIntent instance returned during collect when using updatePaymentIntent set to true in the CollectConfiguration. After confirmPaymentIntent the amount will have this tip amount added to it and the amountDetails will contain the breakdown of how much of the amount was a tip.

Link copied to clipboard
val application: String? = null

ID of the Connect application that created the PaymentIntent

Link copied to clipboard

The amount of the application fee for this PaymentIntent

Link copied to clipboard
val canceledAt: Long = 0

Populated when status is PaymentIntentStatus.CANCELED, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch.

Link copied to clipboard

Reason for cancellation of this PaymentIntent, either user-provided (duplicate, fraudulent, requested_by_customer, or abandoned) or generated by Stripe internally (failed_invoice, void_invoice, or automatic).

Link copied to clipboard
val captureMethod: String? = null

One of automatic (default) or manual. When the capture method is automatic, Stripe automatically captures funds when the customer authorizes the payment.

Link copied to clipboard
val clientSecret: String? = null

Get the client secret returned by this intent.

Link copied to clipboard

One of automatic (default) or manual. When the confirmation method is automatic, a PaymentIntent can be confirmed using a publishable key. After next_actions are handled, no additional confirmation is required to complete the payment.

Link copied to clipboard
val created: Long = 0

Time at which the PaymentIntent was created. Measured in seconds since the Unix epoch.

Link copied to clipboard
val currency: String? = null

Three-letter ISO currency code, in lowercase. Must be a supported currency.

Link copied to clipboard
val customer: String? = null

ID of the Customer this PaymentIntent belongs to, if one exists. If present, payment methods used with this PaymentIntent can only be attached to this Customer, and payment methods attached to other Customers cannot be used with this PaymentIntent.

Link copied to clipboard
val description: String? = null

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

Link copied to clipboard
val id: String?

Get the unique identifier for the PaymentIntent

Link copied to clipboard
val invoice: String? = null

ID of the invoice that created this PaymentIntent, if it exists.

Link copied to clipboard

The payment error encountered in the previous PaymentIntent confirmation.

Link copied to clipboard
val livemode: Boolean = false

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

Link copied to clipboard
val metadata: Map<String, String>? = null

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the PaymentIntent in a structured format.

Link copied to clipboard
val nextAction: NextAction? = null

Next Action required

Link copied to clipboard

The offlineDetails for this intent, if created or processed while offline. When created offline the id will be nil. The OfflineDetails.requiresUpload can be used to identify that the intent was processed offline and requires the device to be brought back online before the intent can be captured. See Also: How to operate offline

Link copied to clipboard
val onBehalfOf: String? = null

Return the account that the PaymentIntent is on behalf of

Link copied to clipboard

Full payment method object from the API.

Link copied to clipboard
@Transient
val paymentMethodId: String?

ID of the payment method used in this PaymentIntent.

Link copied to clipboard

PaymentMethod options configured on the payment intent

Link copied to clipboard

Available Payment Method Types

Link copied to clipboard
val receiptEmail: String? = null

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

Link copied to clipboard
val review: String? = null

ID of the review associated with this PaymentIntent, if any.

Link copied to clipboard

Value of setup_future_usage associated with this PaymentIntent, if any.

Link copied to clipboard

Extra information about a PaymentIntent. This will appear on your customer’s statement when this PaymentIntent succeeds in creating a charge.

Link copied to clipboard

Extra dynamic information about a PaymentIntent. This will appear concatenated with the statementDescriptor on your customer’s statement when this PaymentIntent succeeds in creating a charge.

Link copied to clipboard
Link copied to clipboard
val transferGroup: String? = null

Get the transfer group of this PaymentIntent

Functions

Link copied to clipboard

Return the Charge objects associated with this PaymentIntent