AddPaymentMethodViewModel

class AddPaymentMethodViewModel(application: Application, airwallex: Airwallex, session: AirwallexSession, supportedCardSchemes: List<CardScheme>) : AirwallexCheckoutViewModel

Constructors

Link copied to clipboard
constructor(application: Application, airwallex: Airwallex, session: AirwallexSession, supportedCardSchemes: List<CardScheme>)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val cardBrand: StateFlow<CardBrand>
Link copied to clipboard
Link copied to clipboard
val cardHolderNameState: StateFlow<String>
Link copied to clipboard
val cardNumber: StateFlow<String>
Link copied to clipboard
val city: StateFlow<String>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val cvv: StateFlow<String>
Link copied to clipboard
Link copied to clipboard
val email: StateFlow<String>
Link copied to clipboard
val expiryDate: StateFlow<String>
Link copied to clipboard
Link copied to clipboard
val isSaveCardChecked: StateFlow<Boolean>
Link copied to clipboard
Link copied to clipboard
val phoneNumber: StateFlow<String>
Link copied to clipboard

Resolved (non-null) set of billing-contact fields to render on this screen. Distinct from AirwallexSession.requiredBillingContactFields which is the raw nullable merchant configuration; here we've already collapsed the "null → derive from legacy booleans" rule via resolvedRequiredBillingContactFields.

Link copied to clipboard
val selectedCountryCode: StateFlow<String>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Whether the "Billing information" header / section block should appear.

Link copied to clipboard

Country picker without the rest of the address. ADDRESS suppresses this.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Whether the "Same as shipping" prefill toggle should appear.

Link copied to clipboard
val state: StateFlow<String>
Link copied to clipboard
val street: StateFlow<String>
Link copied to clipboard
Link copied to clipboard
val zipCode: StateFlow<String>

Functions

Link copied to clipboard
open fun addCloseable(closeable: AutoCloseable)
fun addCloseable(key: String, closeable: AutoCloseable)
Link copied to clipboard
suspend fun checkout(paymentMethod: PaymentMethod, additionalInfo: Map<String, String>?, flow: AirwallexPaymentRequestFlow?): AirwallexPaymentStatus
fun checkout(paymentMethod: PaymentMethod, paymentConsent: PaymentConsent?, cvc: String?, additionalInfo: Map<String, String>?, flow: AirwallexPaymentRequestFlow?): LiveData<AirwallexPaymentStatus>
Link copied to clipboard
Link copied to clipboard
fun createBilling(name: String, email: String, phoneNumber: String, countryCode: String, state: String, city: String, street: String, postcode: String): Billing?

Build a Billing containing only the fields the merchant asked for via resolvedBillingFields. Returns null when the set is empty so no billing payload is sent.

Link copied to clipboard
fun createCard(cardNumber: String, name: String, expiryDate: String, cvv: String): PaymentMethod.Card?
Link copied to clipboard
Link copied to clipboard
open fun <T : Application> getApplication(): T
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun isCvcRequired(paymentConsent: PaymentConsent): Boolean
Link copied to clipboard
suspend fun retrieveBanks(paymentMethodTypeName: String): Result<BankResponse>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun trackScreenViewed(eventName: String, params: Map<String, Any>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun updateCardNumber(value: String, brand: CardBrand)
Link copied to clipboard
fun updateCity(value: String)
Link copied to clipboard
fun updateCvv(value: String)
Link copied to clipboard
fun updateEmail(value: String)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun updateState(value: String)
Link copied to clipboard
fun updateStreet(value: String)
Link copied to clipboard
Link copied to clipboard
fun updateZipCode(value: String)