Vault Widget - iOS
El Vault Widget de DEUNA permite guardar tarjetas de crédito y débito de forma segura. Para iniciar el proceso, debes usar la función initElements
. Esta configura el Vault Widget, verifica la conectividad a Internet y carga el enlace.
Paso 1: Completar los Primeros Pasos
Antes de integrar el Vault Widget, es necesario que completes la sección de primeros pasos. En esta sección, te explicamos los requisitos necesarios y cómo inicializar el SDK. Puedes encontrar más información en Primeros Pasos con el SDK de iOS.
Una vez que hayas completado estos pasos, podrás continuar con el paso 2.
Paso 2: Mostrar el Widget
Para mostrar el Vault Widget, primero define los callbacks y luego levanta el widget con initElements
.
let callbacks = ElementsCallbacks(
onSuccess: { response in
self.deunaSDK.closeElements() // Cierra el Vault Widget
},
onError: { error in
// Manejo de errores
self.deunaSDK.closeElements() // Cierra el Vault Widget
},
onClosed: {
// El Vault Widget fue cerrado
},
onCanceled: {
// El Vault Widget fue cerrado por el usuario
// No es necesario llamar a closeElements(...)
},
eventListener: { type, response in
// Escuchar los eventos
}
)
// Muestra el Vault Widget
deunaSDK.initElements(
userToken = "<DEUNA user token>", // optional
userInfo = DeunaSDK.UserInfo("Esteban", "Posada", "[email protected]"), // optional
callbacks: callbacks
)
Parámetros
Parámetro | Descripción |
---|---|
callbacks | Una instancia de la clase ElementsCallbacks , la cual contiene callbacks que serán llamados en caso de éxito, error, o cuando el widget se cierre. |
closeEvents | Un conjunto de valores de tipo ElementsEvent que especifican cuándo cerrar automáticamente el Vault Widget. Consulta los eventos del Vault Widget aquí. |
userToken (Opcional) | El bearer token del usuario de DEUNA. Cuando este es enviado, todas las acciones dentro del widget van a hacer sobre este usuario de DEUNA. Importante: si este campo es usado, el campo userInfo no se debe mandar. |
userInfo (Opcional) | Instancia de la clase DeunaSDK.ElementsUserInfo que contiene firstName , lastName y email .Importante: en caso que el userToken no se enviado o sea un string vacío (""), este parámetro es requerido. |
Paso 3: Escuchar los Eventos del Widget
Es crucial manejar adecuadamente los eventos del Vault Widget para ofrecer una experiencia fluida a los usuarios. Define los callbacks
necesarios para actualizar la interfaz de tu aplicación.
3.1 Callbacks
Callback | ¿Cuándo se dispara? |
---|---|
onSuccess | Se ejecuta cuando una tarjeta se guarda exitosamente. Este callback contiene un parámetro de tipo [String:Any] |
onError | Se ejecuta cuando ocurre un error al guardar la tarjeta. Este callback contiene un parámetro de tipo ElementsError . |
onClosed | Se ejecuta cuando el Vault Widget se cierra, independientemente de si la operación fue exitosa o ocurrió un error. NOTA: El orden de ejecución de onCanceled y onClosed es el siguiente:- Si el usuario cierra manualmente el widget (presionando el botón X o deslizando el modal hacia abajo): onCanceled > onClosed .- Si se cierra el widget mediante código llamando a closePaymentWidget, solo se ejecuta onClosed . |
onCanceled | Se ejecuta cuando el usuario de forma intencional cierra el widget (presionando el botón X o deslizando el modal hacia abajo) sin que la operación se haya completado. |
eventListener | Se ejecuta cuando se detectan eventos específicos en el Vault Widget. Este callback contiene un parámetro de tipo ElementsEvent . |
Paso 4 (Opcional): Cerrar el Widget
Por defecto, el Vault Widget solo se cierra cuando el usuario presiona el botón de cerrar del widget o cuando presiona el botón de "retroceso" en iOS. Para cerrar el modal cuando una operación es exitosa o cuando ocurre un error, debes llamar a la función closeElements
.
El siguiente código de ejemplo muestra cómo cerrar el widget cuando una tarjeta se guarda exitosamente:
let callbacks = ElementsCallbacks(
onSuccess: { response in
self.deunaSDK.closeElements() // Cierra el Vault Widget
// Tu código adicional
}
)
// Muestra el Vault Widget
deunaSDK.initElements(
userToken = "<DEUNA user token>", // optional
userInfo = DeunaSDK.UserInfo("Esteban", "Posada", "[email protected]"), // optional
callbacks: callbacks
)
Paso 5 (Opcional): Revisar Ejemplo Demo App
Para comprender mejor la integración del Vault Widget, revisa el proyecto de ejemplo proporcionado por DEUNA. Este ejemplo te ayudará a entender mejor cómo implementar el widget en tu aplicación iOS.
Para acceder al proyecto de ejemplo y obtener más información, consulta la documentación del Ejemplo de Proyecto para iOS.
Updated 12 days ago