Flusso del rimborso

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 asincrona da Google all'integratore dei pagamenti. L'integratore deve confermare la richiesta e informare Google una volta completato il rimborso.

Come funziona il flusso

Flusso di rimborso

Ecco un esempio di flusso di rimborso asincrono 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 di Google: il server di backend di Google che invia il comando di rimborso all'integratore dei pagamenti.
  • Integratore pagamenti: l'integratore che inoltra la richiesta di rimborso all'emittente appropriato.
  • Emittente: l'emittente utilizzato per il pagamento, che accetta la richiesta di rimborso.

In questo esempio, il rimborso viene avviato dall'utente.

  1. L'utente avvia il rimborso al server di Google.
  2. Google chiama l'endpoint AsynchronousRefund dell'integratore dei pagamenti.
  3. L'integratore invia una risposta Acknowledged a Google.
  4. L'integratore chiama l'endpoint Refund appropriato sull'emittente.
  5. L'emittente elabora il rimborso e risponde all'integratore con Success.
  6. L'integratore chiama l'endpoint RefundResultNotification sul server di Google per informare Google del risultato.
  7. Google riconosce i RefundResultNotification.
  8. Google aggiorna i fondi disponibili dell'utente.
  9. 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.

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 ottenere correttamente rimborsi parziali di 4,00 €, 5,00 € e 1,00 € dalla transazione originale. In questo caso, tutti e tre i rimborsi avranno lo stesso captureRequestId, 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 captureRequestId), 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.