Package-level declarations

Types used by the methods of the Sudo Platform Virtual Cards SDK.

Types

Link copied to clipboard
data class AuthorizationText(val language: String, val content: String, val contentType: String, val hash: String, val hashAlgorithm: String) : Parcelable

Representation of text of an authorization to be presented to and agreed to by the user when adding a bank account funding source. The AuthorizationText presented must be submitted as part of the completion data on calling SudoVirtualCardsClient.completeFundingSource.

Link copied to clipboard
data class BankAccountFundingSource(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val state: FundingSourceState, val flags: List<FundingSourceFlags>, val currency: String, val transactionVelocity: TransactionVelocity? = null, val type: FundingSourceType = FundingSourceType.BANK_ACCOUNT, val bankAccountType: BankAccountFundingSource.BankAccountType, val last4: String, val institutionName: String, val institutionLogo: InstitutionLogo?, val unfundedAmount: CurrencyAmount?) : FundingSource

Representation of a bank account funding source used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
abstract class BaseFundingSource

Representation of the common attributes of a funding source used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class BaseProvisioningData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int, val type: FundingSourceType) : ProviderProvisioningData, Parcelable

Representation of a based provisioning data type used to provision a checkout funding source. The client must be robust to receiving a ProvisioningData it does not expect.

Link copied to clipboard
data class BaseUserInteractionData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int, val type: FundingSourceType) : ProviderUserInteractionData

Representation of a based user interaction data type used to provision a checkout funding source. The client must be robust to receiving a UserInteractionData it does not expect.

Link copied to clipboard
data class BillingAddress(val addressLine1: String, val addressLine2: String? = null, val city: String, val state: String, val postalCode: String, val country: String) : Parcelable

The representation of the legal residence of a cardholder for purposes of billing in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Representation of an enumeration depicting the state that the VirtualCard is in, in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Representation of an enumeration depicting the type of CreditCardFundingSource, in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Representation of an enumeration depicting the state of a transaction's charge detail in the Sudo Platform Virtual Cards SDK.

data class CheckoutBankAccountProviderCompletionData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int = ProviderDefaults.version, val type: FundingSourceType = FundingSourceType.BANK_ACCOUNT, val publicToken: String, val accountId: String, val institutionId: String, val authorizationText: AuthorizationText) : ProviderCompletionData

Representation of CheckoutBankAccountProviderCompletionData sent to the provider and used to complete the funding source creation.

Link copied to clipboard
data class CheckoutBankAccountProviderRefreshData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int = ProviderDefaults.version, val type: FundingSourceType = FundingSourceType.BANK_ACCOUNT, val accountId: String? = null, val authorizationText: AuthorizationText? = null) : ProviderRefreshData

Representation of CheckoutBankAccountProviderRefreshData sent to the provider and used to initiate or complete the funding source refresh.

Link copied to clipboard
data class CheckoutBankAccountProvisioningData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int = ProviderDefaults.version, val type: FundingSourceType = FundingSourceType.BANK_ACCOUNT, val linkToken: LinkToken, val authorizationText: List<AuthorizationText>) : ProviderProvisioningData

Representation of CheckoutBankAccountProvisioningData used to provision a checkout bank account funding source.

data class CheckoutBankAccountRefreshUserInteractionData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int = ProviderDefaults.version, val type: FundingSourceType = FundingSourceType.BANK_ACCOUNT, val linkToken: LinkToken, val authorizationText: List<AuthorizationText>) : ProviderUserInteractionData

Returned when user interaction is required during the funding source refresh operation for checkout.com bank account funding sources.

Link copied to clipboard
data class CheckoutCardProviderCompletionData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int = ProviderDefaults.version, val type: FundingSourceType = FundingSourceType.CREDIT_CARD, val paymentToken: String?) : ProviderCompletionData

Representation of CheckoutCardProviderCompletionData sent to the provider and used to complete the funding source creation.

Link copied to clipboard
data class CheckoutCardProvisioningData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int = ProviderDefaults.version, val type: FundingSourceType = FundingSourceType.CREDIT_CARD) : ProviderProvisioningData

Representation of CheckoutCardProvisioningData used to provision a checkout card funding source.

Link copied to clipboard
data class CheckoutCardUserInteractionData(val provider: String = ProviderDefaults.checkoutProvider, val version: Int = ProviderDefaults.version, val type: FundingSourceType = FundingSourceType.CREDIT_CARD, val redirectUrl: String) : ProviderUserInteractionData

Returned when user interaction is required during the funding source setup operation for checkout.com card funding sources

