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
Developer resources
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
    Collect and save payment details for future use
    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
Beyond payments
Incorporate your company
Criptomonedas
Financial Connections
Climate
InicioPagosTerminal

Conectarse a un lector

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

Copia la página

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.

Tap to Pay en iPhone permite a los usuarios aceptar pagos sin contacto en persona con un iPhone compatible y el SDK de Stripe Terminal. Tap to Pay en iPhone también es compatible con las tarjetas sin contacto de Visa, Mastercard, American Express y Discover y monederos móviles basados en NFC (Apple Pay, Google Pay y Samsung Pay). Tap to Pay en iPhone está incluido en el SDK de Terminal iOS y habilita los pagos directamente en tu aplicación móvil para iOS.

Detectar lectores

Referencia del SDK

  • discoverReaders (iOS)
  • TapToPayDiscoveryConfiguration (iOS)

Utiliza el método discoverReaders para determinar si tu iPhone es compatible con Tap to Pay.

El controlador completion invoca con un error si la aplicación se ejecuta en un dispositivo que no cumple los criterios de dispositivo admitido.

DiscoverReadersViewController.swift
Swift
import StripeTerminal class DiscoverReadersViewController: UIViewController, DiscoveryDelegate { var discoverCancelable: Cancelable? // ... // Action for a "Discover Readers" button func discoverReadersAction() throws { let config = try TapToPayDiscoveryConfigurationBuilder().build() self.discoverCancelable = Terminal.shared.discoverReaders(config, delegate: self) { error in if let error = error { print("discoverReaders failed: \(error)") } else { print("discoverReaders succeeded") } } } // ... // MARK: DiscoveryDelegate func terminal(_ terminal: Terminal, didUpdateDiscoveredReaders readers: [Reader]) { // In your app, display the ability to use your phone as a reader // Call `connectReader` to initiate a session with the phone } }

Conectarse a un lector

Referencia del SDK

  • connectReader (iOS)
  • TapToPayConnectionConfiguration (iOS)

Para comenzar a aceptar pagos de Tap to Pay en iPhone, proporciona el lector detectado al método connectReader. También debes crear un delegado para gestionar las posibles actualizaciones necesarias del lector.

Debes registrar tu lector en una ubicación tras la conexión. Para hacerlo, crea y usa un SCPTapToPayConnectionConfiguration con el locationId establecido en el ID de ubicación relevante al conectar.

Establece el display_name para representar el nombre del negocio al crear una ubicación. Tu cliente verá el display_name de la ubicación en la pantalla táctil del dispositivo, a menos que indiques explícitamente el nombre del negocio al conectar con un lector. Puedes editar las ubicaciones existentes según sea necesario para ajustar este texto.

Si utilizas cargos de destino con on_behalf_of, también debes proporcionar el ID de la cuenta conectada en SCPTapToPayConnectionConfiguration.

APPDiscoverReadersViewController.swift
Swift
// Call `connectReader` with the selected reader and a connection config // to register to a location as set by your app. let connectionConfig = try TapToPayConnectionConfigurationBuilder.init(locationId:
"{{LOCATION_ID}}"
) .delegate(yourTapToPayReaderDelegate) .build() Terminal.shared.connectReader(selectedReader, connectionConfig: connectionConfig) { reader, error in if let reader = reader { print("Successfully connected to reader: \(reader)") } else if let error = error { print("connectReader failed: \(error)") } }

Gestionar la configuración de dispositivos

Al conectarse a un lector compatible con Tap to Pay en iPhone, es posible que se requiera una actualización de configuración, que puede tardar hasta unos minutos. Te recomendamos que te conectes con el lector con antelación en segundo plano para reducir el tiempo de espera de las empresas.

Asegúrate de que tu aplicación implemente SCPTapToPayReaderDelegate para gestionar los pasos de configuración y mostrar mensajes a tu empresa con el fin de que se mantenga a la espera. Verás los pasos de configuración como una actualización de software para que puedas mostrar el progreso a tus empresas según corresponda.

