Ir a contenido
Crea una cuenta
o
inicia sesión
Logotipo de la documentación de Stripe
/
Pregúntale a la IA
Crear cuenta
Iniciar sesión
Empezar
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
Resumen
Acerca de Stripe Payments
Actualiza tu integración
Análisis de pagos
Pagos por Internet
ResumenEncuentra tu caso de usoManaged Payments
Utiliza Payment Links
Crear una página del proceso de compra
Desarrolla una integración avanzada
Desarrolla una integración en la aplicación
Métodos de pago
Añadir métodos de pago
Gestiona los métodos de pago
Proceso de compra más rápido con Link
Interfaces de pago
Payment Links
Checkout
Elements para la web
Elements en la aplicación
Escenarios de pago
Administrar múltiples divisas
Flujos de pagos personalizados
Capacidad adquirente flexible
Orquestación
Pagos en persona
Terminal
    Resumen
    Acepta pagos en persona
    Diseño de la integración
    Selecciona tu lector
    Diseña una integración
    Inicio rápido
    Aplicaciones de ejemplo
    Pruebas
    Configuración de Terminal
    Configura tu integración
    Conectarse a un lector
      Requisitos de red
    Aceptar un pago
    Cobrar pagos con tarjeta
    Otros métodos de pago
    Aceptar pagos sin conexión
    Pagos de pedidos telefónicos o pedidos por correo
    Consideraciones regionales
    Durante el proceso de compra
    Cobrar propinas
    Recopilar y guardar datos de pago para su uso en el futuro
    Autorizaciones flexibles
    Después del proceso de compra
    Reembolsar transacciones
    Solicitar recibos
    Personalizar Checkout
    Mostrar carrito
    Recopilar entradas en pantalla
    Recopilar datos deslizados
    Recopilar datos pulsados para los instrumentos de NFC
    Aplicaciones en dispositivos
    Gestionar lectores
    Pedir, devolver o sustituir lectores
    Registrar lectores
    Gestionar ubicaciones y zonas
    Configurar los lectores
    Seguimiento de los lectores
    Cifrado
    Referencias
    Referencias de la API
    Lectores móviles
    Lectores inteligentes
    Guía de migración de SDK
    Lista de verificación de la implementación
    Fichas de producto del lector de Stripe Terminal
Más allá de los pagos
Constituye tu empresa
Criptomonedas
Financial Connections
Climate
Comprender el fraude
Protección antifraude de Radar
Gestiona disputas
Verificar identidades
InicioPagosTerminal

Conectarse a un lector

Conecta tu aplicación a un lector de Stripe Terminal.

Nota

Si aún no has elegido ningún lector, compara los lectores de Terminal disponibles y elige el que mejor se adapte a tus necesidades.

Los lectores inteligentes ejecutan el software del lector de Stripe para comunicarse directamente con Stripe a través de Internet. Conectar tu aplicación a un lector inteligente requiere tres pasos:

  1. Registrar un lector en tu cuenta de Stripe.
  2. Detectar lectores con el SDK.
  3. Conectar a un lector con el SDK.

Registra un lector
Lado del servidor

Antes de poder conectar tu aplicación a un lector inteligente, debes registrar el lector en tu cuenta.

Regístrate en el Dashboard

Puedes añadir tu lector directamente en el Dashboard.

Registro por código de registro

  1. En la página Lectores, haz clic en Registrar lector.
  2. Si tienes un Verifone P400, introduce la secuencia de teclas 0-7-1-3-9 para mostrar un código de registro único. Si tienes un BBPOS WisePOS E o Stripe Reader S700, ve a la configuración del lector y pulsa Generar código de emparejamiento.
  3. Introduce el código de registro y haz clic en Siguiente.
  4. Opcionalmente, elige un nombre para el lector.
  5. Si ya has creado una Ubicación, elige la nueva Ubicación del lector. De lo contrario, haz clic en + Añadir nueva para crear una.
  6. Haz clic en Registrar para terminar de registrar tu lector.

Registro por número de serie

  1. En la página Lectores, haz clic en Registrar lector.
  2. Busca el número de serie en el dispositivo e introdúcelo. Para registrar varios dispositivos a la vez, puedes introducir varios números de serie separados por comas.
  3. Opcionalmente, elige un nombre para el lector.
  4. Si ya has creado una Ubicación, elige la nueva Ubicación del lector. De lo contrario, haz clic en + Añadir nueva para crear una.
  5. Haz clic en Registrar para terminar de registrar tu lector.