Link copied to clipboard
data class CheckoutPricingPolicy(val creditCard: Map<String, TieredMarkupPolicy>, val bankAccount: Map<String, TieredMarkupPolicy>) : Parcelable
Link copied to clipboard
data class ClientApplicationConfiguration(val fundingSourceProviders: FundingSourceProviders) : Parcelable

The client application configuration containing information associated with Android client applications.

Link copied to clipboard
data class ClientApplicationData(val applicationName: String)

Client application data required by providers for funding source setup and refresh operations.

Link copied to clipboard
data class CreateKeysIfAbsentResult(val symmetricKey: KeyResult, val keyPair: KeyResult)

The result of the create keys if absent API.

Link copied to clipboard
data class CreditCardFundingSource(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val state: FundingSourceState, val flags: List<FundingSourceFlags>, val currency: String, val transactionVelocity: TransactionVelocity? = null, val type: FundingSourceType = FundingSourceType.CREDIT_CARD, val last4: String, val network: CreditCardFundingSource.CreditCardNetwork, val cardType: CardType) : FundingSource

Representation of a credit card funding source used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class CurrencyAmount(val currency: String, val amount: Int) : Parcelable

The representation of the currency and amount used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class CurrencyVelocity(val currency: String, val velocity: List<String>) : Parcelable
Link copied to clipboard
data class DateRange(val startDate: Date, val endDate: Date)

Representation of a date range used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Representation of an enumeration depicting why a Transaction was declined in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class Expiry(val mm: String, val yyyy: String) : Parcelable

The representation of expiry information for a virtual card in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
Link copied to clipboard
data class FundingSourceClientConfiguration(val type: String = ProviderDefaults.configurationType, val fundingSourceType: FundingSourceType, val version: Int = ProviderDefaults.version, val apiKey: String) : Parcelable

A representation of the funding source client configuration in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Representation of an enumeration depicting the possible funding source flags in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

The funding source provider configuration.

Link copied to clipboard

Representation of an enumeration depicting the funding source state in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class FundingSourceSupportDetail(val cardType: CardType) : Parcelable
Link copied to clipboard
data class FundingSourceSupportInfo(val providerType: String, val fundingSourceType: String, val network: String, val detail: List<FundingSourceSupportDetail>) : Parcelable
Link copied to clipboard

Representation of an enumeration depicting the funding source type in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Representation of a FundingSourceType configuration.

Link copied to clipboard
data class InstitutionLogo(val type: String, val data: String) : Parcelable

Representation of a financial institution's logo.

Link copied to clipboard
sealed class JsonValue<out T>

A representation of a JsonValue type used to represent data that can pertain to multiple primitive types.

Link copied to clipboard
data class KeyResult(val created: Boolean, val keyId: String)

The result containing information about whether the key was created and its identifier.

Link copied to clipboard
data class LinkToken(val linkToken: String, val expiration: String, val requestId: String) : Parcelable

Representation of a LinkToken containing information required to setup the bank account funding source creation.

Link copied to clipboard
sealed class ListAPIResult<out T, out P>

Result type of an API that returns a list. Supports partial results.

Link copied to clipboard
data class ListOutput<T>(val items: List<T>, val nextToken: String?)

Representation of a generic type to wrap around a GraphQL list type. This is useful for exposing a list of items and nextToken to allow for pagination by calling for the next set of paginated results.

Link copied to clipboard
data class Markup(val percent: Int, val flat: Int, val minCharge: Int? = null) : Parcelable

The rates of markup applied to a Transaction when calculating the fees.

Link copied to clipboard
data class Owner(val id: String, val issuer: String) : Parcelable

This represents the relationship of a unique identifier id with the issuer to a VirtualCard.

Link copied to clipboard
data class PartialResult<P>(val partial: P, val cause: Exception)

Represents a single partial result.

Link copied to clipboard
data class PartialTransaction(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val cardId: String, val sequenceId: String, val type: TransactionType) : Parcelable

Representation of a Virtual Card Transaction without its unsealed attributes used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class PartialVirtualCard(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val owners: List<Owner>, val fundingSourceId: String, val currency: String, val state: CardState, val activeTo: Date, val cancelledAt: Date? = null, val last4: String) : Parcelable

Representation of a Virtual Card without its unsealed attributes used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Data describing a sandbox Plaid account returned by the sandboxGetPlaidData method.

Link copied to clipboard
data class PlaidApplicationConfiguration(val clientName: String, val androidPackageName: String) : Parcelable

Plaid specific application configuration to support funding source creation.

Link copied to clipboard
data class PricingPolicy(val stripe: StripePricingPolicy? = null, val checkout: CheckoutPricingPolicy? = null) : Parcelable

Representation of the PricingPolicy for each funding source provider which make up a component of the virtual cards configuration.

Link copied to clipboard
abstract class ProviderCommonData

