Arborescence des pages

Vous regardez une version antérieure (v. /display/DT/Exemple+d%27utilisation+du+SDK+Android) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 3) afficher la version suivante »

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
    }

}


  • Aucune étiquette