Registro por pedido de hardware

  1. En la página Pedidos de hardware, busca un pedido con el estado «enviado» o «entregado». Haz clic en el menú de desbordamiento () que aparece al final de la fila y, luego, en Registrar.
  2. En la página Registrar lectores, elige uno o más lectores del pedido de hardware para registrar y haz clic en Registrar.
  3. Opcionalmente, elige un nombre para el lector. Si has elegido varios lectores, el nombre sirve como prefijo y nombramos los lectores secuencialmente (por ejemplo, para una entrada determinada de «Lector de prueba», nombramos a los lectores «Lector de prueba 1», «Lector de prueba 2» y así sucesivamente).
  4. Si ya has creado una Ubicación, elige la nueva Ubicación del lector. De lo contrario, haz clic en + Añadir nueva para crear una.
  5. Haz clic en Registrar para terminar de registrar tus lectores.

Regístrate usando la API

Para implementaciones más grandes, permite que los usuarios del campo reciban y configuren nuevos lectores por su cuenta. En tu aplicación, crea un flujo para registrar un lector con la API de Stripe.

  1. Si tienes un Verifone P400, introduce la secuencia de teclas 0-7-1-3-9 para mostrar un código de registro único. Si tienes un BBPOS WisePOS E o Stripe Reader S700, ve a la configuración del lector y pulsa Generar código de emparejamiento.
  2. El usuario introduce el código en tu aplicación.
  3. Tu aplicación envía el código a Stripe:
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/readers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d registration_code={{READER_REGISTRATION_CODE}} \ --data-urlencode label="Alice's reader" \ -d location=
{{LOCATION_ID}}

Para confirmar que has registrado un lector correctamente, enumera todos los lectores que has registrado en esa ubicación:

Command Line
curl
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/readers \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:

Detectar lectores
Lado del cliente

Referencia del SDK

  • discoverReaders (iOS)
  • InternetDiscoveryConfiguration (iOS)

Después de registrar el lector en tu cuenta, busca lectores registrados previamente para conectarte a tu aplicación de punto de venta con discoverReaders, mediante InternetDiscoveryConfiguration.

Puedes determinar el alcance de tu descubrimiento utilizando la location en la que registraste al lector en el paso anterior.

DiscoverReadersViewController.swift
Swift
Objective-C
No results
import StripeTerminal class DiscoverReadersViewController: UIViewController, DiscoveryDelegate { func discoverReadersAction() throws { let config = try InternetDiscoveryConfigurationBuilder() .setLocationId(
"{{LOCATION_ID}}"
) .build() self.discoverCancelable = Terminal.shared.discoverReaders(config, delegate: self) { error in if let error = error { print("discoverReaders failed: \(error)") } else { print("discoverReaders succeeded") } } } }

Al descubrir lectores inteligentes, el método DiscoveryDelegate.didUpdateDiscoveredReaders solo se llama una vez por llamada a discoverReaders. didUpdateDiscoveredReadersdevuelve una lista vacía de lectores si no hay lectores registrados o si no hay lectores asociados con la ubicación dada. Si realizas una llamada posterior de discoverReaders para actualizar la lista, primero debes cancelar la llamada anterior con el Cancelable devuelto por discoverReaders.

La InternetDiscoveryConfiguration admite un valor opcional de timeout para descubrir lectores en Internet. Esto garantiza una alternativa más rápida a la detección del lector sin conexión si falla el intento en Internet.

Conectarse a un lector
Lado del cliente

Para conectar tu aplicación de punto de venta a un lector, llama a connectReader con el lector elegido utilizando la InternetConnectionConfiguration.

