PaymentOptionsRegistry.kt
/*
* This file is part of GNU Taler
* (C) 2026 Taler Systems S.A.
*
* GNU Taler is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 3, or (at your option) any later version.
*
* GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
package net.taler.merchantpos.paymentoptions
import android.app.Application
import android.content.Context
import com.sumup.reader.sdk.api.SumUpState
import net.taler.merchantpos.devices.TalerBluetoothDevice
import net.taler.merchantpos.devices.TalerUsbDevices
import net.taler.merchantpos.paymentoptions.sumup.SumUpOption
/**
* The payment options this flavour offers.
*
* Adding one means implementing [PaymentOption] and listing it here; navigation,
* settings and the terminal indicator adapt on their own.
*/
object PaymentOptionsRegistry
{
/** Startup any bundled SDK requires before it is used. */
fun initialize(app: Application)
{
SumUpState.init(app)
}
fun create(
context: Context,
talerUsb: TalerUsbDevices? = null,
talerBluetooth: TalerBluetoothDevice? = null,
): List<PaymentOption> =
listOf(
TalerOption(context, talerUsb, talerBluetooth),
CashOption,
SumUpOption(context),
)
}