Dasa POS SumUp Integration

Completed

Jul 2025 - Aug 2025 (2 months)

Dasa POS SumUp Integration is an Android implementation project that adds SumUp merchant login and card checkout into an existing multi-flavor POS/e-commerce codebase.

The work focused on safely integrating a second payment processor, wiring it through existing cart/payment UI and activity-result flows, and hardening release behavior so SumUp is available only on stores configured for Sum Up.

Built with: Kotlin, Android, Jetpack Compose, Hilt, Mavericks (MvRx), SumUp Merchant SDK, AppAuth, Firebase (Analytics/Crashlytics/Performance/Remote Config), Ktor, Retrofit/OkHttp, and SQLDelight.

Project Activity

Recent updates for Dasa POS SumUp Integration. Completed

August 2025

  • Finalized store-level SumUp gating so SumUp actions are shown only for stores configured with `paymentProcessorName = Sum Up`, and restricted card-triggered SumUp login flow to eligible stores.
  • Prepared and cut D3P/D3M release `2.24+114`, including flavor/version metadata updates after SumUp merge stabilization work.
  • Executed the main SumUp stabilization batch: merged SumUp branch changes, fixed compilation regressions, patched print-bill compatibility, completed checkout/refund-path adjustments, and finalized release readiness for version `2.24 (108)`.

July 2025

  • Added menu-driven SumUp login/logout controls with runtime login-state handling so operators can authenticate SumUp directly from primary navigation surfaces.
  • Completed end-to-end SumUp checkout integration across main/cart/payment flows, including payment-result handling and UI wiring needed to execute card transactions in production paths.
  • Integrated core SumUp implementation by adding helper/activity/viewmodel payment modules, updating manifest/DI/payment boundaries, and connecting login + checkout callbacks into the existing app architecture.
  • Bootstrapped SumUp integration by installing SDK dependencies/repositories and introducing dual card payment options (MyGuava vs SumUp) in cart flows as the initial branch point for processor selection.

Objective Link to heading

  • Integrate SumUp card processing into an existing Android e-commerce/POS app without breaking the established MyGuava payment flow.
  • Deliver a production-ready flow that supports SumUp SDK initialization, merchant login/logout, card checkout, and store-level gating so SumUp appears only for eligible stores.

Integration path Link to heading

  • Added SumUp SDK repositories/dependencies and initialized SDK state during app startup.
  • Introduced dedicated SumUp payment components (SumUpPaymentHelper, SumUpPaymentActivity, SumUpPaymentViewModel) to isolate checkout/login handling.
  • Wired SumUp actions into existing payment and cart surfaces so card checkout can branch between processors.
  • Added menu-level SumUp login/logout controls and activity-result handling for login and payment callbacks.
  • Applied compile/stability fixes and release hardening across merge and patch commits, then enforced final store-specific SumUp visibility rules.

Architecture and reliability focus Link to heading

  • Preserved existing payment architecture by layering SumUp alongside MyGuava rather than replacing existing flows.
  • Used store-scoped processor checks (paymentProcessorName == "Sum Up") to control SumUp availability at runtime.
  • Kept SDK interaction centralized in helper/activity boundaries to reduce duplicated checkout/login code.
  • Completed release-cycle fixes (compilation, print-bill regression patch, flavor/version updates) to ship stable builds.