# Test / sandbox (/it/in-store/getting-started/testing)



<Callout title="Dispositivo fisico obbligatorio" type="warn">
  Tap to Pay non può essere testato su un emulatore. L'SDK esegue [controlli di integrità del
  dispositivo](../security/device_security#device-attestation) e non riesce a inizializzarsi su emulatori, dispositivi
  con root o dispositivi con bootloader sbloccato; per i requisiti hardware completi consulti [Dispositivi supportati](./supported_devices).
  Anche la modalità sandbox richiede un dispositivo fisico con NFC; viene simulato soltanto il movimento dei
  fondi.
</Callout>

<div className="fd-steps [&_h3]:fd-step">
  ### Attivare la modalità sandbox [#enable-sandbox-mode]

  Per iniziare a testare l'integrazione senza elaborare pagamenti reali, deve inizializzare l'SDK sull'ambiente sandbox.
  In questo modo tutte le transazioni vengono instradate verso l'ambiente sandbox e non viene movimentato denaro reale.

  <CodeBlockTabs defaultValue="kotlin" groupId="accept-language">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="kotlin">
        Android (Kotlin)
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="typescript">
        React Native (TypeScript)
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="kotlin">
      ```kotlin
      // Sandbox is the default (isProduction = false)
      Accept.initialize(context = applicationContext)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="typescript">
      ```typescript
      // Sandbox is the default
      Accept.initialize();
      ```
    </CodeBlockTab>
  </CodeBlockTabs>

  ### Testare l'inserimento del PIN [#test-pin-entry]

  Per testare il flusso di inserimento del PIN nell'ambiente sandbox, avvii una transazione con un importo elevato.
  Gli importi superiori al limite di verifica del titolare della carta per i pagamenti contactless richiedono un PIN, quindi
  compare la schermata di inserimento del PIN direttamente sul display.

  <Callout title="Formato dell'importo" type="info">
    Ricordi che l'SDK di norma accetta gli importi nella più piccola unità della valuta (numeri interi).
    Per testare `10.05`, passi `1005` come importo.
  </Callout>

  ### Simulare esiti specifici della carta [#simulate-specific-card-outcomes]

  L'ambiente sandbox riserva una serie di importi che attivano in modo deterministico un codice di risposta specifico.
  Li usi per verificare i percorsi di errore senza bisogno di una carta realmente rifiutata. Passi l'importo come di consueto
  nella più piccola unità della valuta (ad es. `1.01` diventa `101`).

  | Importo | Codice di risposta | Scenario                             |
  | :------ | :----------------- | :----------------------------------- |
  | `1.01`  | `00`               | Approvato                            |
  | `1.07`  | `06`               | Autenticazione della carta rifiutata |
  | `6.05`  | `54`               | Carta scaduta                        |
  | `6.06`  | `55`               | PIN errato                           |
  | `8.06`  | `75`               | Tentativi PIN esauriti               |
</div>
