# Test (/it/online/getting-started/testing)



Testi la Sua integrazione di Checkout nella sandbox di Tapaya prima di accettare pagamenti live. I pagamenti in sandbox usano carte di prova, quindi non viene trasferito denaro reale. Il Checkout in produzione accetta pagamenti reali dagli esercenti approvati.

<div className="fd-steps [&_h3]:fd-step">
  ### Puntare il server verso l'API sandbox [#point-your-server-at-the-sandbox-api]

  Imposti `TAPAYA_CHECKOUT_API_URL` su `https://api.sandbox.tapaya.com` e salvi una chiave checkout dell'esercente in `TAPAYA_CHECKOUT_API_KEY`. Conservi entrambi i valori sul Suo server.

  ```bash title=".env"
  TAPAYA_CHECKOUT_API_URL=https://api.sandbox.tapaya.com
  TAPAYA_CHECKOUT_API_KEY=tapaya_test_...
  ```

  Completi l'[onboarding](/merchants/onboarding) con la funzionalità di pagamenti online e verifichi che l'esercente sia **Ready** nelle [impostazioni di Checkout](/online/integration/checkout_settings). Se usa Hosted Checkout, salvi gli URL di ritorno.

  ### Creare una sessione di prova [#create-a-test-session]

  Crei una sessione per un ordine di prova, esattamente come nella [guida rapida](./quick_start_guide). Salvi l'`id`
  restituito insieme all'ordine prima del reindirizzamento, così da poter verificare l'esito anche se il browser viene chiuso.

  ### Pagare con una carta di prova [#pay-with-a-test-card]

  Apra l'`url` della sessione e paghi con una delle carte riportate di seguito, una qualsiasi data di scadenza futura e il CVC `123`.

  ### Verificare dal server [#verify-from-your-server]

  Recuperi la sessione dal Suo server e confronti riferimento dell'ordine, importo, valuta e
  `paymentStatus` con l'ordine salvato. Il ritorno del browser al Suo URL di successo non prova il pagamento.
</div>

## Carte di prova [#test-cards]

Usi queste carte di prova.

| Scenario                    | Numero di carta       | Risultato atteso                                                                                             |
| :-------------------------- | :-------------------- | :----------------------------------------------------------------------------------------------------------- |
| Il pagamento va a buon fine | `4242 4242 4242 4242` | `paymentStatus: successful`. Il Suo server evade l'ordine una sola volta.                                    |
| La carta viene rifiutata    | `4916 0184 7581 4056` | `paymentStatus: failed`, `status` resta `open`. Il cliente può provare un'altra carta nella stessa sessione. |
| 3-D Secure richiesto        | `4012 0018 0000 0016` | Completi la verifica di prova. Evada l'ordine solo dopo che il recupero della sessione conferma il successo. |

Una carta che simula un errore di elaborazione può superare la tokenizzazione e fallire solo al momento dell'addebito, quindi verifichi sempre lo stato recuperato
anziché la reazione del modulo della carta.

## Cosa copre l'ambiente sandbox [#what-the-sandbox-environment-covers]

* **Hosted Checkout:** carte, con le carte di prova indicate sopra. I pulsanti dei wallet dipendono dalle impostazioni dell'esercente e dal
  dispositivo e dal browser del cliente, quindi non conti sul fatto che compaiano in ogni test.
* **Pagamenti incorporati:** carte e wallet supportati con Tapaya.js 0.2.0. Testi la disponibilità dei wallet, l'annullamento, le modifiche del totale e la verifica sul server. Apple Pay richiede un dominio del negozio registrato. Si veda [Embedded Checkout](/online/integration/embedded_checkout#add-apple-pay-and-google-pay).
* **Durata della sessione:** le sessioni accettano nuovi pagamenti per 30 minuti dalla creazione. Usi un nuovo `merchantOrderId` per
  ogni test indipendente: un ordine può essere pagato una sola volta e una nuova sessione per un ordine non pagato sostituisce
  quella precedente.

Quando il flusso di base funziona, segua la [checklist QA](./checklist), che copre i nuovi tentativi, le risposte perse
e i clienti che non tornano mai.
