Potresti dover eseguire azioni di gestione sugli abbonamenti o sugli acquisti una tantum nell'ambito delle attività quotidiane. Ad esempio, l'assistenza clienti emettere rimborsi totali o parziali per gli utenti oppure potresti dover revocare dei diritti umani in alcuni casi. Puoi gestire gli ordini da Play Console oppure se vuoi gestirle dal tuo sistema, puoi farlo utilizzando API Google Play Developer.
Annullare gli abbonamenti
Gli utenti possono annullare un abbonamento a Google Play in qualsiasi momento tramite il Play Store. devi però offrire agli utenti la possibilità di annullare i propri 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 Play Store, dove potranno visualizzare e gestire il proprio abbonamento.
Potresti anche dover attivare gli annullamenti dal backend.
La purchases.subscriptions.cancel
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 a
avranno accesso fino al termine del periodo di fatturazione corrente. L'annullamento di un
l'abbonamento con questo metodo impedisce all'utente di ripristinare l'abbonamento
nel Play Store, ma gli utenti possono comunque abbonarsi di nuovo tramite la tua app se
necessario.
Questa azione attiva uno sviluppatore in tempo reale SUBSCRIPTION_CANCELED
notifica. Gestisci queste cancellazioni come descritto in
Annullamenti.
Rimanda fatturazione
Utilizza subscriptions.defer
per estendere il periodo di diritto di un abbonamento. Durante il periodo di differimento,
L'utente rimane abbonato ai contenuti, nonostante non gli vengano addebitati costi extra
nel tempo. Quando si posticipa la fatturazione di un abbonamento, le informazioni sullo stato:
viene aggiornato di conseguenza e si riflette nel campo expiryTime
nella
informazioni sullo stato dell'acquisto:
- Per gli abbonamenti ricorrenti attivi, la fatturazione differita estende il successivo data di rinnovo.
- Per i piani prepagati, la fatturazione differita estende la data di scadenza.
Ecco alcuni esempi di utilizzo della fatturazione differita:
- Offri agli utenti l'accesso senza costi come offerta speciale, ad esempio offrendo una settimana senza costi agli abbonati esistenti per la compilazione di un sondaggio di feedback.
- Offrire ai clienti un 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 o 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 uno sviluppatore in tempo reale SUBSCRIPTION_DEFERRED
notifica. Consulta Rimandare la fatturazione di un abbonato in Informazioni sugli abbonamenti per scoprire come gestire questi eventi.
Esempio:
Il servizio di streaming Obiettivi di fitness vuole lanciare una promozione su incoraggia ad allenarsi regolarmente a febbraio.
Decide di offrire un mese aggiuntivo di servizio a tutti gli abbonati che si allena con Obiettivi di fitness almeno 10 volte durante il mese di febbraio.
Monitorano i risultati della sfida e il 1° marzo richiamano
subscriptions.defer
API per ogni acquisto attivo di abbonamenti appartenenti a che hanno affrontato la sfida a febbraio.Questi utenti ottengono il vantaggio di un mese extra di allenamento regolare video senza costi e gli utenti raccontano a tutti i loro amici come raggiungere li aiuta a rimanere in salute!
Emettere rimborsi e revoche
Esistono molte situazioni in cui potresti voler emettere un rimborso o revocare accesso a un abbonamento o un acquisto una tantum.
Rimborso totale di un ordine in base all'ID ordine
Con 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 oltre a fornire il rimborso.
Se emetti una revoca con la richiesta di rimborso per l'acquisto di un abbonamento,
viene interrotto immediatamente e attiva un'SUBSCRIPTION_REVOKED
Notifica in tempo reale per lo sviluppatore. Leggi la gestione del ciclo di vita degli abbonamenti
guida sezione Revocazioni
per scoprire come gestire questi eventi.
Esempio:
Per celebrare l'inizio della nuova coppa del mondo, l'app di e-sport Calcio-non-calcio decide di mettere in palio maglie virtuali senza costi per tutti gli utenti che acquistano i nuovi kit del team nelle prime 24 ore.
Football-non-calcio utilizza
orders.refund
senza trasmettere un parametro di revoca per rimborsare gli acquisti di maglia al vincitori.
Revocare e rimborsare un abbonamento tramite il token di acquisto
Per alcuni casi d'uso potrebbe essere necessario revocare l'accesso all'abbonamento di un utente
e fornire un rimborso. Fatturazione Play offre metodi di revoca, inclusi i metodi
e i rimborsi ripartiti proporzionalmente tramite il subscriptionsv2.revoke
tramite Google Cloud CLI
o tramite l'API Compute Engine. Con questo endpoint, puoi specificare revocationContext
per determinare come viene calcolato il rimborso.
Questa azione attiva lo sviluppatore in tempo reale SUBSCRIPTION_REVOKED
Notifica. L'app deve gestire questi annullamenti come descritto in
Revocazioni.
Esempio:
- Acquista con token di acquisto
1a2b3c4d5e6f7g8h9i0j
- Applicazione con nome pacchetto
com.your.app
- Intento 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": {}
}
}
Rimborsi totali
Se devi terminare un abbonamento e rimborsare l'intero importo
periodo di fatturazione corrente, emetti un rimborso totale. Utilizza la
purchases.subscriptionsv2.revoke
e imposta "fullRefund": {}
come tipo di rimborso.
Esempio:
Maria ha un abbonamento ai SuperMovies con rinnovo automatico della durata di 30 giorni piano mensile. Maria ha riscontrato alcuni problemi tecnici che le hanno impedito l'accesso ai contenuti. Il terzo giorno della fatturazione contatta l'assistenza clienti affermando di non avere mai avuto accesso all'abbonamento.
L'assistenza clienti individua i dettagli di acquisto dell'abbonamento di Maria in il proprio sistema e attiva una chiamata a
purchases.subscriptionsv2.revoke
richiedendo un rimborso totale.L'assistenza clienti dice a Maria che dovrebbe ricevere il 100% del suo è stato rimborsato e lei non è più abbonata al piano.
Rimborsi ripartiti proporzionalmente
Se devi interrompere un abbonamento e rimborsare parzialmente il costo rimanente
data del diritto, emetti un rimborso proporzionale. Utilizza la
purchases.subscriptionsv2.revoke
e imposta "proratedRefund": {}
come tipo di rimborso.
Esempio:
Maria ha un abbonamento ai SuperMovies con rinnovo automatico della durata di 30 giorni piano mensile. Utilizza felicemente il servizio da un po' di tempo. Maria contatta l'assistenza clienti il 15° giorno del ciclo di fatturazione dichiarando di si sta trasferendo all'estero e non potrà più utilizzare il servizio avviando la giorno successivo.
L'assistenza clienti individua i dettagli di acquisto dell'abbonamento di Maria in il proprio sistema e attiva una chiamata a
purchases.subscriptionsv2.revoke
richiedere un rimborso proporzionale.L'assistenza clienti dice a Maria che dovrebbe ricevere circa il 50% del suo prezzo dell'abbonamento rimborsato e l'accesso al servizio è stato interrotto immediatamente.