Comment : Configurer votre point de terminaison de déverrouillage IAP

Posté le 2. février 2022 par Jan Bunk


Si vous configurez vos paramètres d'achat in app pour utiliser notre point de terminaison géré de vérification des achats in app, notre endpoint de vérification va (après avoir vérifié l'achat) POSTER un objet JSON tel que le suivant à votre endpoint de déverrouillage :

Exemple d'achat Google Play 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"
      }
    }
}
    

Exemple d'achat sur l'App Store en 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"
  }
}
    

Déverrouillage des produits achetés

Vous aurez principalement besoin du userIdentifier (qui est le userIdentifier que vous avez passé lorsque vous avez appelé makeInAppPurchase dans le Javascript de votre site web) pour déterminer pour qui débloquer les produits et du productID pour déterminer quel produit débloquer pour l'utilisateur.

Après qu'un achat in app - en particulier un abonnement - a été effectué, vous devrez être à l'écoute de toutes les modifications qui lui sont apportées. Par exemple, vous serez informé de l'annulation d'un abonnement ou du remboursement d'un achat in app, ce qui vous permettra de révoquer les avantages que l'utilisateur tire de l'abonnement.

Résultat attendu

Une fois que vous avez terminé, votre point de terminaison devrait renvoyer un code d'état 200. S'il ne renvoie pas un code d'état 200, notre serveur de vérification essaiera de répéter la demande. Si le serveur de vérification ne parvient pas à obtenir une réponse indiquant que les produits ont été déverrouillés, l'application ne confirmera pas l'achat. Dans ce cas, l'achat sera automatiquement remboursé dans les 3 jours.