Package-level declarations
Types
The implementation of ApiRepository to request the Airwallex API.
Marker interface for Airwallex SDK internal activities. Used to distinguish between SDK UI integration (activities extending this) and API integration (merchant's own activities calling Airwallex APIs directly).
For one-off payment
Provide some internal plugins
For recurring payment (without create payment intent)
For recurring payment (need create payment intent)
An interface for making Airwallex API requests
Payment UI appearance configuration. Use this to customize the theme color and dark mode preference for the Airwallex SDK UI.
Model containing necessary information for handling card payment next actions, particularly for 3DS authentication flows.
Interface for providing PaymentIntent objects asynchronously. This allows consumer applications to provide payment intents on demand rather than having to provide them upfront when creating payment sessions.
Modern suspend-based interface for providing PaymentIntent objects. This is the preferred interface for Kotlin consumers as it provides cleaner async handling.
Specifies the browser behavior for redirect-based payment methods.
Billing contact fields that the SDK can collect on the new-card payment screen and validate in the headless checkout path. Mirrors iOS's AWXRequiredBillingContactFields option set.
Unified session for payment with payment consent options. Replaces AirwallexPaymentSession with support for both static PaymentIntent and PaymentIntentProvider.
Properties
Indicates whether this session is configured for Express Checkout. Returns true when the session uses a PaymentIntentProvider for lazy payment intent creation.
Effective set of billing contact fields, resolving null to the legacy boolean-derived defaults that match Android's pre-existing UI:
Functions
Binds this session's PaymentIntentProvider to an Activity lifecycle. This ensures the provider is cleaned up when the Activity is destroyed. Should be called once when the session starts being used with a specific Activity.
Extension function to resolve PaymentIntent from session. If paymentIntent is available, calls callback immediately. If paymentIntentProvider is available (transient field), uses it to get the intent asynchronously. If paymentIntentProviderId is available (after binding), retrieves from repository.
Convert PaymentMethodsLayoutType to analytics layout string