Representation of ProviderCommonData which provides common data for all funding source provider based data.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class ProvisionalFundingSource(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val type: FundingSourceType, val state: ProvisionalFundingSource.ProvisioningState, val last4: String, val provisioningData: ProviderProvisioningData) : Parcelable

A representation of a funding source that is in the process of being created in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class ProvisionalVirtualCard(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val clientRefId: String, val provisioningState: ProvisionalVirtualCard.ProvisioningState, val card: VirtualCard? = null) : Parcelable

A representation of a virtual card that is in the process of being provisioned in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard

Backward compatible ProvisioningData - represents stripe

Link copied to clipboard
data class SandboxPlaidData(val accountMetadata: List<PlaidAccountMetadata>, val publicToken: String)

Sandbox data for a specific Plaid sandbox user's accounts for inclusion in completion data when calling completeFundingSource to test bank account funding source creation without full integration of Plaid Link.

Link copied to clipboard
sealed class SingleAPIResult<out T, out P>

Result type of a singular return type from an API that can return a partial result.

Link copied to clipboard

An enumeration depicting sort order in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class StripeCardProviderCompletionData(val provider: String = ProviderDefaults.stripeProvider, val version: Int = ProviderDefaults.version, val paymentMethod: String, val type: FundingSourceType = FundingSourceType.CREDIT_CARD) : ProviderCompletionData

Representation of StripeCardProviderCompletionData sent to the provider and used to complete the funding source creation.

Link copied to clipboard
data class StripeCardProvisioningData(val provider: String = ProviderDefaults.stripeProvider, val version: Int, val intent: String, val clientSecret: String, val type: FundingSourceType = FundingSourceType.CREDIT_CARD) : ProviderProvisioningData

Representation of StripeCardProvisioningData used to provision a stripe funding source.

Link copied to clipboard
Link copied to clipboard

Representation of an enumeration depicting a list of supported key encryption algorithms.

Link copied to clipboard
data class TieredMarkup(val markup: Markup, val minThreshold: Int? = null) : Parcelable
Link copied to clipboard
Link copied to clipboard
data class Transaction(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val transactedAt: Date, val settledAt: Date? = null, val cardId: String, val sequenceId: String, val type: TransactionType, val billedAmount: CurrencyAmount, val transactedAmount: CurrencyAmount, val description: String, val declineReason: DeclineReason? = null, val details: List<TransactionDetailCharge> = emptyList()) : Parcelable

Representation of a Virtual Card Transaction used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class TransactionDetailCharge(val virtualCardAmount: CurrencyAmount, val markup: Markup, val markupAmount: CurrencyAmount, val fundingSourceAmount: CurrencyAmount, val fundingSourceId: String, val description: String, val state: ChargeDetailState) : Parcelable

The details of how a Transaction is charged against a VirtualCard and FundingSource as well as the amount of markup that was applied to the Transaction.

Link copied to clipboard

Representation of an enumeration depicting the type of Transaction in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class TransactionVelocity(val maximum: Int? = null, val velocity: List<String>? = null) : Parcelable

The representation of virtual card transaction velocity constraints in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class VirtualCard(val id: String, val owner: String, val version: Int, val createdAt: Date, val updatedAt: Date, val owners: List<Owner>, val fundingSourceId: String, val currency: String, val state: CardState, val activeTo: Date, val cancelledAt: Date? = null, val cardHolder: String, val last4: String, val cardNumber: String, val securityCode: String, val alias: String?, val metadata: JsonValue<Any>? = null, val billingAddress: BillingAddress? = null, val expiry: Expiry, val lastTransaction: Transaction? = null) : Parcelable

Representation of a Virtual Card used in the Sudo Platform Virtual Cards SDK.

Link copied to clipboard
data class VirtualCardsConfig(val maxFundingSourceVelocity: List<String>, val maxFundingSourceFailureVelocity: List<String>, val maxFundingSourcePendingVelocity: List<String>, val maxCardCreationVelocity: List<String>, val maxTransactionVelocity: List<CurrencyVelocity>, val maxTransactionAmount: List<CurrencyAmount>, val virtualCardCurrencies: List<String>, val fundingSourceSupportInfo: List<FundingSourceSupportInfo>, val bankAccountFundingSourceExpendableEnabled: Boolean, val bankAccountFundingSourceCreationEnabled: Boolean?, val fundingSourceClientConfiguration: List<FundingSourceClientConfiguration>, val clientApplicationConfiguration: Map<String, ClientApplicationConfiguration>, val pricingPolicy: PricingPolicy?) : Parcelable

Representation of a Virtual Card's configuration used in the Sudo Platform Virtual Cards SDK.