API – Developers Docs API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
API – Developers Docs API – Developers Docs
API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
Cyberpac
  • Folder icon closed Folder open iconCanales
    • Consultas de operaciones e informes
    • Devoluciones
    • Consulta de notificaciones
    • Confirmar y anular operaciones
    • PayGold desde Canales
    • MO/TO desde Canales
    • Configuración de comercio
    • Preguntas frecuentes Canales
  • Folder icon closed Folder open iconMódulos de integración
    • PrestaShop
    • WooCommerce
    • Magento (Adobe Commerce)
    • Instalación y configuración avanzada de módulos de integración
    • Preguntas y errores frecuentes módulos
  • Folder icon closed Folder open iconIntegraciones a medida
    • Redirección
      • Operativas tarjetas redirección
    • REST
      • Operativas tarjetas REST
    • InSite
      • Operativas tarjetas InSite
    • InApp
      • Integración Android
      • Integración iOS
    • PayGold
  • Folder icon closed Folder open iconMétodos de pago
    • ApplePay
    • Google Pay
    • Bizum
  • Folder icon closed Folder open iconComplementa tu integración
    • 3D Secure: Qué es y parámetros
    • Consulta de operaciones REST
    • Entorno de pruebas y pase a producción
    • Personalizar pasarela de pago
  • Folder icon closed Folder open iconRecursos
    • Códigos de Error y Denegaciones
    • Códigos: Divisas e Idiomas
    • Tarjetas para pruebas y casuísticas

Integración Android

Introducción

En esta página se explica cómo realizar la integración vía inApp en un desarrollo para dispositivos Android.

Puedes integrar inApp para Android usando pago directo o pago por WebView. En esta página se explican ambas.

Para realizar esta integración te recomendamos usar la librería de SDK para inApp. Te ayudarán a integrar los servicios de Redsys dentro de tu aplicación sin tener que programar toda la integración desde cero.

Librerías de Redsys
El botón de imprimir el recibo al finalizar de la operación se va a eliminar próximamente. Por este motivo, no es funcional.

Configuración del proyecto

Para realizar la integración inApp para Android es necesario disponer de una configuración previa. El primer paso es integrar la librería en el software que vayas a utilizar para realizar el desarrollo.

El software que se usa en la integración inApp para Android es Android Studio.

Pasos a seguir

Sigue estos pasos para configurar la aplicación:

  1. Crea un nuevo módulo a partir de un fichero .ARR dentro del proyecto.
  2. En el fichero build.gradle del proyecto, añade la siguiente línea en el apartado de dependencias:
    compile project(path: ':sdkinapp-library')
  3. Después de añadir la línea anterior, configuraremos las dependencias agregando las siguientes líneas:
				
					compile 'com.google.code.gson:gson:2.8.2' 
compile 'com.android.volley:volley:1.1.0' 
compile 'com.android.support:appcompat-v7:26.0.1' 
compile 'com.android.support.constraint:constraint-layout:1.0.2' 
compile 'com.android.support:cardview-v7:26.0.1' 
compile 'com.android.support:design:26.0.1' 
compile 'com.android.support:support-v4:26.0.1' 
compile 'com.android.support:support-vector-drawable:26.0.1'
				
			
  1. Dentro del fichero AndroidManifest.xml de la aplicación que hace uso de la biblioteca, debe declararse permiso para conectarse a internet y usar la pasarela, con la línea siguiente:
  2. Por último, configura los parámetros de forma adecuada.

Pago directo

Las operaciones de pago directo se realizan mediante la aplicación nativa disponible para los sistemas operativos Android. Este tipo de pago soporta tanto pagos normales como pagos por referencia. Para realizar un pago directo es necesario haber configurado previamente los parámetros obligatorios en el objeto TPVVConfiguration. Tras fijar estos parámetros, en cada pago es necesario indicar los siguientes campos:

				
					TPVV.doDirectPayment(this, "numeroDePedido", importe ,"tipoOperación", "referencia", "Descripcion", new IPaymentResult() {
 
    @Override public void paymentResultOK(ResultResponse response) { 
         } 
         
    @Override public void paymentResultKO(ErrorResponse error) { } 
         }
     
);                        
				
			

Como puedes comprobar, se crea un objeto TPVV y se realiza la función doDirectPayment. En esta función se pasan los siguientes parámetros:

  • numeroDePedido · String: Código alfanumérico identificativo de la operación, debe ser único. Este parámetro es obligatorio.
  • importe · Double: Importe total de la operación. Este parámetro es obligatorio.
    • Ejemplo: Double.valueOf(3050) equivale a una operación de 30,50€.
  • tipoOperacion · String: Especifica el tipo de operación y se debe usar las constantes definidas en TPVVConstants. Este parámetro es obligatorio.
    • Autorización: Usa TPVVConstants.PAYMENT_TYPE_NORMAL.
    • Preautorización: Usa TPVVConstants.PAYMENT_TYPE_PEAUTHORIZATION.
    • Tradicional: Usa TPVVConstants.PAYMENT_TYPE_TADITIONAL.
    • Autenticación: Usa TPVVConstants.PAYMENT_TYPE_AUTHENTICATION.
  • reference · String: Enviado si se quiere realizar un pago con referencia, tienes mas información en la sección de Tokenización, Pago 1-clic y Operativa COF. Para realizar una petición de generación de referencia durante un pago, se debe enviar el literal TPVVConstants.REQUEST_REFERENCE y, para realizar una operativa utilizando ya una referencia creada, se debe añadir esta referencia como String.
  • descripcion · String: Descripción del pago.
  • HashMap <String, String>: Tabla hash tipo clave-valor para introducir variables adicionales que no estén contempladas en la SDK.

