Postato su 2. febbraio 2022 da Jan Bunk
Se tu configura le tue impostazioni di acquisto in app per utilizzare il nostro endpoint gestito per la verifica degli acquisti in app, il nostro endpoint di verifica (dopo aver verificato l'acquisto) invierà un oggetto JSON come il seguente al tuo endpoint di sblocco:
Google Play acquisto esempio JSON:
{
// the userIdentifier you passed via Javascript
"userIdentifier": "user123",
// your app's ID (only relevant if you have multiple apps using the same verification endpoint)
"appId": 1234,
"purchaseDetails": {
"verificationData": {
"serverVerificationData": "abcdefghijklmnopqrstuvwx.AO-J1Oyabcdefghijklmnopqrstuvwxyz123456789_-abcdefghijklmnopqrstuvwxyz123456789_-abcdefghijklmnopq",
// the "autoRenewing" property in localVerificationData is only sent if the product is a subscription
"localVerificationData": "{\"orderId\":\"GPA.1234-1234-1234-12345\",\"packageName\":\"example.package.name\",\"productId\":\"exampleProductId\",\"purchaseTime\":1643389081662,\"purchaseState\":0,\"purchaseToken\":\"abcdefghijklmnopqrstuvwx.AO-J1Oyabcdefghijklmnopqrstuvwxyz123456789_-abcdefghijklmnopqrstuvwxyz123456789_-abcdefghijklmnopq\",\"autoRenewing\":true,\"acknowledged\":false}",
"source": "google_play"
},
"productID": "consumable",
"purchaseID": "GPA.1234-1234-1234-12345",
// can also be "restored" if triggered by a call to restorePurchases()
"status": "purchased",
"transactionDate": "1643389081662"
}
}
}
Esempio di acquisto su App Store JSON:
{
"appId": 1234,
"userIdentifier": "user123",
"purchaseDetails": {
"verificationData": {
"serverVerificationData": "veryLongBase64String",
"localVerificationData": "veryLongBase64String",
"source": "app_store"
},
"productID": "consumable",
"purchaseID": "123",
// can also be "restored" if triggered by a call to restorePurchases()
"status": "purchased",
"transactionDate": "1644239123000"
}
}
Avrai bisogno principalmente del userIdentifier
(che è l'userIdentifier che hai passato quando hai chiamato makeInAppPurchase nel Javascript del tuo sito) per determinare a chi sbloccare i prodotti e il productID
per determinare quale prodotto sbloccare per l'utente.
Dopo che un acquisto in app - specialmente un abbonamento - è stato fatto, avrai bisogno di ascoltare qualsiasi cambiamento che viene fatto. Per esempio sarai avvisato quando un abbonamento è stato cancellato o un acquisto in app è stato rimborsato, così potrai revocare i benefici che l'utente ottiene dall'abbonamento.
Una volta fatto, il tuo endpoint dovrebbe restituire un codice di stato 200. Se non restituisce un codice di stato 200, il nostro server di verifica proverà a ripetere la richiesta. Se il server di verifica non è in grado di ottenere una risposta che indica che i prodotti sono stati sbloccati, l'applicazione non confermerà l'acquisto. Questo porterà al rimborso automatico dell'acquisto entro 3 giorni.
Ecco una lista di pagine correlate sugli acquisti in app: