Package com.stripe.stripeterminal.external.models

Types

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Address @JvmOverloads constructor(city: String?, country: String?, line1: String?, line2: String?, postalCode: String?, state: String?) : Parcelable

The Address class stores address data for use with the Location class

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class AmountDetails(tip: Tip?) : Parcelable

AmountDetails contains details about items included in the PaymentIntent amount

Link copied to clipboard
enum BatteryStatus : Enum<BatteryStatus>
Link copied to clipboard
class CaptureMethod

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

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CardDetails : Parcelable

The CardDetails object contains details about a specific card presented to a reader

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CardNetworks : Parcelable

Contains information about card networks that can be used to process the payment.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CardOptions(@Json(name = "requestThreeDSecure") request3dSecure: Request3dSecureType?) : Parcelable

Configurations that will be applied to each setup attempt.

Link copied to clipboard
class CardPresentCaptureMethod

Capture Method values that can be used as card-present payment method options.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CardPresentDetails : Parcelable

CardPresentDetails contains payment method details for a payment method of type CARD_PRESENT

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CardPresentOptions(routing: CardPresentRoutingOptions?) : Parcelable

Card-Present PaymentMethod options.

Link copied to clipboard
class CardPresentParameters

Card present configuration for this PaymentMethod. Card Present

Link copied to clipboard
data class CardPresentRoutingOptionParameters(requestedPriority: RoutingPriority?)

Parameters for routing on a card-present transaction.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CardPresentRoutingOptions(requestedPriority: RoutingPriority?, computedPriority: List<RoutingPriority>?) : Parcelable

Routing priorities for card-present Payment Intents

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Cart

Cart contains information on what items are included in a transaction that will be shown on a reader when using setReaderDisplay.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class CartLineItem

CartLineItem contains information for a line item in a Cart

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Charge : Parcelable

The Charge object contains details about a charge made to a PaymentIntent

Link copied to clipboard
data class CollectConfiguration

The CollectConfiguration contains configuration information relevant to collecting a payment method.

Link copied to clipboard
data class CollectInputsCustomText

Customize the text to display on a form. Title is required, all other fields are optional.

Link copied to clipboard
data class CollectInputsEmailInput : CollectInputsInput

CollectInputsEmailInput contains information about a email form to display on the reader

Link copied to clipboard
interface CollectInputsInput

Represents a single input form

Link copied to clipboard
data class CollectInputsNumericInput : CollectInputsInput

CollectInputsNumericInput contains information about a numeric form to display on the reader

Link copied to clipboard
interface CollectInputsOutcome

CollectInputsResult contains information about the data collected from a given form and data used to populate the form.

Link copied to clipboard
data class CollectInputsParameters

CollectInputsParameters contains information about the inputs to collect from the reader

Link copied to clipboard
data class CollectInputsPhoneInput : CollectInputsInput

CollectInputsPhoneInput contains information about a phone form to display on the reader

Link copied to clipboard
data class CollectInputsSelectionChoice

Contains information for a selection form button

Link copied to clipboard

Set the style of a selection form button

Link copied to clipboard
data class CollectInputsSelectionInput : CollectInputsInput

CollectInputsSelectionInput contains information about a selection form to display on the reader

Link copied to clipboard
data class CollectInputsSelectionOutcome(required: Boolean, customText: CollectInputsCustomText, skipped: Boolean, selectionChoices: List<CollectInputsSelectionChoice>, selectedChoice: String?) : CollectInputsOutcome

CollectInputsSelectionResult contains data collected from a selection form and data used to populate the form.

Link copied to clipboard
data class CollectInputsSignatureInput : CollectInputsInput

CollectInputsSignatureInput contains information about a signature form to display on the reader

Link copied to clipboard
data class CollectInputsSignatureOutcome(required: Boolean, customText: CollectInputsCustomText, skipped: Boolean, signatureSvg: String?) : CollectInputsOutcome

CollectInputsSignatureResult contains data collected from a signature form and data used to populate the form.

Link copied to clipboard
data class CollectInputsTextInput : CollectInputsInput

