Actualizado el 22. junio 2023 por Jan Bunk
Si configuras tu configuración de compras en la aplicación para utilizar nuestro punto final de verificación de compras en la aplicación, nuestro punto final de verificación (después de verificar la compra) PUBLICARÁ un objeto JSON como el siguiente a su punto final de desbloqueo:
JSON de ejemplo de compra en Google Play:
{
// 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"
}
}
}
JSON de ejemplo de compra en la App Store:
{
"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"
}
}
Necesitarás principalmente el userIdentifier
(que es el identificador de usuario que pasaste cuando llamaste a makeInAppPurchase en el JavaScript de tu sitio web) para determinar a quién se le debe desbloquear los productos y el productID
para determinar qué producto se debe desbloquear para el usuario.
Después de que se haya realizado una compra en la aplicación, especialmente una suscripción, tendrás que estar atento a cualquier cambio que se haga en ella. Por ejemplo, se te notificará cuando se cancele una suscripción o se reembolse una compra dentro de la aplicación, para que puedas revocar los beneficios que el usuario obtiene de la suscripción.
Una vez que hayas terminado, tu punto final debería devolver un código de estado 200. Si no devuelve un código de estado 200, nuestro servidor de verificación intentará repetir la solicitud. Si el servidor de verificación no puede obtener una respuesta que indique que los productos fueron desbloqueados, la aplicación no confirmará la compra. Esto hará que la compra se reembolse automáticamente en 3 días.
Puedes utilizar nuestro punto final de desbloqueo temporal no-op para realizar pruebas. Así te asegurarás de que las compras desde la aplicación no fallen porque tu servidor devuelva un código de estado incorrecto o algo parecido. Aquí tienes la URL del punto final de desbloqueo que puedes utilizar en la configuración de tus compras desde la aplicación: https://webtoapp.design/apps/test_unlock_in_app_purchase/
Aquí tienes una lista de páginas relacionadas con las compras en la aplicación: