Arborescence des pages

Contenu

Plus d'information

Impossible de produire un rendu {enfants}. Page introuvable : SDKMOBILE:Guide d'utilisation Android.

Utilisation du moyen de paiement

class TestApp: AppCompatActivity(), PaymentControllerListener {

    private lateinit var paymentController: PaymentController

    private var paymentUri: Uri? = null
    
    private val fetchTokenCallback: (FetchTokenResult?)->Unit = { result ->
        result?.redirectUrl?.let {
            paymentUri = Uri.parse(it)
        }
    }
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        paymentController = PaymentController()
        paymentController.registerListener(this, this)
        
        paymentTokenButton.setOnClickListener { fetchTokenForPayment() }
        
        paymentButton.setOnClickListener {
            paymentUri ?: return@setOnClickListener
            //On appelle la méthode showPaymentForm avec l'url du tunnel de paiement récupéré en fonction de votre implémentation
            paymentController.showPaymentForm(paymentUri!!)
        }
    }
    
    override fun onDestroy() {
        super.onDestroy()
        paymentController.unregisterListener()
    }
    
    private fun fetchTokenForPayment() {
        TokenFetcher(fetchTokenCallback).execute(FetchTokenParams(...))
    }
    
    override fun didShowPaymentForm() {
        //Gérer l'action ici
    }
    
    override fun didFinishPaymentForm(state: WidgetState) {
		paymentUri = null
        //Gérer l'action ici
    }
    
    override fun didGetIsSandbox(isSandbox: Boolean) {
        //Gérer l'action ici
    }
    
    override fun didGetLanguageCode(language: String) {
        //Gérer l'action ici
    }
    
    override fun didGetContextInfo(info: ContextInfoResult) {
        //Gérer l'action ici
    }

}

Utilisation du portefeuille

class TestApp: AppCompatActivity(), WalletControllerListener {

    private lateinit var walletController: WalletController

    private var walletUri: Uri? = null

    private val fetchTokenCallback: (FetchTokenResult?)->Unit = { result ->
        result?.redirectUrl?.let {
            walletUri = Uri.parse(it)
        }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        walletController = WalletController()
        walletController.registerListener(this, this)

        walletTokenButton.setOnClickListener { fetchTokenForWallet() }

        walletButton.setOnClickListener {
            walletUri ?: return@setOnClickListener
            //On appelle la méthode manageWebWallet avec l'url du wallet récupéré en fonction de votre implémentation.
            walletController.manageWebWallet(walletUri!!)
        }
    }

    override fun onDestroy() {
        super.onDestroy()
        walletController.unregisterListener()
    }

    private fun fetchTokenForWallet() {
        TokenFetcher(fetchTokenCallback).execute(FetchTokenParams(...))
    }

    override fun didShowManageWebWallet() {
        //Gérer l'action ici
    }

}