Widget VAULT Android: Guía de Implementación

Esta guía te ayudará a implementar el SDK de VAULT en tu aplicación, enfocándose en la gestión eficiente de pagos y tarjetas.

Configuración del SDK


Para comenzar, es esencial configurar el SDK con los parámetros necesarios.

Importación e inicialización

// Importaciones y configuraciones para Vault
import com.deuna.maven.DeUnaSdk
import com.deuna.maven.checkout.domain.Environment
import com.deuna.maven.checkout.domain.ElementType
import com.deuna.maven.element.domain.ElementCallbacks


val elementCallbacks = ElementCallbacks().apply {
    // Aquí van tus callbacks
}

// Inicialización del SDK para Vault
DeUnaSdk.config(
    apiKey = "TU_API_KEY",
    environment = Environment.STAGING,
    elementCallbacks = elementCallbacks,
    context = this@MainActivity
)

Parámetros de configuración

AtributoDescripciónTipo
apiKeyapiKey proporcionado por DEUNAString: Identificador de la sesión del usuario
environmentDefine si usas el ambiente de pruebas o producción.Environment (STAGING | PRODUCTION)
elementCallbacksCallbacks para manejar eventos del SDK.elementCallbacks
contextContexto de la actividad para mostrar el modal.AppCompatActivity

Configuración de callbacks


Configura los callbacks para manejar los eventos del SDK de manera efectiva.

// Configuraciones del SDK de DEUNA para Vault
import com.deuna.maven.DeUnaSdk
import com.deuna.maven.checkout.domain.Environment
import com.deuna.maven.element.domain.ElementCallbacks

// Para mostrar logs y revisar la información que te enviamos
import android.util.Log
 
// Definir callback para ser utilizado
val elementCallbacks = ElementCallbacks().apply {
            onSuccess = { response ->
                Log.d("closeElements Success", response.data.toString())
                DeUnaSdk.closeElements() // No cerró, revisar
                Intent(this@MainActivity, ThankYouActivity::class.java).apply {
                    startActivity(this)
                }
            }
            eventListener = {  ->
                // Código para manejar los eventos de cierre
                Log.d("DeunaSdkEventListener", "eventListener")

            }
            onError = { error ->
                if (error != null) {
                    DeUnaSdk.closeElements()
                    Log.d("DeunaSdkOnError", error.message)
                }
            }
            onClose = { _ ->
                Log.d("DeunaSdkOnClose", "onClose")
            }
        }

Descripción de callbacks

CallbackDescripciónRespuesta
onSuccessNotifica cuando una tarjeta se guarda correctamente.Para más información de la respuesta acá (Revisar: Responses 200)
onErrorInforma de un error al guardar la tarjeta.Informa de un error al guardar la tarjeta.
eventListenerAlerta de una actualización en la tarjetaResponse con type de evento y objeto de la respuesta
onCloseManeja cuando se presiona el botón de cerrarActivityView

Inicialización para gestión de tarjetas


Para gestionar tarjetas, sigue este proceso:


// Inicializa el proceso de pago
DeUnaSdk.initElements(element = ElementType.VAULT, userToken = userToken)

Parámetros para gestión de tarjetas

AtributoDescripciónTipo
elementEl elemento del SDK a inicializar (VAULT).Enum
callbacksCallbacks para gestionar los eventos del SDKObjeto
userTokenToken de usuario para identificar la sesión.String

Demos experiencia