CollectInputsTextInput contains information about a text form to display on the reader

Link copied to clipboard
sealed class ConnectionConfiguration

The ConnectionConfiguration class contains configuration information for connecting to a reader.

Link copied to clipboard
enum ConnectionStatus : Enum<ConnectionStatus>

The ConnectionStatus represents the current state of the reader-terminal connection.

Link copied to clipboard
class ConnectionTokenException @JvmOverloads constructor(message: String, cause: Throwable?) : Exception

The ConnectionTokenException is an exception type that should be thrown by the ConnectionTokenProvider when there's an unresolvable error that prevents us from fetching a connection token

Link copied to clipboard
data class CreateConfiguration(offlineBehavior: OfflineBehavior)

The CreateConfiguration contains configuration information relevant to creating a payment method.

Link copied to clipboard
class CustomerAcceptanceParameters

Details about the customer acceptance of a Mandate.

Link copied to clipboard
enum CustomerAcceptanceType : Enum<CustomerAcceptanceType>

Type of customer acceptance information included with the Mandate.

Link copied to clipboard
enum DeviceType : Enum<DeviceType>

The possible device types for a reader.

Link copied to clipboard
data class DiscoveryConfiguration @JvmOverloads constructor(timeout: Int, discoveryMethod: DiscoveryMethod, isSimulated: Boolean, location: String?)

The DiscoveryConfiguration contains configuration information relevant to the reader discovery process.

Link copied to clipboard
enum DiscoveryMethod : Enum<DiscoveryMethod>

The DiscoveryMethod enum represents the possible ways of discovery readers.

Link copied to clipboard
data class EmvBlob

The EmvBlob is an internal data class meant to wrap the EMV blob generated for a specific SimulatedCard.

Link copied to clipboard
interface ExpandableLocation

Expandable Location Union Type.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class GeneratedFrom : Parcelable

The GeneratedFrom object contains details of the original PaymentMethod that created this CardDetails object.

Link copied to clipboard

Represents the ability for a PaymentIntent to be incrementally authorized.

Link copied to clipboard
data class ListLocationsParameters

Arguments used when fetching a list of Locations.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Location @JvmOverloads constructor(id: String?, address: Address?, displayName: String?, livemode: Boolean?, metadata: Map<String, String>?) : Parcelable

The Location class contains details about the location object to which readers can be registered.

Link copied to clipboard
enum LocationStatus : Enum<LocationStatus>

LocationStatus represents the potential states of a Reader object with respect to its registeredLocation field.

Link copied to clipboard
data class MandateOnlineAcceptanceData(ipAddress: String, userAgent: String)

If a Mandate is accepted online, this contains details about the online acceptance.

Link copied to clipboard
data class MandateParameters(customerAcceptance: CustomerAcceptanceParameters)

Details about a Mandate to be created.

Link copied to clipboard
enum NetworkStatus : Enum<NetworkStatus>

The NetworkStatus represents the current network status, as determined by the Terminal SDK.

Link copied to clipboard
enum OfflineBehavior : Enum<OfflineBehavior>

The OfflineBehavior allows you to configure how the Terminal SDK should handle the specified PaymentIntent while unable to reach stripe.com.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class OfflineCardPresentDetails(brand: String?, expMonth: Int, expYear: Int, last4: String?, readMethod: String?, cardholderName: String?, @Json(name = "receipt") receiptDetails: ReceiptDetails?) : Parcelable

OfflineCardPresentDetails contains details about the payment method used to process a PaymentIntent offline.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class OfflineDetails(id: String?, storedAt: Date, cardPresentDetails: OfflineCardPresentDetails?, amountDetails: AmountDetails?, requiresUpload: Boolean) : Parcelable

OfflineDetails holds unique information for a PaymentIntent that was created or processed offline. Useful for relating a forwarded PaymentIntent to the offline PaymentIntent.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class PaymentIntent : Parcelable

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.

Link copied to clipboard
class PaymentIntentParameters

