Panoramica
I rimborsi possono essere avviati da un'azione attiva dell'utente (premendo il pulsante "Rimborsa") oppure possono essere attivati automaticamente per conto dell'utente. Indipendentemente dall'attivazione, verrà inviata una richiesta di rimborso da Google all'integratore.
Come funziona il flusso
Ecco un esempio di flusso di rimborso avviato dall'utente:
Flusso di rimborso
Ecco l'elenco degli oggetti nel diagramma riportato sopra:
- Utente: si tratta della persona che vuole un rimborso totale o parziale.
- Server Google: il server di backend di Google che invia il comando di rimborso al server di integrazione dei pagamenti.
- Server integratore dei pagamenti: il server di backend dell'integratore che accetta la richiesta di rimborso.
In questo esempio, il rimborso viene avviato dall'utente.
- L'utente avvia il rimborso al server di Google.
- Il server di Google chiama l'endpoint
Refund
sul server di integrazione dei pagamenti. - Il server di integrazione dei pagamenti risponde con esito positivo.
- L'utente riceve un rimborso.
Best practice e altre considerazioni
Poiché alcuni prodotti Google, come AdWords, supportano i rimborsi a condizione che nell'account esista credito, pertanto le richieste di rimborso delle transazioni devono essere supportate per un periodo indefinito. Se esiste una limitazione tecnica, il periodo di rimborso deve essere quanto consentito dalla tua piattaforma.
Se il GPT è scaduto, il rimborso dovrebbe comunque funzionare. I rimborsi possono essere rifiutati solo se il saldo della transazione originale non è sufficiente a coprire l'importo del rimborso o se l'account è stato chiuso o è in sospeso e l'integratore non ha la possibilità di inviare questo denaro all'utente.
I rimborsi possono essere avviati entro pochi secondi dall'acquisizione. Le tempistiche dei rimborsi sono a discrezione di Google.
Un rimborso non deve mai essere considerato come un rimborso totale. Il campo refundAmount
deve sempre essere preso in considerazione per il rimborso dell'account.
Devono essere supportati più rimborsi parziali. Ad esempio, supponiamo che si verifichi una transazione del valore di 11,00 € e che un utente possa rimborsare 4,00 €, 5,00 € e 1,00 € dalla transazione originale. In questo caso, tutti e tre i rimborsi avranno lo stesso merchantTransactionId
, ma valori requestId
diversi. Inoltre, a questa transazione saranno rimasti solo $1,00.
Ora immaginiamo un acquisto di 12,00 €. Per questo esempio, l'utente può effettuare due rimborsi, ciascuno di 6,00 €. Se questi due rimborsi hanno valori diversi per requestId
(e lo stesso merchantTransactionId
), devono essere trattati come rimborsi separati nella stessa transazione. In questo caso, una volta completati i rimborsi, l'utente non potrà effettuare la transazione senza costi aggiuntivi.