APPReaderViewController.swift
Swift
class APPReaderViewController: TapToPayReaderDelegate { // MARK: TapToPayReaderDelegate // ... func tapToPayReader(_ reader: Reader, didStartInstallingUpdate update: ReaderSoftwareUpdate, cancelable: Cancelable?) { // In your app, let the user know that an update is being installed on the reader } func tapToPayReader(_ reader: Reader, didReportReaderSoftwareUpdateProgress progress: Float) { // The update or configuration process has reached the specified progress (0.0 to 1.0) // If you are displaying a progress bar or percentage, this can be updated here } func tapToPayReader(_ reader: Reader, didFinishInstallingUpdate update: ReaderSoftwareUpdate?, error: Error?) { // The reader has finished installing an update // If `error` is nil, it is safe to proceed and start collecting payments // Otherwise, check the value of `error` for more information on what went wrong } func tapToPayReader(_ reader: Reader, didRequestReaderDisplayMesage displayMessage: ReaderDisplayMessage) { // This is called to request that a prompt be displayed in your app. // Use Terminal.stringFromReaderDisplayMessage(:) to get a user-facing string for the prompt } func tapToPayReader(_ reader: Reader, didRequestReaderInput inputOptions: ReaderInputOptions = []) { // This is called when the reader begins waiting for input // Use Terminal.stringFromReaderInputOptions(:) to get a user-facing string for the input options } // ... }

Vinculación de la cuenta y condiciones generales de Apple

Recibes las condiciones generales de Tap to Pay en iPhone la primera vez que te conectas al lector. Para registrarte en Apple, debes especificar un ID de Apple válido que represente a tu empresa antes de aceptar las condiciones presentadas por Apple. Solo necesitas hacerlo una vez por cada cuenta de Stripe. Este flujo no se presenta en conexiones posteriores que utilicen la misma cuenta de Stripe, ni siquiera en otros dispositivos móviles.

Cada cuenta conectada debe aceptar las condiciones generales cuando:

  • Un usuario de Connect cree cargos directos
  • Un usuario de Connect crea un cargo de destino y especifica una cuenta on_behalf_of

Vincula tu cuenta de Apple ID para aceptar pagos Tap to Pay

Cualquier iPhone puede usar hasta 3 cuentas únicas de Stripe en todas las aplicaciones dentro de un período continuo de 24 horas al llamar a connectReader para Tap to Pay en iPhone. Si se utilizan más cuentas para el dispositivo dentro del mismo período de 24 horas, el método connectReader genera un error SCPErrorTapToPayReaderMerchantBlocked.

Obtén más información sobre la vinculación de cuentas en la sección de Información empresarial de Tap to Pay en el iPhone de las preguntas frecuentes sobre Tap to Pay en el iPhone de Apple.

Gestiona las desconexiones

El lector se desconecta cuando la aplicación entra en segundo plano o cuando el iPhone pierde la conectividad. Hay dos maneras de gestionarlo:

Referencia del SDK

  • TapToPayReaderDelegate (iOS)

Gestiona la desconexión de forma manual

Tu aplicación debe implementar el método delegado SCPTapToPayReaderDelegate reader: didDisconnect: para gestionar esta desconexión. Puedes usar esta devolución de llamada como una oportunidad para notificar al usuario que algo ha salido mal y que necesitas conectividad a Internet para continuar. Además, puedes volver a conectarte manualmente al lector cuando la aplicación vuelva a entrar en primer plano.

ReaderViewController.swift
Swift
import StripeTerminal class ReaderViewController: UIViewController, TapToPayReaderDelegate { 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 } }

Intenta la reconexión de forma automática

Implementa los métodos de reconexión automática en el SCPTapToPayReaderDelegate. A continuación, debes pasar el SCPTapToPayReaderDelegate a tu SCPTapToPayConnectionConfiguration.

ConnectReaderViewController.swift
Swift
let connectionConfig = try TapToPayConnectionConfigurationBuilder(locationId: locationId) .delegate(yourTapToPayReaderDelegate) .build() Terminal.shared.connectReader( reader, connectionConfig: connectionConfig, completion: connectCompletion )

Si intentas la reconexión de forma automática, ocurre lo siguiente:

  1. Cuando se produce una desconexión, el SDK intenta reconectarse automáticamente y te notifica a través de onReaderReconnectStarted. Asegúrate de que la app indique que se ha perdido la conexión y que se está realizando una reconexión.
    • Puedes usar el objeto Cancelable para detener el intento de reconexión en cualquier momento.
  2. Si el SDK se reconecta correctamente al lector, Stripe te notifica a través de onReaderReconnectSucceeded. Asegúrate de que la aplicación indique que se ha restablecido la conexión y de que se reanudan las operaciones normales.
  3. Si el SDK no puede reconectarse al lector, Stripe te notifica a través de onReaderReconnectFailed y reader:didDisconnect:. Asegúrate de que la aplicación indique que se ha producido una desconexión inesperada.
ReaderViewController.swift
Swift
import StripeTerminal extension ReaderViewController: TapToPayReaderDelegate { // MARK: ReconnectionDelegate func reader(_ reader: Reader, didStartReaderReconnect cancelable: Cancelable) { // 1. Notified at the start of a reconnection attempt // Use cancelable to stop reconnection at any time } func readerDidSucceedReaderReconnect(_ reader: Reader) { // 2. Notified when reader reconnection succeeds // App is now connected } func readerDidFailReaderReconnect(_ reader: Reader) { // 3. Notified when reader reconnection fails // App is now disconnected } }

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