The PaymentIntentParameters class contains information that will be used for the creation of a new PaymentIntent. To create a PaymentIntentParameters instance, the PaymentIntentParameters.Builder class should be used.

Link copied to clipboard
enum PaymentIntentStatus : Enum<PaymentIntentStatus>

A PaymentIntentStatus represents the state that a given PaymentIntent is currently in.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class PaymentMethod : Parcelable

PaymentMethod objects represent your customer's payment instruments. They can be used with PaymentIntents to collect payments, or saved to Customer objects to store instrument details for future payments.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class PaymentMethodDetails : Parcelable

PaymentMethodDetails contains details about the payment method used to complete a PaymentIntent

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class PaymentMethodOptions(card: CardOptions?, cardPresent: CardPresentOptions?) : Parcelable

Payment-method-specific configuration.

Link copied to clipboard
class PaymentMethodOptionsParameters

Payment-method-specific configuration for this PaymentIntent. Payment Method Options

Link copied to clipboard
enum PaymentMethodType : Enum<PaymentMethodType>

An enum representing the type of payment method being handled

Link copied to clipboard
interface PaymentMethodUnion : Parcelable

Union-type for an expandable PaymentMethod.

Link copied to clipboard
class PaymentMethodUnionAdapter

JSON adapter for serializing a potentially expanded PaymentMethod into a union type.

Link copied to clipboard
enum PaymentStatus : Enum<PaymentStatus>

A PaymentStatus represents any of the states that a single payment can be in.

Link copied to clipboard
interface PosConnectionType

The method that the POS app's SDK integration used to discover and connect to the reader.

Link copied to clipboard
class ReadReusableCardParameters

Parameters for reading a reusable card.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class Reader @JvmOverloads constructor(deviceType: DeviceType, @Json(name = "location") locationRaw: ExpandableLocation?, locationStatus: LocationStatus, id: String?, readerInfo: ReaderInfo?, isSimulated: Boolean, @Json(name = "status") networkStatus: Reader.NetworkStatus?, @Json(name = "serialNumber") rawSerialNumber: String?, label: String?, deviceSwVersion: String?, baseUrl: String?, ipAddress: String?, livemode: Boolean?, device: BluetoothDevice?, bluetoothDevice: BluetoothDevice?, usbDevice: UsbDevice?, location: Location?)

The Reader is a representation of a physical reader device.

Link copied to clipboard
data class ReaderBatteryInfo(batteryStatus: BatteryStatus, batteryLevel: Float?, isCharging: Boolean?)
Link copied to clipboard
enum ReaderDisplayMessage : Enum<ReaderDisplayMessage>

A ReaderDisplayMessage represents any of the possible messages emitted by the reader as it is accepting input.

Link copied to clipboard
enum ReaderEvent : Enum<ReaderEvent>

A ReaderEvent represents any of the possible events you can receive from a connected reader.

Link copied to clipboard
class ReaderInputOptions(options: List<ReaderInputOptions.ReaderInputOption>)

The ReaderInputOptions represents the set of ReaderInputOptions currently available to your user.

Link copied to clipboard
class ReaderSoftwareUpdate(requiredAt: Date, timeEstimate: ReaderSoftwareUpdate.UpdateTimeEstimate, version: String, configSpec: ClientVersionSpecPb?, firmwareSpec: ClientVersionSpecPb?, keyProfileName: String?, settingsVersion: String?, imageRef: ImageRef?, config: MobileClientConfig?)

ReaderSoftwareUpdate contains information about a potential software update to the reader.

Link copied to clipboard
interface ReaderSupportResult

Result of a query to check if a reader connection type is supported.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class ReceiptDetails : Parcelable

All necessary information for generating receipts

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class RedirectUrl(returnUrl: String?, url: String?) : Parcelable

instructions for authenticating by redirecting your customer to another page or application.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Refund : Parcelable

Refund objects allow you to refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged.

Link copied to clipboard
class RefundParameters

The RefundParameters object allows you to set the options you need to create a refund for an existing charge. For more information, see:

Link copied to clipboard
enum Request3dSecureType : Enum<Request3dSecureType>

