Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Address @JvmOverloads constructor(val city: String? = null, val country: String? = null, val line1: String? = null, val line2: String? = null, val postalCode: String? = null, val state: String? = null) : Serializable

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

Link copied to clipboard
@Serializable
data class AffirmDetails : Serializable
Link copied to clipboard
@Serializable
enum AllowRedisplay : Enum<AllowRedisplay>

A field used to indicate whether a payment method can be shown again to its customer in a checkout flow. Consent must be obtained to set this field.

Link copied to clipboard
@Serializable
data class AmountDetails(val tip: Tip? = null, val surcharge: SurchargeDetails? = null) : Serializable

AmountDetails contains details about items included in the PaymentIntent amount

Link copied to clipboard
Link copied to clipboard
expect class BluetoothDevice
actual class BluetoothDevice

BluetoothDevice is a representation of a Bluetooth device by the platform.

Link copied to clipboard

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

Link copied to clipboard
@Serializable
data class CardDetails : Serializable

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

Link copied to clipboard
@Serializable
data class CardNetworks : Serializable

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

Link copied to clipboard
@Serializable
data class CardOptions(val request3dSecure: Request3dSecureType?) : Serializable

Configurations that will be applied to each setup attempt.

Link copied to clipboard

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

Link copied to clipboard
@Serializable
data class CardPresentDetails : Serializable

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

Link copied to clipboard
@Serializable
data class CardPresentOptions(val requestExtendedAuthorization: Boolean?, val requestIncrementalAuthorizationSupport: Boolean?, val routing: CardPresentRoutingOptions?, val requestDynamicCurrencyConversion: String?, val dynamicCurrencyConversion: DynamicCurrencyConversionOptions?, val surcharge: Surcharge?, val requestPartialAuthorization: CardPresentRequestPartialAuthorization?) : Serializable

Card-Present PaymentMethod options.

Link copied to clipboard

Card present configuration for this PaymentMethod. Card Present

Link copied to clipboard

Parameters for requesting partial authorization support on a transaction

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

Parameters for routing on a card-present transaction.

Link copied to clipboard
@Serializable
data class CardPresentRoutingOptions(val requestedPriority: RoutingPriority?, val computedPriority: List<RoutingPriority>?) : Serializable

Routing priorities for card-present Payment Intents

Link copied to clipboard
@Serializable
data class Cart : Serializable

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
@Serializable
data class CartLineItem : Serializable

CartLineItem contains information for a line item in a Cart

Link copied to clipboard
@Serializable
data class Charge : Serializable

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

Link copied to clipboard

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

Link copied to clipboard

The CollectDataConfiguration contains configuration information relevant to collecting non-payment data from a reader.

Link copied to clipboard

Represents the non-payment data collection method for a reader.

Link copied to clipboard
@Serializable
data class CollectedData : Serializable

Represents non-payment data collected using collectData.

Link copied to clipboard
data class CollectInputsParameters(val inputs: List<Input>) : Serializable

CollectInputsParameters contains information about the inputs to collect from the reader

Link copied to clipboard
sealed interface CollectInputsResult

CollectInputsResult contains information about the data collected from a given form

Link copied to clipboard

The ConfirmConfiguration contains configuration information relevant to confirming a PaymentIntent.

Link copied to clipboard
expect sealed class ConnectionConfiguration

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

actual sealed class ConnectionConfiguration
Link copied to clipboard

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

Link copied to clipboard
class ConnectionTokenException @JvmOverloads constructor(message: String, cause: Throwable? = null) : 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(val offlineBehavior: OfflineBehavior = OfflineBehavior.PREFER_ONLINE)

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

Link copied to clipboard

Details about the customer acceptance of a Mandate.

Link copied to clipboard

Type of customer acceptance information included with the Mandate.

Link copied to clipboard

The possible device types for a reader.

Link copied to clipboard

The possible reasons for which a Bluetooth or USB reader was disconnected.

Link copied to clipboard
expect sealed interface DiscoveryConfiguration

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

actual sealed interface DiscoveryConfiguration
Link copied to clipboard
@Serializable
data class DynamicCurrencyConversion(val status: String, val originalAmount: Long?, val transactionFxRate: Float?, val transactionMarkupPercent: Float?, val cardholderRate: Float?, val referenceFxRate: Float?, val referenceMarkupPercent: Float?, val fxAsOf: Float?) : Serializable

Dynamic currency conversion details for a given transaction.

Link copied to clipboard
@Serializable
data class DynamicCurrencyConversionOptions(val amount: Long, val currency: String, val transactionFxRate: Float, val transactionMarkupPercent: Float, val cardholderRate: Float, val referenceFxRate: Float?, val referenceMarkupPercent: Float?, val fxAsOf: Float) : Serializable

Dynamic currency conversion options.

Link copied to clipboard
data class EmailInput : Input

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

Link copied to clipboard
data class EmailResult(val skipped: Boolean, val email: String?, val toggles: List<ToggleResult>) : CollectInputsResult

EmailResult contains data collected from an email form

Link copied to clipboard

Expandable Location Union Type.

