Getnet DocsGetnet Docs

Referencia de protocolos y tipos

El framework Get Mini define una serie de Objetos de Transferencia de Datos (DTOs) y protocolos para gestionar el contexto del comercio, la inicialización del hardware y los resultados de las transacciones.

Configuración y DTOs de comercio

Estos tipos se utilizan para establecer la identidad y el entorno del comercio.

CommonUtils (configuración de entorno)

La configuración del entorno se maneja a través de métodos globales en lugar de un objeto de configuración.

IdentificadorDescripción
"des"Entorno de desarrollo
"int"Entorno de Integración/Pruebas
"ccal"Entorno de certificación
"real"Entorno de producción

MerchanDTO

Requerido para vincular un PIN pad físico a una cuenta de comercio durante la inicialización.

PropiedadTipoDescripción
fucStringCódigo de comercio de 9 dígitos
terminalStringNúmero de terminal (ej., “1”)
claveComercioStringClave de seguridad del comercio
nombreComercioStringNombre mostrado al usuario

Definiciones de protocolo

Implemente estos protocolos en sus delegados para recibir callbacks del SDK.

RedsysBTPinpadPaymentDelegate

Maneja el ciclo de vida de una transacción de pago y la retroalimentación del usuario en tiempo real.

MétodoCuándo se LlamaParámetros
onPaymentProcessCambios de estado en el PIN padid (Resultado), NSError
onPaymentFeedbackElección en tiempo real requerida (DCC/Plazos)RespuestaTransaccionDTO, NSError
onPaymentFinishedTransacción completa (Aprobada/Denegada)RespuestaTransaccionDTO, NSError

RedsysBTPinpadInitDelegate

Monitorea el proceso de conexión e inyección de claves de un PIN pad.

MétodoCuándo se LlamaParámetros
onInitProcessActualización de estado durante la Configuraciónid (Cadena de estado)
onInitFinishedConfiguración completaPinpadConfig, NSError

Tipos de datos de transacción

PagoDTO

Define los parámetros para un intento de pago específico.

PropiedadTipoDescripción
valorCompraIntMonto en céntimos (ej., 1050 para 10.50€)
monedaIntCódigo ISO 4217 (ej., 978 para EUR)
tipoOperString“Autorización” o “Preautorización”
emailClienteString(Opcional) Activa email de recibo automático
tlfClienteString(Opcional) Activa SMS de recibo automático

RespuestaTransaccionDTO

El objeto de resultado principal devuelto después de un intento de transacción.

PropiedadTipoDescripción
estadoString“F” (Finalizada), “G” (Denegada), “T” (Error Técnico)
resultadoString“Autorizada” o “Denegada”
identificadorRTSStringClave única de 24 caracteres para devoluciones y consultas
literalesArrayArray de cadenas requeridas para el recibo
autenticadoPorPinBoolIndica si se requiere una firma física
tokenString(Pago por Referencia) Token de tarjeta para pagos recurrentes

DTOs de consulta y gestión

OperacionDTO

Representa una transacción pasada recuperada a través de la consulta de historial.

PropiedadTipoDescripción
importeStringMonto formateado (ej., “10.50”)
fechaOperacionNSDateMarca de tiempo de la transacción
numAutorizacionStringCódigo de autorización de la pasarela
facturaStringSu ID interno de factura/pedido

PerfilComercioRespuesta

Devuelto por peticionPerfilComercio para verificar características activas del terminal.

PropiedadTipoDescripción
permitePreautoBoolEl comercio puede realizar Preautorizaciones
permiteDCCBoolEl comercio puede manejar plazos/conversión de moneda
permiteEntradaManualBoolEl comercio puede escribir números de tarjeta manualmente

Enumeraciones

PinpadTechnology

Especifica el protocolo de comunicación para el hardware.

ValorDescripción
pinpadBluetoothConexión Bluetooth estándar (Mayoría de dispositivos)
pinpadBluetoothPanBluetooth Personal Area Network (Dispositivos FlyPOS)
pinpadBluetoothSMPPComunicación Bluetooth segura

| pinpadWifi | Conexión vía red local/Wi-Fi |

Notas de implementación

  1. Formatos de Monto: Siempre verifique si un método espera céntimos (Int) o cadenas formateadas (String). Los pagos usualmente usan céntimos; las devoluciones usan cadenas.
  2. Códigos de Resultado: Un código de 117 en error.code indica específicamente una denegación por “PIN Incorrecto”.
  3. Persistencia de Datos: El SDK usa almacenamiento local SQLite para ciertos módulos; asegúrese de incluir el flag de linker -lsqlite3.