Personalización de la integración

Es posible personalizar algunos aspectos de la pantalla de pago. Para llevar a cabo la configuración de la pantalla de pago directo se hace uso del objeto UIDirectPaymentConfig. Son personalizables los siguientes elementos de la pantalla:

  • logo: logo que se muestra en la pantalla.
  • progressBarColor: color de la barra de progreso.
  • backgroundColor: color de fondo de la pantalla.
  • cardHeadText: texto de la cabecera de la tarjeta.
  • cardHeadTextColor: color del texto de la cabecera e la tarjeta.
  • cardHeadBackgroundTextColor:  color de fondo de la cabecera de la tarjeta.
  • cardText: texto de información para el campo de número de la tarjeta.
  • cardTextColor: textode error para el campo del número de la tarjeta.
  • expiryText: texto de información para el campo de caducidad de la tarjeta.
  • expiryTextError: texto de error para el campo de caducidad de la tarjeta.
  • cvvText: texto de información para el campo del CVV.
  • cvvTextError: texto de de error para el campo del CVV.
  • btnText: texto del botón.
  • btnTextColor: color del texto del botón.
  • btnColor: color del botón.
  • infoText: texto del descriptivo.
  • infoTextColor: color de fondo del texto descriptivo.

El código y la imagen siguiente es un ejemplo de personalización utilizando el objeto:

				
					Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.android_logo); 

uiDirectPaymentConfig.setLogo(bm); 
uiDirectPaymentConfig.setProgressBarColor("#FFFF0000"); 
uiDirectPaymentConfig.setTopBarColor("#FFFF0000"); 
uiDirectPaymentConfig.setBackgroundColor("#7792E484"); 
uiDirectPaymentConfig.setCardHeadText("INFORMACION TARJETA"); 
uiDirectPaymentConfig.setCardHeadTextColor("#FFFFFF"); 
uiDirectPaymentConfig.setCardHeadTextBackgroundColor("#FFFF0000"); 
uiDirectPaymentConfig.setCardText("TARJETA"); 
uiDirectPaymentConfig.setCardTextError("ERROR TARJETA"); 
uiDirectPaymentConfig.setExpiryText("CADUCIDAD"); 
uiDirectPaymentConfig.setExpiryTextError("CADUCIDAD ERROR"); 
uiDirectPaymentConfig.setCvvText("CVV CODE"); 
uiDirectPaymentConfig.setCvvTextError("CVV ERRROR"); 
uiDirectPaymentConfig.setBtnText("BOTON"); 
uiDirectPaymentConfig.setBtnTextColor("#FFFFFF"); 
uiDirectPaymentConfig.setBtnBackgroundColor("#FFFF0000"); 
uiDirectPaymentConfig.setInfoText("TEXTO DESCRIPCION"); 
uiDirectPaymentConfig.setInfoTextColor("#FFFF0000"); 

TPVVConfiguration.setUiDirectPaymentConfig(uiDirectPaymentConfig);                    
				
			

Pago por WebView

Las operaciones de pago WebView, se realizan mediante la propia web del comercio, con la única diferencia de que la vista se encuentra adaptada para dispositivos móviles. Este tipo de pago soporta tanto pagos normales como pagos por referencia.

				
					TPVV.doWebViewPayment(this, "numeroDePedido", importe ,"tipoOperación", "referencia", "Descripcion", new IPaymentResult() {
 
     @Override public void paymentResultOK(ResultResponse response) { 
         } 
         
     @Override public void paymentResultKO(ErrorResponse error) { } 
         }
     
);
				
			
  • numeroDePedido · String: Código alfanumérico identificativo de la operación, debe ser único. Este parámetro es obligatorio.
  • importe · Double: Importe total de la operación. Este parámetro es obligatorio.
    • Ejemplo: Double.valueOf(3050) equivale a una operación de 30,50€.
  • tipoOperacion · String: Especifica el tipo de operación y se debe usar las constantes definidas en TPVVConstants. Este parámetro es obligatorio.
    • Autorización: Usa TPVVConstants.PAYMENT_TYPE_NORMAL.
    • Preautorización: Usa TPVVConstants.PAYMENT_TYPE_PEAUTHORIZATION.
    • Tradicional: Usa TPVVConstants.PAYMENT_TYPE_TADITIONAL.
    • Autenticación: Usa TPVVConstants.PAYMENT_TYPE_AUTHENTICATION.
  • reference · String: Enviado si se quiere realizar un pago con referencia, tienes mas información en la sección de Tokenización, Pago 1-clic y Operativa COF. Para realizar una petición de generación de referencia durante un pago, se debe enviar el literal TPVVConstants.REQUEST_REFERENCE y, para realizar una operativa utilizando ya una referencia creada, se debe añadir esta referencia como String.
  • descripcion · String: Descripción del pago.
  • HashMap <String, String>: Tabla hash tipo clave-valor para introducir variables adicionales que no estén contempladas en la SDK.