Link copied to clipboard
@Serializable
data class GeneratedFrom : Serializable

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
sealed interface Input : Serializable

Represents a single input form

Link copied to clipboard

Arguments used when fetching a list of Locations.

Link copied to clipboard
@Serializable
data class Location @JvmOverloads constructor(val id: String? = null, val address: Address? = null, val displayName: String? = null, val livemode: Boolean? = null, val metadata: Map<String, String>? = null) : Serializable

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

Link copied to clipboard

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

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

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

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

Details about a Mandate to be created.

Link copied to clipboard

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

Link copied to clipboard
@Serializable
data class NextAction(val type: String, val wechatPayDisplayQrCode: WechatPayDisplayQrCode? = null, val redirectToUrl: RedirectUrl? = null, val useStripeSdk: UseStripeSdk? = null) : Serializable

Property that tells you what actions you need to take in order for your customer to fulfill a payment using the provided source.

Link copied to clipboard
data class NumericInput : Input

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

Link copied to clipboard
data class NumericResult(val skipped: Boolean, val numericString: String?, val toggles: List<ToggleResult>) : CollectInputsResult

NumericResult contains data collected from a numeric form

Link copied to clipboard

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
@Serializable
data class OfflineCardPresentDetails : Serializable

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

Link copied to clipboard
@Serializable
data class OfflineDetails : Serializable

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

Link copied to clipboard
@Serializable
data class OfflineStatus(val reader: OfflineStatusDetails?, val sdk: OfflineStatusDetails) : Serializable

OfflineStatus encapsulates OfflineStatusDetails from the Terminal SDK for the current account. It is split into two:

Link copied to clipboard
@Serializable
data class OfflineStatusDetails(val offlinePaymentsCount: Int, val offlineSetupIntentsCount: Int, val offlinePaymentAmountsByCurrency: Map<String, Long>, val networkStatus: NetworkStatus) : Serializable

The OfflineStatusDetails provides details about the Terminal SDK's offline status such as; the current networkStatus, number, and sum of offline payments for the integration to inform it's business logic and risk management while taking payments.

Link copied to clipboard
@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.

Link copied to clipboard

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

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

Link copied to clipboard
@Serializable
data class PaymentMethod : Serializable

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
@Serializable
data class PaymentMethodDetails : Serializable

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

Link copied to clipboard
@Serializable
data class PaymentMethodOptions(val card: CardOptions?, val cardPresent: CardPresentOptions? = null) : Serializable

Payment-method-specific configuration.

Link copied to clipboard

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

Link copied to clipboard

An enum representing the type of payment method being handled.

Link copied to clipboard

Union-type for an expandable PaymentMethod.

Link copied to clipboard

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

Link copied to clipboard
data class PhoneInput : Input

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

Link copied to clipboard
data class PhoneResult(val skipped: Boolean, val phone: String?, val toggles: List<ToggleResult>) : CollectInputsResult

PhoneResult contains data collected from a phone form

Link copied to clipboard
@Serializable(with = ReaderSerializer::class)
class Reader @JvmOverloads constructor(val deviceType: DeviceType = DeviceType.UNKNOWN, locationRaw: ExpandableLocation? = null, var locationStatus: LocationStatus = UNKNOWN, id: String? = null, val isSimulated: Boolean = false, val networkStatus: Reader.NetworkStatus? = null, rawSerialNumber: String? = null, val label: String? = null, deviceSwVersion: String? = null, val baseUrl: String? = null, val ipAddress: String? = null, val livemode: Boolean? = null, val bluetoothDevice: BluetoothDevice? = null, val usbDevice: UsbDevice? = null, location: Location? = null, readerInfoBatteryLevel: Float? = null, readerInfoConfigVersion: String? = null, var settingsVersion: String? = null, readerInfoFirmwareVersion: String? = null, readerInfoHardwareVersion: String? = null, val pinKeyProfileId: String? = null, val macKeyProfileId: String? = null, val trackKeyProfileId: String? = null, val emvKeyProfileId: String? = null, readerInfoPinKeysetId: String? = null, val macKeysetId: String? = null, val trackKeysetId: String? = null, val emvKeysetId: String? = null, val serial: String? = null, isDebug: Boolean? = false, val rawReaderData: Map<String, String>? = null, val isCharging: Boolean? = null, isDevKit: Boolean = false, val firmwareId: String? = null, val coinCellBatteryVoltage: Float? = null, val isUsbConnected: Boolean? = null) : Serializable

The Reader is a representation of a physical reader device.

Link copied to clipboard
sealed interface ReaderAccessibility

Class representing the accessibility state of the reader.

Link copied to clipboard
data class ReaderBatteryInfo(val batteryStatus: BatteryStatus, val batteryLevel: Float?, val isCharging: Boolean?)
Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard
data class ReaderSettings(val readerAccessibility: ReaderAccessibility)
Link copied to clipboard
sealed interface ReaderSettingsParameters

The ReaderSettingsParameters class contains information used to update the reader's settings.