ConnectReaderViewController.swift
Swift
Objective-C
No results
let config: InternetConnectionConfiguration do { config = try InternetConnectionConfigurationBuilder(delegate: yourInternetReaderDelegate) .build() } catch { // Handle error building the connection configuration return } Terminal.shared.connectReader(selectedReader, connectionConfig: config) { reader, error in if let reader = reader { print("Successfully connected to reader: \(reader)") } else if let error = error { print("connectReader failed: \(error)") } }

Referencia del SDK

  • connectReader (iOS)
  • InternetConnectionConfiguration

Múltiples conexiones

Solo una instancia del SDK de Stripe Terminal puede conectarse a un lector en un momento dado. De forma predeterminada, cuando llamas a connectReader desde otra aplicación, la conexión entrante reemplaza la conexión existente del SDK al lector y el SDK conectado previamente se desconecta del lector. El método connectReader toma un objeto de configuración con una propiedad failIfInUse, cuyo valor predeterminado es false. Cuando tu aplicación establece failIfInUse en true, la llamada connectReader tiene un comportamiento alternativo en el que la conexión entrante falla cuando el lector está en medio de una llamada collectPaymentMethod o confirmPaymentIntent iniciada por otro SDK. Si el lector está conectado a otro SDK pero está inactivo (muestra la pantalla de bienvenida antes de llamar a collectPaymentMethod), establecer failIfInUse no tiene ningún cambio en el comportamiento de la conexión y la solicitud de conexión entrante siempre puede interrumpir la conexión existente del SDK al lector.

ConnectReaderViewController.swift
Swift
Objective-C
No results
let internetReaderDelegate = yourInternetReaderDelegate // implement your internetReaderDelegate let config: InternetConnectionConfiguration do { config = try InternetConnectionConfigurationBuilder(delegate: internetReaderDelegate) .setFailIfInUse(true) .build() } catch { // Handle error building the connection configuration return } Terminal.shared.connectReader(selectedReader, connectionConfig: config, completion: { reader, error in // ... })
failIfInUse es false (predeterminado)failIfInUse es true
connectReader llamado desde un nuevo SDK cuando el lector está inactivo.La conexión existente del SDK al lector se interrumpe y el nuevo SDK se conecta al lector. El siguiente comando del SDK previamente conectado falla con un error del lector y se llama al método didDisconnect de esa aplicación.La conexión existente del SDK al lector se interrumpe y el nuevo SDK se conecta al lector. El siguiente comando del SDK previamente conectado falla con un error del lector y se llama al método didDisconnect de esa aplicación.
connectReader llamado desde un nuevo SDK cuando el lector está en medio de la transacción.La conexión existente del SDK al lector se interrumpe y el nuevo SDK se conecta al lector. El siguiente comando del SDK previamente conectado falla con un error del lector y se llama al método didDisconnect de esa aplicación.La conexión entrante falla con un error del lector. La conexión existente del SDK al lector no se interrumpe y el comando en curso continúa.

Para obtener la experiencia de conexión menos disruptiva en entornos de múltiples lectores, recomendamos establecer failIfInUse en true en el intento de conexión inicial de la aplicación. Luego, permite que los usuarios vuelvan a intentar la conexión con failIfInUse establecido en false si la conexión falla la primera vez.

Con esta configuración, ninguno de tus usuarios podrá interrumpir una transacción de forma accidental al conectarse por error a un lector en uso, pero podrá seguir conectándose si es necesario.

Gestiona las desconexiones

Referencia del SDK

  • didDisconnect (iOS)

Tu aplicación debe implementar la devolución de llamada reader(_, didDisconnect:) para gestionar la desconexión de un lector. Cuando implementes esta devolución de llamada, muestra una interfaz de usuario que avise a tu usuario del lector desconectado. Puedes llamar a discoverReaders para buscar lectores e iniciar la reconexión.

La aplicación puede intentar volver a conectarse automáticamente al lector desconectado o mostrar una interfaz de usuario que solicite al usuario que se vuelva a conectar a un lector diferente.

El lector puede desconectarse de tu aplicación si pierde la conexión a la red. Para simular una desconexión inesperada, apaga el lector.

ReaderViewController.swift
Swift
Objective-C
No results
import StripeTerminal class ReaderViewController: UIViewController, InternetReaderDelegate { override func viewDidLoad() { super.viewDidLoad() // Set the reader delegate when connecting to a reader } // ... func reader(_ reader: Reader, didDisconnect reason: DisconnectReason) { // Consider displaying a UI to notify the user and start rediscovering readers } }

Reconexión automática

Stripe Terminal no se vuelve a conectar automáticamente a un lector cuando se inicia la aplicación. En su lugar, puedes crear un flujo de reconexión almacenando los ID del lector e intentando conectarte a un lector conocido al iniciarse.

  1. Cuando te conectes a un lector de forma satisfactoria, guarda su número de serie en una ubicación de almacenamiento persistente de datos, como la API UserDefaults (iOS)
  2. Cuando se inicie la aplicación, comprueba que el almacenamiento persistente tenga un número de serie guardado. Si encuentras uno, llama al método discoverReaders para que tu aplicación pueda intentar encontrar ese lector nuevamente.
  3. Si el número de serie guardado coincide con cualquiera de los lectores detectados, intenta conectarte a ese lector con el objeto de lector coincidente devuelto de la llamada a discoverReaders. Si no se encuentra el lector previamente conectado, detén el proceso de detección.

Muestra alguna interfaz de usuario durante el proceso de detección y conexión para indicar que se está produciendo una reconexión automática.

Próximos pasos

Has conectado tu aplicación al lector. A continuación, recoge tu primer pago de Stripe Terminal.

El nombre y el logotipo de BBPOS y Chipper™ son marcas comerciales o marcas registradas de BBPOS Limited en los Estados Unidos y/u otros países. El nombre y el logotipo de Verifone® son marcas comerciales o marcas registradas de Verifone en los Estados Unidos y/u otros países. El uso de las marcas comerciales no implica la aprobación por parte de BBPOS o Verifone.

¿Te ha sido útil la página?
SíNo
  • ¿Necesitas ayuda? Ponte en contacto con el equipo de soporte.
  • Únete a nuestro programa de acceso anticipado.
  • Echa un vistazo a nuestro registro de cambios.
  • ¿Tienes alguna pregunta? Ponte en contacto con el equipo de ventas.
  • ¿LLM? Lee llms.txt.
  • Con tecnología de Markdoc