En el caso del pago utilizando WebView, es posible configurar un par de parámetros más siguiendo las siguientes indicaciones:

  • Idioma: para los lenguajes hay que indicar un código de idioma válido, en caso de no indicar nada, el usado por defecto es el Español.
 
				
					TPVVConfiguration.setLanguage(language);
				
			
  • Redirección a las URI de resultado: existe la posibilidad de redireccionar a una URL definida por el desarrollador tras realizar la operación. Una para el caso en que la operación se realice correctamente y otra en caso de error.
				
					TPVVConfiguration.setEnableRedirection(true);
TPVVConfiguration.setUrlOK(urlOK);
TPVVConfiguration.setUrlKO(urlKO);
				
			
  • Alerta resultado: se ha añadido la posibilidad de mostrar una alerta indicando el resultado de la operación una vez se ha realizado la redirección a la web configurada por el desarrollador.
				
					TPVVConfiguration.setEnableResultAlert(true);
TPVVConfiguration.setResultAlertTextButtonOk("Continuar");
TPVVConfiguration.setResultAlertTextButtonKo("Continuar");
TPVVConfiguration.setResultAlertTextOk("Operación realizada correctamente");
TPVVConfiguration.setResultAlertTextKo("Error al intentar realizar la operación");
				
			

Respuesta de la operación

En función del resultado de la operación, recibiremos un objeto de tipo ResultResponse con los datos de la operación o un objeto del tipo ErrorResponse con el código de error y la operación.

ResultResponse

				
					String Amount: Cantidad
String currency: Moneda
String order: Número de pedido
String merchantCode: FUC
String terminal: Número de terminal
String responseCode: Código de la respuesta
String authorisationCode: Código de autorización
String transactionType: Tipo de transacción
String securePayment: Pago seguro
String language: Idioma
String cardNumber: Número de la tarjeta
String cardType: Tipo de tarjeta
String merchantData: Datos del comercio
String cardCountry: País de origen de la tarjeta
String date: Fecha* (Solo aplica a pago a través de WebView)
String hour: Hora* (Solo aplica a pago a través de WebView)
String identifier: Referencia
String signature: Firma
String cardBrand: Marca de la tarjeta
String expiryDate: Caducidad de la tarjeta
String extraParams: Parámetros extra que se han recibido en la respuesta en formato JSON
				
			

ErrorResponse

				
					String code: 'Código de error'
String Desc: 'Descripción'
				
			

visto recientemente

  • Integración iOS
  • Leer Más
Comparte este documento

Integración Android

Copiar el enlace

Clipboard Icon
Tabla de Contenidos

Productos

  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
  • Universal Pay
  • Addon 1 - XML API Integration

Ventas

Cuéntanos cómo es tu negocio para ofrecerte la mejor solución.

Contacta con un experto

Soporte técnico

¿Ya eres cliente y necesitas ayuda? Contacta con nosotros, estamos a tu disposición.

Ayuda

Socios

Trabajamos con los mejores partners de soluciones in-store y eCommerce. ¿Quieres unirte?

Únete a nosotros

© Comercia Global Payments

Política de privacidad
Ejercicio de Derechos
Información a Clientes
Canal de denuncia
Aviso Legal
Política de cookies
Pregúntale a la IA
Escribe tu pregunta. Por ejemplo: ¿Cómo creo un enlace de pago?
La SmartWiki puede omitir datos. Verifica la información o contacta con soporte.

SmartWiki, Impulsada por IA

API - Developers Docs
Gestionar el consentimiento de las cookies
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar {vendor_count} proveedores Leer más sobre estos propósitos
Ver preferencias
{title} {title} {title}

Cyberpac

Consulta la documentación de Cyberpac. Aquí tienes las distintas secciones:

Canales

Módulos de integración

Integraciones a medida

Consulta la documentación de las distintas secciones de integraciones:

Comienza a integrar

undraw_add_to_cart_re_wrdo 1 (1) (1)

Plugins para CMS

Complementa la integración

SDKs

Métodos de pago

Herramientas

Addon Payments

Consulta la documentación de Addon Payments. Aquí tienes las distintas secciones:

Integraciones

Consultas frecuentes

Portal Backoffice

Pagos integrados en TPV

Crea una solución que te ayudará a automatizar procesos. Incluso, podrás agregar procesos de pago en terminales físicos.

Pago integrado con TPV Android

Pago integrado con Smartphone TPV

Fichas Técnicas TPVs

Addon Payments

Comercia Global Payments has several integration options so you can choose the most efficient one for you.

Integrations

Frequently Asked Questions

BackOffice Portal

Consult the documentation of the different integrations sections:​

Start integration

undraw_add_to_cart_re_wrdo 1 (1) (1)

CMS Plugins

Complement your integration

SDKs

Payment Methods

Tools