Skip to main content

Payment methods

Every method goes through the same two calls, rememberPaymentElement and element.submit(), as in getting started. One guide per method says what differs: the artifact and project setup it needs (dependencies, repositories, manifest entries, deep links, dashboard configuration), what its element renders, what submit() does, and its failure modes.

MethodArtifactProject setupElement
Card (Purse vault)headless-checkout-androidnoneSecure card form, your Pay button
Google Payheadless-checkout-googlepaynoneBranded button, self-submitting
PayPalheadless-checkout-paypalnoneBranded button, self-submitting
Klarnaheadless-checkout-klarnaKlarna's Maven repository, a deep link on your ActivityNative widget, your Pay button
Redirection methodsheadless-checkout-androidnoneNothing, your Pay button; the PSP page is the step
Gift cards and co-paymentheadless-checkout-androidnoneYour own PAN and CVV fields
Saved cards and accountsheadless-checkout-android (+ -paypal for PayPal accounts)A wallet session in the client sessionCVV field when required, else nothing

Pin one version for every artifact: they release together.

The session decides what is listed​

Your dependencies decide what the app can render; the client session decides what is offered. A partner activated in your Purse dashboard is offered to the app whether or not its artifact is on the classpath. If it is not, the method is still listed, its element has no UI, and submit() reports PaymentOutcome.Failed with a NoPluginRegistered error whose message names the dependency to add:

no plugin registered for paypal/wallet — add the `eu.purse:headless-checkout-paypal` dependency to offer this method

The same line is logged at init. Add the artifact, or hide the method in this build, scoped to the checkout instance:

PurseHeadlessCheckout.init(widgetData, disabledMethods = setOf(MethodKey(Partner.Paypal, Method.Wallet)))

What the Android SDK renders​

Cards vaulted by Purse, three native partner SDKs and every method in redirection mode. PSP-hosted card forms that live in a browser have no native counterpart. The full comparison with the web SDK is the Supported payment methods table.