Connettere un lettore
Connetti l'applicazione a un lettore Stripe Terminal.
Nota
Se non hai ancora scelto un lettore, confronta i lettori Terminal disponibili e scegli quello più adatto alle tue esigenze.
Tap to Pay consente agli utenti di accettare pagamenti contactless di persona con dispositivi Android compatibili dotati di NFC o di iPhone compatibili. Tap to Pay supporta carte contactless Visa, Mastercard e American Express e per wallet mobili basati su NFC (Apple Pay, Google Pay e Samsung Pay). Tap to Pay su iPhone e Android è un’estensione delle SDK Terminal e abilita i pagamenti direttamente nell’app per dispositivi mobili.
Per connettere la tua app al lettore Tap to Pay su un dispositivo supportato, attieniti a questa procedura:
- Individua i lettori utilizzando l’SDK per confermare la compatibilità del dispositivo.
- Connettiti a un lettore utilizzando l’SDK per accettare i pagamenti.
- Gestisci le disconnessioni impreviste per assicurarti che l’utente possa continuare ad accettare pagamenti se il lettore si disconnette inaspettatamente.
Rilevare i lettori
Utilizza il metodo discoverReaders
per determinare l’hardware supportato per Tap to Pay sul tuo dispositivo.
Se l’applicazione viene eseguita su un dispositivo che non soddisfa i requisiti di cui sopra, il metodo discoverReaders
restituisce un errore.
export default function DiscoverReadersScreen() { const { discoverReaders, discoveredReaders } = useStripeTerminal({ onUpdateDiscoveredReaders: (readers) => { // The `readers` variable will contain an array of all the discovered readers. }, }); useEffect(() => { const { error } = await discoverReaders({ discoveryMethod: 'tapToPay', }); }, [discoverReaders]); return <View />; }
Connettere un lettore
Per accettare pagamenti Tap to Pay, fornisci il lettore individuato nel passaggio precedente al metodo connectReader
.
Devi registrare il lettore in una posizione al momento della connessione. A tal scopo, devi specificare l’ID posizione pertinente in connectReader
.
Se utilizzi gli addebiti indiretti con on_behalf_of su iPhone, devi fornire anche l’ID dell’account connesso.
const { reader, error } = await connectReader({ reader: selectedReader, locationId:
}, 'tapToPay' ); if (error) { console.log('connectTapToPayReader error:', error); return; } console.log('Reader connected successfully', reader);'{{LOCATION_ID}}'
Collegamento di account e termini e condizioni Apple
La prima volta che ti connetti al lettore, vengono visualizzati i termini e le condizioni di Tap to Pay su iPhone di Apple. Per registrarti con Apple, devi specificare un ID Apple valido che rappresenti la tua attività prima di accettare i termini presentati da Apple. Devi eseguire questa operazione una sola volta per account Stripe. L’account non deve ripetere questa procedura nelle connessioni successive, anche su altri dispositivi mobili.
Ogni account connesso deve accettare i Termini e le Condizioni quando:
- Un utente Connect crea addebiti diretti
- Un utente Connect crea un addebito indiretto e specifica un account
on_
behalf_ of

Collega il tuo account ID Apple per accettare i pagamenti Tap to Pay
Se chiami connectReader
per Tap to Pay su iPhone, tutti gli iPhone possono utilizzare fino a tre account Stripe univoci sulle app per 24 ore. Se utilizzi altri account per il dispositivo nello stesso periodo di 24 ore, il metodo di chiamata connectReader
genera un errore SCPErrorTapToPayReaderMerchantBlocked.
Ulteriori informazioni sul collegamento dell’account nella sezione Tap to Pay su iPhone - Informazioni sull’attività nelle Domande Frequenti su Tap to Pay su iPhone.
Gestisci le disconnessioni impreviste
Potrebbero verificarsi disconnessioni impreviste tra l’app e il lettore. Ad esempio, il lettore Tap to Pay potrebbe disconnettersi inaspettatamente se il dispositivo perde la connettività a Internet e il sistema operativo Android termina il servizio del lettore a causa di limiti di memoria.
Durante il test, puoi simulare una disconnessione imprevista disabilitando l’accesso a Internet sul tuo dispositivo.
Tentare automaticamente la riconnessione
In caso di disconnessione imprevista, Stripe tenta automaticamente di riconnettersi per impostazione predefinita. Ti consigliamo di controllare le notifiche nell’app per monitorare lo stato del lettore durante l’intero processo.
const { reader, error } = await connectReader({ reader, autoReconnectOnUnexpectedDisconnect: true, // default setting }, 'tapToPay' ); if (error) { console.log('connectReader error:', error); return; } console.log('Reader connected successfully', reader);
Quando l’SDK tenta di eseguire automaticamente la riconnessione, si verifica quanto segue:
- L’SDK invia una notifica tramite
onDidStartReaderReconnect
. Assicurati che l’app annunci che la connessione è stata persa e che è in corso una riconnessione.- Puoi utilizzare il metodo
cancelReaderReconnection
per interrompere il tentativo di riconnessione in qualsiasi momento.
- Puoi utilizzare il metodo
- Se l’SDK si riconnette al lettore, Stripe ti invia una notifica tramite
onDidSucceedReaderReconnect
. Assicurati che la tua app segnali che la connessione è stata ripristinata e che è possibile continuare le normali operazioni. - Se l’SDK non è in grado di riconnettersi al lettore, Stripe ti invia una notifica tramite
onDidFailReaderReconnect
eonDidDisconnect
. Assicurati che la tua app annunci che si è verificata una disconnessione imprevista.
const { discoverReaders, connectedReader, discoveredReaders } = useStripeTerminal({ onDidStartReaderReconnect: (disconnectReason) => { // 1. Notified at the start of a reconnection attempt // Use cancelable to stop reconnection at any time }, onDidSucceedReaderReconnect: () => { // 2. Notified when reader reconnection succeeds // App is now connected }, onDidFailReaderReconnect: (): => { // 3. Notified when reader reconnection fails // App is now disconnected } });
Gestire manualmente la disconnessione
Per gestire autonomamente la disconnessione, imposta autoReconnectOnUxpectedDisconnect
su false
e implementa il callback onDidReportUnexpectedReaderDisconnect
. Ciò consente alla tua app di riconnettersi al lettore Tap to Pay e, se necessario, comunicare all’utente cosa non ha funzionato e come abilitare l’accesso a Tap to Pay. I clienti finali possono risolvere determinati errori, come i problemi di connettività a Internet.
const { discoverReaders, connectedReader, discoveredReaders } = useStripeTerminal({ onDidReportUnexpectedReaderDisconnect: (readers) => { // Consider displaying a UI to notify the user and start rediscovering readers }, });
Passaggi successivi
Hai connesso la tua applicazione al lettore. Poi riscuoti il tuo primo pagamento Stripe Terminal.
Il nome e il logo BBPOS e Chipper™ sono marchi o marchi registrati di BBPOS Limited negli Stati Uniti e/o in altri paesi. Il nome e il logo Verifone® sono marchi o marchi registrati di Verifone negli Stati Uniti e/o in altri paesi. L’uso dei marchi non comporta alcun avallo da parte di BBPOS o Verifone.