Så här gör du: Konfigurera din IAP-låsningsändpunkt

Uppdaterad den 22. juni 2023 av Jan Bunk


Om du ställer in dina inställningar för köp i appen så att du använder vår slutpunkt för kontroll av köp i appen, kommer vår slutpunkt för verifiering (efter att ha verifierat köpet) att skicka ett JSON-objekt som följande till din slutpunkt för upplåsning:

Exempel på köp i 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"
      }
    }
}
    

Exempel på köp i 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"
  }
}
    

Låsa upp de köpta produkterna

Du behöver främst userIdentifier (som är den userIdentifier du skickade när du anropade makeInAppPurchase i Javascript på din webbplats) för att avgöra vem som ska låsa upp produkterna och productID för att avgöra vilken produkt som ska låsas upp för användaren.

När du har gjort ett köp i appen - särskilt en prenumeration - måste du lyssna på alla ändringar som görs i appen. Du kommer till exempel att meddelas när en prenumeration har avbrutits eller när ett köp i appen har återbetalats, så att du kan återkalla de fördelar som användaren får av prenumerationen.

Förväntat resultat

När du är klar ska slutpunkten returnera en 200-statuskod. Om den inte returnerar en 200-statuskod försöker vår verifieringsserver upprepa begäran. Om verifieringsservern inte kan få ett svar som visar att produkterna har låsts upp kommer appen inte att bekräfta köpet. Detta kommer att leda till att köpet automatiskt återbetalas inom 3 dagar.

Du kan använda vår tillfälliga slutpunkt för no-op-upplåsning i testsyfte. På så sätt kan du se till att köp i appen inte misslyckas på grund av att din server returnerar en felaktig statuskod eller något liknande. Här är URL:en för upplåsningsslutpunkten som du kan använda i inställningarna för köp i appen: https://webtoapp.design/apps/test_unlock_in_app_purchase/