Headless SDK (Inscripción Android)
Esta página proporciona una guía para la inscripción en el Yuno Headless SDK para Android.
El Yuno Headless SDK para Android proporciona una solución flexible y sin interfaz de usuario para registrar métodos de pago y tokenizar tarjetas.
Este SDK ofrece un control total sobre el proceso de inscripción del método de pago , por lo que es ideal para los comerciantes que:
- Necesidad de control total sobre la interfaz de usuario y la experiencia del usuario
- Desea implantar flujos de inscripción personalizados
- Requiere capacidades de integración avanzadas
El SDK Headless incluye características principales como:
- Tokenización de tarjetas
- Inscripción segura en el método de pago
- Acceso directo a la API
- Gestión de errores personalizada
Los comerciantes que necesiten una solución de interfaz de usuario prefabricada o una integración más sencilla pueden utilizar nuestras otras implementaciones del SDK:
Requisitos
Antes de comenzar la integración de Yuno Android SDK, asegúrate de que tu proyecto cumple los requisitos técnicos. Además, asegúrate de que se cumplen los siguientes requisitos previos:
- Debes tener una cuenta Yuno activa
- Necesitas tus credenciales de la API de Yuno:
account_idpublic-api-keyprivate-secret-key
Puedes obtener estas credenciales en la sección Desarrolladores del panel de control de Yuno. Son necesarias para:
- Cree un
customer, que se requiere antes de inscribirse en los métodos de pago - Cree un
customer_session, que inicializa el flujo de inscripción
Información de la versión del SDKComprueba la versión actual del SDK accediendo a las Notas de la versión o visitando el repositorio del SDK de Android de Yuno.
Paso 1: Crea un cliente
Crea un cliente utilizando el endpoint Crear cliente antes de inscribir métodos de pago.
Requisitos previos:
- Cuenta Yuno activa
- Credenciales de API
Necesario para:
- Identificación de la persona que inscribe el método de pago
- Activar la función de método de pago guardado
- Seguimiento del historial de inscripciones
- Guarda la identificación del cliente de forma segura para el siguiente paso.
Paso 2: Crear una sesión de cliente
Crear un nuevo customer_session utilizando la función del endpoint Crear Sesión de Cliente punto final:
Requisitos previos:
- ID de cliente del paso 1
- Credenciales de API
Acciones necesarias:
- Incluye el ID de cliente en el pedido
- Almacenar lo devuelto
customer_sessionID - Generar un nuevo
customer_sessionpara cada inscripción en el método de pago.
Paso 3: Añada el SDK a tu proyecto
Requisitos previos:
- Configuración del proyecto Android
- Acceso a la configuración de Gradle
- Añade la fuente del repositorio:
maven { url "https://yunopayments.jfrog.io/artifactory/snapshots-libs-release" }- Añada la dependencia del SDK:
dependencies {
implementation 'com.yuno.payments:android-sdk:{last_version}'
}
Se requiere permiso de InternetEl SDK de Yuno incluye automáticamente el permiso
INTERNETnecesario para solicitudes de red. Asegúrate de que tu archivo AndroidManifest.xml contenga:
<uses-permission android:name="android.permission.INTERNET" />
Paso 4: Initialize Headless SDK la clave pública.
Recupera tus claves API públicas del panel de control de Yuno.
Si no has implementado una aplicación personalizada, crea una. En el método onCreate() de tu clase de aplicación, llama a la función de inicialización (Yuno.initialize):
class CustomApplication : Application() {
override fun onCreate() {
super.onCreate()
Yuno.initialize(
this,
PUBLIC_API_KEY,
config: YunoConfig,
)
}
}Paso 5: Crear una sesión de cliente
Para iniciar el proceso de inscripción:
-
Cree un cliente utilizando la función Crear Cliente endpoint. La respuesta incluirá el cliente
id. -
Crear una sesión de cliente utilizando:
- El cliente
iddel paso 1 - El endpoint Crear sesión de cliente
- El cliente
La respuesta endpoint proporcionará customer_session valor requerido para la inscripción.
Generación de sesiones de clientesNecesitas generar un nuevo
customer_sessioncada vez que registres un método de pago.
Paso 6: Crear un objeto de método de pago inscripción
Crea un objeto de método de pago de inscripción utilizando el endpoint Método de pago de inscripción para configurar la integración Headless SDK para la inscripción. Al crear este objeto, especifica en qué tipo de método de pago puede inscribirse tu cliente. Actualmente, el Headless SDK sólo admite el tipo de método de pago TARJETA.
Verificación de tarjetaPara verificar tarjetas (autorización de valor cero) antes de la inscripción, incluya la
verifyal crear el objeto de método de pago para la sesión del cliente. Más información
Paso 7: Iniciar el proceso de inscripción
Use el endpoint apiClientEnroll para iniciar el proceso de inscripción. Esta función requiere parámetros de configuración que definen cómo se procesará la inscripción. La siguiente tabla describe los parámetros necesarios:
| Parámetro | Descripción |
|---|---|
country_code | Este parámetro determina el país para el cual se está configurando el proceso de pago. La lista completa de países admitidos y sus country_code está disponible en la Cobertura de países . |
customer_session | Se refiere a la inscripción sesión de cliente recibido como respuesta a la Crear Sesión de Cliente punto final. Ejemplo: 438413b7-4921-41e4-b8f3-28a5a0141638 |
El siguiente bloque de código muestra un ejemplo de configuración de parámetros:
override fun onCreate(savedInstanceState: Bundle?) {
val apiClientEnroll = Yuno.apiClientEnroll(
country_code = "CO",
customerSession = "eec6578e-ac2f-40a0-8065-25b5957f6dd3",
context = this
)
}Paso 8: Generar un token bóveda
Tras recopilar toda la información necesaria sobre el cliente, cree un vaulted_token utilizando la función del endpoint apiClientEnroll.continueEnrollment . Dado que se trata de una función asincrónica, utiliza una try/catch para gestionar los errores que puedan producirse. El siguiente ejemplo muestra cómo crear un bloque vaulted_token:
apiClientEnroll.continueEnrollment(
collectedData = EnrollmentCollectedData(
customerSession = "customer_session",
métodoDePago = MétodoDeInscripción(
tipo = "TARJETA",
tarjeta = DatosDeTarjeta(
guardar = verdadero,
detalle = Detalle(
mesDeVencimiento = 11,
añoDeVencimiento = 55,
número = "4111111111111111",
securityCode = "123",
holderName = "Nombre Apellido",
type = CardType.DEBIT
),
customer = Customer(
id = "id",
merchantCustomerId = "merchant_customer_id",
firstName = "firstName",
email "[email ]",
país = "CO",
documento = Documento(
tipo de documento = "PAS",
número de documento = "PAS12312"),
teléfono = Teléfono(
número = "321123321123",
código de país = "57")
)
),
contexto = esto
)
El objeto apiClientEnroll.continueEnrollment devuelve un tipo Observable que extiende LiveData. Puede observar la respuesta como una norma LiveData con tipo SingleLiveEvent<Map<String, Any?>>. Este LiveData emite una sola vez y devuelve un Map que contiene la respuesta completa. A continuación se muestra un ejemplo de respuesta de llamada apiClientEnroll.continueEnrollment:
{
"vaulted_token": "9104911d-5df9-429e-8488-ad41abea1a4b",
"status": "SUCCEEDED",
"customer": {
"session": "eec6578e-ac2f-40a0-8065-25b5957f6dd3"
}
}El siguiente bloque de código muestra un ejemplo de observación de la respuesta:
apiClientPayment.continueEnrollment(data, context).observe(context) { response ->
val estado = respuesta["estado"] as String?
val vauldtedtoken = response["vaulted_token"] as String?
}
Seguimiento del estado del webhookConsidere el uso del estado de inscripción recibido a través de Webhooks. Yuno recomienda utilizar siempre este estado para basar y tomar decisiones de negocio en su plataforma.
Actualizado hace 3 meses