The Checkout Screen Is Becoming a Wall of Logos
I lead mobile engineering at a company that processes payments in 30+ countries. My team has been dealing with payment method proliferation for years, and the Wero announcement just added another item to an already overwhelming list.
Let me share the mobile engineering perspective on what happens when yet another payment method enters the market.
The Current State of Mobile Payments
Here’s what our checkout screen already supports:
- Cards: Visa, Mastercard, Amex, Discover (via tokenization)
- Digital wallets: Apple Pay, Google Pay, Samsung Pay
- Bank transfers: SEPA, iDEAL (Netherlands), Bancontact (Belgium), Przelewy24 (Poland)
- BNPL: Klarna, Afterpay, PayPal Pay Later
- Regional: PIX (Brazil), UPI (India), Alipay, WeChat Pay
- Crypto: (we removed this after 0.1% adoption, but the code is still there haunting us)
That’s 15+ payment methods before adding Wero. Each one requires:
- Native SDK integration — most payment methods provide iOS and Android SDKs that need to be independently maintained
- UI components — buttons, logos, loading states, error handling, all following each provider’s brand guidelines
- Deep linking — redirecting to banking apps for authentication and handling the return flow
- State management — tracking payment status across app lifecycle events (app backgrounding, force quit, network loss)
The SDK Bloat Problem
This is the part that keeps me up at night. Each payment SDK adds:
- Binary size: Apple Pay SDK is lightweight (built into iOS), but third-party payment SDKs can add 2-10 MB each to your app binary. Our payment module alone is now 47 MB of our 120 MB app size.
- Dependency conflicts: Multiple SDKs using different versions of the same underlying libraries. Last quarter we spent two weeks resolving a conflict between Klarna’s SDK and our analytics framework.
- Startup time impact: Each SDK initialized at app launch adds 50-200ms. With 8 payment SDKs, that’s potentially 1.6 seconds of payment-related initialization before the app is responsive.
- Maintenance burden: SDK updates, breaking changes, deprecation notices. My team spends roughly 20% of our time just maintaining payment SDK integrations.
The UX Challenge: Paradox of Choice
Research consistently shows that more payment options don’t always mean higher conversion. There’s a point where the checkout screen becomes overwhelming and users abandon.
Our A/B testing data:
- 3 payment methods: 78% checkout completion rate
- 5 payment methods: 82% completion (optimal)
- 8+ payment methods: 76% completion (decision paralysis)
The question with Wero is: does it replace an existing method (like SEPA bank transfers) or does it add to the pile? If it’s additive, we need smart logic to show the right payment methods to the right users.
What Wero Integration Looks Like on Mobile
Based on what I’ve seen from the German launch, Wero’s mobile flow is:
- User selects “Pay with Wero” in the merchant’s app
- App redirect to the user’s banking app for authentication (SCA)
- User authenticates via biometric/PIN in their banking app
- Return to merchant app with payment confirmation
This is essentially the same flow as iDEAL and Bancontact — app-to-app redirection. From an engineering perspective, it’s manageable but introduces the classic redirect flow pain points:
- App not installed: What if the user’s banking app isn’t on their phone? Fallback to web authentication is clunky.
- Universal links / App links: These are notoriously unreliable across OS versions. iOS 17 changed universal link behavior and broke several of our payment redirect flows.
- Background/foreground lifecycle: User authenticates in banking app, then the OS kills our app in the background due to memory pressure. When they return, they see a fresh app state with no payment context. This happens more often than you’d think on older devices.
- Timeout handling: How long do we wait for the user to complete authentication in their banking app? 60 seconds? 5 minutes? What if they get distracted?
My Framework for Payment Method Prioritization
Here’s how I decide whether to invest in a new payment method:
| Criteria | Weight | Wero Score |
|---|---|---|
| Addressable users in our markets | 30% | 8/10 (48.5M, growing to 130M) |
| SDK quality and documentation | 25% | 3/10 (too early to evaluate) |
| Conversion rate impact vs. existing methods | 20% | 5/10 (unknown, likely neutral initially) |
| Merchant demand from our clients | 15% | 7/10 (strong signal from European clients) |
| Engineering cost relative to alternatives | 10% | 4/10 (moderate, redirect-based) |
Weighted score: 5.55/10 — that puts Wero in the “monitor and prototype” category, not the “integrate immediately” category.
What Would Change My Calculus
Three things would push Wero to the top of my integration queue:
- A high-quality, well-documented iOS and Android SDK with sandbox testing
- Proof that Wero drives incremental conversion (not just cannibalization of existing bank transfer methods)
- Regulatory mandate requiring Wero acceptance (this would override all other considerations)
Until then, I’m recommending my team build the abstraction layer (as Alex and Luis discussed) and wait for Wero’s SDK maturity to catch up with its user growth.
Fellow mobile engineers — how are you handling payment method proliferation? Anyone found a good pattern for dynamic checkout that doesn’t degrade to a scrollable list of logos?