Link copied to clipboard
class ReaderSoftwareUpdate(val requiredAtMs: Long, val durationEstimate: ReaderSoftwareUpdate.UpdateDurationEstimate, val version: String, val configSpec: ClientVersionSpecPb?, val firmwareSpec: ClientVersionSpecPb?, val keyProfileName: String?, val settingsVersion: String?, val imageRef: ImageRef?, val config: MobileClientConfig?)

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

Link copied to clipboard
sealed interface ReaderSupportResult

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

Link copied to clipboard

Represents the current text to speech status of the reader.

Link copied to clipboard

Parameters for reading a reusable card.

Link copied to clipboard
@Serializable
data class ReceiptDetails : Serializable

All necessary information for generating receipts

Link copied to clipboard
@Serializable
data class RedirectUrl : Serializable

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

Link copied to clipboard
@Serializable
data class Refund : Serializable

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

The RefundConfiguration contains configuration information relevant to refunding a payment.

Link copied to clipboard

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

3D Secure flow type.

Link copied to clipboard

Transaction routing priorities

Link copied to clipboard
data class SelectionButton(val style: SelectionButtonStyle, val text: String)

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 SelectionInput : Input

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

Link copied to clipboard
data class SelectionResult(val skipped: Boolean, val selection: String?, val toggles: List<ToggleResult>) : CollectInputsResult

SelectionResult contains data collected from a selection form

Link copied to clipboard
@Serializable
data class SetupAttempt : Serializable

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

Link copied to clipboard
Link copied to clipboard

Union type for an expandable SetupAttempt.

Link copied to clipboard
@Serializable
data class SetupError : Serializable

Information for an erroneous SetupAttempt

Link copied to clipboard
Link copied to clipboard
@Serializable
data class SetupIntent : Serializable

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

Link copied to clipboard

Parameters used for cancelling a SetupIntent.

Link copied to clipboard
Link copied to clipboard

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

Link copied to clipboard

SetupIntentConfiguration contains configuration information relevant to saving a payment method.

Link copied to clipboard
@Serializable
data class SetupIntentNextAction(val redirectToUrl: RedirectUrl?, val type: String?) : Serializable

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

Link copied to clipboard
@Serializable
data class SetupIntentOfflineDetails : Serializable

SetupIntentOfflineDetails holds unique information for a SetupIntent that was created or processed offline. Useful for relating a forwarded entity to its offline counterpart.

Link copied to clipboard

Parameters used for the creation of a new SetupIntent.

Link copied to clipboard

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

Represents the state of a SetupIntent.

Link copied to clipboard

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

Link copied to clipboard
data class SignatureInput : Input

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

Link copied to clipboard
data class SignatureResult(val skipped: Boolean, val signatureSvg: String?, val toggles: List<ToggleResult>) : CollectInputsResult

SignatureResult contains data collected from a signature form

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

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

Link copied to clipboard

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

Link copied to clipboard
data class SimulatorConfiguration(val update: SimulateReaderUpdate = UPDATE_AVAILABLE, val simulatedCard: SimulatedCard = SimulatedCard(DEFAULT_CARD_NUMBER), val simulatedTipAmount: Long? = null, val offlineEnabled: Boolean = false)

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(val amount: Long, val currency: String)

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

Link copied to clipboard
@Serializable
data class Surcharge(val maximumAmount: Long, val status: String) : Serializable

Details about the availability and maximum amount for surcharging on this PaymentIntent.

Link copied to clipboard
@Serializable
data class SurchargeDetails(val amount: Long? = null) : Serializable

SurchargeDetails contains details about surcharges, such as the surcharged amount

Link copied to clipboard

A TerminalErrorCode represents the type of error thrown during SDK operations.

Link copied to clipboard
class TerminalException @JvmOverloads constructor(val errorCode: TerminalErrorCode, val errorMessage: String, val cause: Throwable? = null, val apiError: ApiError? = null) : 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
data class TextInput : Input

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

Link copied to clipboard
data class TextResult(val skipped: Boolean, val text: String?, val toggles: List<ToggleResult>) : CollectInputsResult

TextResult contains data collected from a text form

Link copied to clipboard
@Serializable
data class Tip(val amount: Long? = null) : Serializable

Tip contains details about tips

Link copied to clipboard

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

Link copied to clipboard
data class Toggle(val title: String? = null, val description: String? = null, val defaultValue: ToggleValue) : Serializable

Contains information for a collect inputs toggle

Link copied to clipboard

ToggleResult contains data collected for a toggle

Link copied to clipboard

Set value of a toggle

Link copied to clipboard
expect class UsbDevice
actual class UsbDevice

UsbDevice is a representation of a USB device by the platform.

Link copied to clipboard
@Serializable
data class UseStripeSdk(val type: String) : Serializable

UseStripeSdk represents an internal action that will be handled by the SDK.

Link copied to clipboard
@Serializable
data class Wallet : Serializable

Contains the details of the card wallet, when a payment is part of a card wallet.

Link copied to clipboard
@Serializable
data class WechatPayDetails : Serializable
Link copied to clipboard
@Serializable
data class WechatPayDisplayQrCode(val data: String, val hostedInstructionsUrl: String, val imageDataUrl: String, val imageUrlPng: String, val imageUrlSvg: String) : Serializable