Hoe kun je: Configureer je IAP ontgrendel-eindpunt

Geplaatst op 2. februari 2022 door Jan Bunk


Als je stel je in app aankoop instellingen in om ons beheerde in app aankoop verificatie eindpunt te gebruiken, ons verificatie-eindpunt zal (na het verifiëren van de aankoop) een JSON object als het volgende POSTEN naar je ontgrendelingseindpunt:

Google Play aankoop voorbeeld 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"
      }
    }
}
    

App Store aankoop voorbeeld 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"
  }
}
    

Ontsluiten van de gekochte producten

Je hebt vooral de userIdentifier nodig (dat is de userIdentifier die je doorgaf toen je makeInAppPurchase in je website's Javascript opriep) om te bepalen voor wie de producten ontgrendeld moeten worden en de productID om te bepalen welk product voor de gebruiker ontgrendeld moet worden.

Nadat een in app aankoop - vooral een abonnement - gedaan is, zul je moeten luisteren naar alle veranderingen die er in aangebracht worden. Je krijgt bijvoorbeeld een melding als een abonnement werd geannuleerd of een in app aankoop werd terugbetaald, zodat je dan de voordelen die de gebruiker van het abonnement krijgt kunt intrekken.

Verwacht resultaat

Als je klaar bent, zou je eindpunt een 200 status code moeten teruggeven. Als het geen 200 status code terugstuurt, zal onze verificatieserver proberen het verzoek te herhalen. Als de verificatieserver geen antwoord kan krijgen dat aangeeft dat de producten ontgrendeld werden, zal de app de aankoop niet bevestigen. Dit leidt ertoe dat de aankoop na 3 dagen automatisch wordt terugbetaald.