Potresti dover eseguire azioni di gestione sugli abbonamenti o sugli acquisti una tantum nell'ambito delle tue attività quotidiane. Ad esempio, l'assistenza clienti potrebbe dover emettere rimborsi totali o parziali per gli utenti, oppure revocare diritti in alcuni casi. Puoi gestire gli ordini da Play Console oppure, se vuoi gestirli dal tuo sistema, utilizzando l'API Google Play Developer.
Annullare gli abbonamenti
Gli utenti possono annullare un abbonamento Google Play in qualsiasi momento utilizzando il Play Store, ma devi anche offrire loro un'opzione per annullare i loro abbonamenti nella tua app e sul tuo sito web, se applicabile.
Il modo più semplice per consentire agli utenti di annullare volontariamente è tramite link diretti al Play Store, dove possono visualizzare e gestire il loro abbonamento.
Potresti anche dover attivare gli annullamenti dal tuo backend.
Il metodo purchases.subscriptions.cancel
ti consente di annullare l'acquisto di un abbonamento.
Ad esempio, potresti utilizzare questo metodo per disattivare un servizio legacy.
L'annullamento di un abbonamento non dà diritto al rimborso e l'utente continua ad avere accesso fino al termine del periodo di fatturazione corrente. L'annullamento di un abbonamento con questo metodo impedisce all'utente di ripristinarlo nel Play Store, ma gli utenti possono comunque registrarsi di nuovo tramite la tua app, se necessario.
Questa azione attiva una notifica SUBSCRIPTION_CANCELED
per lo sviluppatore in tempo reale. Gestisci questi annullamenti come descritto nella sezione Annullamenti.
Rimanda fatturazione
Utilizza subscriptions.defer
per estendere il periodo del diritto per un abbonamento. Durante il periodo di rinvio,
l'utente rimane abbonato ai tuoi contenuti senza però ricevere addebiti
per il tempo aggiuntivo. Quando rimandi la fatturazione di un abbonamento, le informazioni sullo stato vengono aggiornate di conseguenza e sono visibili nel campo expiryTime
delle informazioni sullo stato degli acquisti:
- Per gli abbonamenti ricorrenti attivi, la fatturazione differita estende la data di rinnovo successiva.
- Per i piani prepagati, la fatturazione differita estende il tempo di scadenza.
Ecco alcuni esempi di come utilizzare la fatturazione differita:
- Offri agli utenti l'accesso senza costi sotto forma di offerta speciale, ad esempio regalando una settimana senza costi agli abbonati esistenti per la compilazione di un sondaggio di feedback.
- Concedi ai clienti l'accesso senza costi come azione di assistenza clienti, ad esempio dopo un'interruzione estesa che potrebbe aver influito sulla loro capacità di utilizzare il tuo servizio.
La fatturazione può essere differita di un solo giorno e fino a un anno per chiamata API. Per posticipare ulteriormente la fine del diritto, chiama di nuovo l'API prima dell'arrivo della nuova data di scadenza.
Questa azione attiva una notifica SUBSCRIPTION_DEFERRED
per lo sviluppatore in tempo reale. Per scoprire come gestire questi eventi, consulta Rimandare la fatturazione di un abbonato in Informazioni sugli abbonamenti.
Esempio:
Il servizio di streaming FitnessGoals vuole lanciare una promozione per incoraggiare l'allenamento regolare a febbraio.
L'azienda decide di offrire un mese di servizio aggiuntivo a tutti gli abbonati che si allenano con FitnessGoals almeno 10 volte durante il mese di febbraio.
Monitora i risultati della sfida e il 1° marzo chiama l'API
subscriptions.defer
per ogni abbonamento attivo acquistato dagli utenti che hanno affrontato la sfida a febbraio.Questi utenti possono usufruire di un mese extra di video di allenamento regolare senza costi e gli utenti dicono a tutti i loro amici come FitnessGoals li aiuta a rimanere in salute.
Emettere rimborsi e revoche
Esistono molte situazioni in cui potresti voler emettere un rimborso o revocare l'accesso a un abbonamento o a un acquisto una tantum.
Rimborso totale di un ordine in base all'ID ordine
Con l'API orders.refund
puoi emettere rimborsi totali per qualsiasi ordine entro tre anni dall'acquisto.
Il metodo orders.refund
riceve un parametro di revoca che indica se
l'accesso deve essere revocato o meno oltre a fornire il rimborso.
Se emetti una revoca con la chiamata di rimborso per l'acquisto di un abbonamento, l'abbonamento viene interrotto immediatamente e viene attivata unaSUBSCRIPTION_REVOKED
Notifica per lo sviluppatore in tempo reale. Leggi la sezione Revoca della guida alla gestione del ciclo di vita degli abbonamenti per scoprire come gestire questi eventi.
Esempio:
Per celebrare l'inizio della nuova coppa del mondo, l'app di e-sport Football-Not-Soccer decide di togliere maglie virtuali senza costi per tutti gli utenti che acquistano nuove divise delle squadre nelle prime 24 ore.
Football-Not-Soccer utilizza l'API
orders.refund
senza trasmettere un parametro di revoca per rimborsare le maglie acquistate ai vincitori.
Revocare e rimborsare un abbonamento tramite token di acquisto
Per alcuni casi d'uso, potrebbe essere necessario revocare l'accesso all'abbonamento di un utente e rimborsarlo. Fatturazione Play offre rimborsi parziali, inclusi quelli ripartiti proporzionalmente
che puoi emettere utilizzando
l'API subscriptionsv2.revoke
. Con questo endpoint, puoi specificare revocationContext
per determinare la modalità di calcolo del rimborso.
L'esecuzione di questa azione attiva una notifica SUBSCRIPTION_REVOKED
per lo sviluppatore in tempo reale. La tua app dovrebbe gestire questi annullamenti come descritto nella sezione Revoche.
Esempio:
- Acquista con il token di acquisto
1a2b3c4d5e6f7g8h9i0j
- Applicazione con nome pacchetto
com.your.app
- Intenzione di emettere un rimborso proporzionale
Richiesta POST HTTP:
https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke
Corpo della richiesta:
{
"revocationContext": {
"proratedRefund": {}
}
}
Ripartirà proporzionalmente i rimborsi
Se devi terminare un abbonamento e rimborsare parzialmente il tempo rimanente del diritto, emetti un rimborso proporzionale. Utilizza la funzione purchases.subscriptionsv2.revoke
e imposta "proratedRefund": {}
come tipo di rimborso.
Esempio:
Maria ha un abbonamento di 30 giorni con rinnovo automatico al piano mensile di streaming a
SuperMovies
. Usa felicemente il servizio da un po' di tempo. Il quindicesimo giorno del ciclo di fatturazione, Maria contatta l'assistenza clienti per comunicare che si trasferirà all'estero e non potrà più utilizzare il servizio a partire dal giorno successivo.L'assistenza clienti individua i dettagli dell'acquisto dell'abbonamento di Maria nel sistema e attiva una chiamata all'indirizzo
purchases.subscriptionsv2.revoke
per richiedere un rimborso proporzionale.L'assistenza clienti dice a Maria che dovrebbe ottenere circa il 50% del prezzo dell'abbonamento rimborsato e che l'accesso al servizio verrà interrotto immediatamente.