3D Secure flow type.

Link copied to clipboard
enum RoutingPriority : Enum<RoutingPriority>

Transaction routing priorities

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SetupAttempt : Parcelable

A SetupAttempt describes one attempted confirmation of a SetupIntent, whether that confirmation was successful or unsuccessful.

Link copied to clipboard
enum SetupAttemptStatus : Enum<SetupAttemptStatus>

Statuses for a SetupAttempt

Link copied to clipboard
sealed class SetupAttemptUnion : Parcelable

Union type for an expandable SetupAttempt.

Link copied to clipboard
class SetupAttemptUnionJsonAdapter
Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SetupError : Parcelable

Information for an erroneous SetupAttempt

Link copied to clipboard
enum SetupErrorType : Enum<SetupErrorType>

Types of SetupAttempt errors.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SetupIntent : Parcelable

A SetupIntent guides you through the process of setting up a customer's payment credentials for future payments.

Link copied to clipboard
class SetupIntentCancellationParameters

Parameters used for cancelling a SetupIntent.

Link copied to clipboard

Reason for cancellation of a SetupIntent.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SetupIntentCardPresentDetails : Parcelable

SetupIntentCardPresentDetails contains payment method details for a payment method of type CARD_PRESENT specifically for SetupIntent transaction.

Link copied to clipboard
data class SetupIntentConfiguration

SetupIntentConfiguration contains configuration information relevant to saving a payment method.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SetupIntentNextAction(redirectToUrl: RedirectUrl?, type: String?) : Parcelable

Actions you need to take in order for your customer to continue payment setup.

Link copied to clipboard
class SetupIntentParameters

Parameters used for the creation of a new SetupIntent.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class SetupIntentPaymentMethodDetails : Parcelable

PaymentMethodDetails contains details about the payment method used to complete a PaymentIntent It's different from CardPresentDetails. Because in Proto SetupAttempt, fields of PaymentMethodDetails are different from

Link copied to clipboard
enum SetupIntentStatus : Enum<SetupIntentStatus>

Represents the state of a SetupIntent.

Link copied to clipboard
enum SetupIntentUsage : Enum<SetupIntentUsage>

Indicates how the payment method is intended to be used in the future.

Link copied to clipboard
enum SimulateReaderUpdate : Enum<SimulateReaderUpdate>

The SimulateReaderUpdate enumerates the possible types of updates that a user might want to simulate.

Link copied to clipboard
data class SimulatedCard

A SimulatedCard contains all information necessary to simulate the experience of paying with specific card brands / error conditions.

Link copied to clipboard
enum SimulatedCardType : Enum<SimulatedCardType>

A SimulatedCardType represents a specific type of payment card that can be used for testing.

Link copied to clipboard
data class SimulatorConfiguration(update: SimulateReaderUpdate, simulatedCard: SimulatedCard, simulatedTipAmount: Long?)

A configuration object that can be set on the main Terminal class. It's setting will dictate the behavior you see on your next connection to a simulated reader.

Link copied to clipboard
data class SingleUseMandate(amount: Long, currency: String)

Used to generate a single-use Mandate when creating a SetupIntent

Link copied to clipboard
class TerminalException @JvmOverloads constructor(errorCode: TerminalException.TerminalErrorCode, errorMessage: String, cause: Throwable?, apiError: ApiError?) : Exception

A TerminalException represents an error thrown during SDK operations and will contain a TerminalErrorCode and an errorMessage to provide more specific details.

Link copied to clipboard
@JsonClass(generateAdapter = true)
data class Tip(amount: Long?) : Parcelable

Tip contains details about tips

Link copied to clipboard
data class TippingConfiguration

The TippingConfiguration contains per-transaction configuration information relevant to collecting tips

Link copied to clipboard
fun CreatePaymentIntentOptions.OfflineBehavior.toOfflineBehavior(): OfflineBehavior
Link copied to clipboard
fun OfflineBehavior.toOfflineBehaviorProto(): CreatePaymentIntentOptions.OfflineBehavior