KlarnaComponent
to manage payments for Klarna.
KOTLIN
Copy
Ask AI
fun provideKlarnaComponent(primerSessionIntent: PrimerSessionIntent): KlarnaComponent
Parameters
Hide Parameters
Hide Parameters
Sets the session intent to be used during session creation and tokenization.
Returns
An instance ofKlarnaComponent
.
Hide KlarnaComponent
Hide KlarnaComponent
start()
Initialize the component by calling the start function. This method should be called only once.
submit()
Call
submit
function in order to process collected data and move component to next state.componentError: Flow<PrimerError>
Get a Flow
of PrimerError objects that represent errors emitted by this component.
Subscribers can observe and handle errors using this Flow.
updateCollectedData(collectableData: KlarnaPaymentCollectableData)
Update component with collected data by passing implementations of sealed interface.
This method can be called at any point, even if you have only partially collected data.
To validate the partially collected data, you can refer to the
componentValidationStatus
and receive the validation status when itโs updated.
Show sealed interface KlarnaPaymentCollectableData
Show sealed interface KlarnaPaymentCollectableData
PaymentOptions
A data class representing the step of choosing a Klarna Payment method.
Hide Properties
Hide Properties
Context required for the creation of the payment view.
Url used by third-party apps to build the intent for returning to the app.
Payment category required for session creation.
Show Properties
Show Properties
KlarnaPaymentCategory
Show Properties
Show Properties
ID of the payment method category to be used while loading the payment view. The possible values are:
- klarna
- pay_later
- pay_now
- pay_over_time
- direct_bank_transfer
- direct_debit
Name of the payment method category. These names are dynamic depending on what payment method is in the category.
URL of the descriptive asset. Using this dynamic asset will make sure that changes from Klarna be automatically propagated.
URL of the stadard asset. Using this dynamic asset will make sure that changes from Klarna be automatically propagated.
FinalizePayment
Object representing the step of finalizing the Klarna payment.
componentStep: Flow<KlarnaPaymentStep>
KlarnaPaymentStep
is a class holding different output data for specific steps. Whenever
start or submit methods are
called, componentStep
will trigger the next step in case the call to the mentioned method was successful.
Show sealed interface KlarnaPaymentStep
Show sealed interface KlarnaPaymentStep
PaymentSessionCreated
A data class representing the created payment session.
Hide Properties
Hide Properties
The list of available Klarna payment categories.
Show Properties
Show Properties
KlarnaPaymentCategory
Show Properties
Show Properties
ID of the payment method category to be used while loading the payment view. The possible values are:
- klarna
- pay_later
- pay_now
- pay_over_time
- direct_bank_transfer
- direct_debit
Name of the payment method category. These names are dynamic depending on what payment method is in the category.
URL of the descriptive asset. Using this dynamic asset will make sure that changes from Klarna be automatically propagated.
URL of the stadard asset. Using this dynamic asset will make sure that changes from Klarna be automatically propagated.
PaymentViewLoaded
A data class holding the Klarna payment view.
Hide Properties
Hide Properties
The Klarna payment view.
PaymentSessionAuthorized
A data class representing the authorized payment session.
Hide Properties
Hide Properties
The state of the finalization.
PaymentSessionFinalized
Object representing the finalized payment session.
componentValidationStatus: Flow<PrimerValidationStatus<KlarnaPaymentCollectableData>>
The
PrimerValidationStatus
interface encompasses a range of validation statuses.Show sealed interface PrimerValidationStatus
Show sealed interface PrimerValidationStatus
Validating<KlarnaPaymentCollectableData>
Indicates that data is currently in the process of being validated.
Hide Properties
Hide Properties
The data being validated.
Valid<KlarnaPaymentCollectableData>
Indicates that the data has successfully been validated.
Hide Properties
Hide Properties
The successfully validated data.
Invalid<KlarnaPaymentCollectableData>
Indicates that the data has been considered invalid after validation.
Hide Properties
Hide Properties
List of
PrimerValidationError
objects that represent data validation errors emitted by this component.The data that failed validation.
Error<KlarnaPaymentCollectableData>
Represents the status when an error occurred during the validation process.
Hide Properties
Hide Properties
The specific
PrimerError
that occurred during validation.Show PrimerValidationError
Show PrimerValidationError
A unique error identifier.
A unique error code.
A error description.
A recovery suggestion for the given error. In case itโs present, use it to try
to recover from error.
A unique diagnostics id for the given error.
The data for which the error occurred.
Example
KOTLIN
Copy
Ask AI
class CheckoutActivity : AppCompatActivity() {
// ๐ Add this
private val klarnaComponent by lazy {
PrimerHeadlessUniversalCheckoutKlarnaManager(viewModelStoreOwner = this)
.provideKlarnaComponent(primerSessionIntent = PrimerSessionIntent.CHECKOUT)
}
}