Serverseitige Überprüfung von Google Play In-App-Abrechnung Version 3 Kauf

Ich bin nicht in der Lage, eine gerade Antwort zu finden, wie ich einen In-App-Abrechnungskauf auf dem Server verifiziere, bevor ich herunterladbare Inhalte für den Benutzer zur Verfügung stelle.

Ich verwende in app-billing Version 3. Ich kaufe verwaltete Produkte mit Code basierend auf der IabHelper-Klasse aus dem TrivialDrive Beispielcode. Alles ist gut und Dandy und der Kauf ist erfolgreich abgeschlossen, ich bekomme ein volles Kaufobjekt zurück und die folgenden original JSON Daten:

  • Probleme mit alertdialog zeigen in Fragment Android
  • Auf Android eine POST-Anfrage mit URL-codierten Formulardaten ohne Verwendung von UrlEncodedFormEntity
  • Also, was sind die genauen Vorteile von Fragments in Android 3.0?
  • Gibt es einen programmatischen Weg, um herauszufinden, ob meine App bewertet wurde?
  • So zeigen Sie die Adressleiste nach dem Beenden des Vollbildmodus auf Android an
  • ViewPager-Update-Fragment beim Swipe
  • { "orderId":"12999763169054705758.1364365967744519", "packageName":"my package name", "productId":"77", "purchaseTime":1366217534000, "purchaseState":0, "purchaseToken":"utfwimslnrrwvglktizikdcd.AO-J1OwZ4l5oXz_3d2SAWAAUgFE3QErKoyIX8WuSEnBW26ntsyDmlLgoUd5lshqIY2p2LnlV4tpH4NITB4mJMX98sCtZizH7wGf6Izw3tfW_GflJDKFyb-g" } 

    Wie ich es verstehe, muss ich den buyToken und etwas, was ich als eine Signatur zum Server bezeichnet habe, übergeben. Der Server verwendet dann einen privaten Schlüssel, um den Kauf zu überprüfen. Ist das richtig? Wenn ja, wo bekomme ich die Signatur von und gibt es wirklich keine anständige Dokumentation zur serverseitigen Überprüfung eines Kaufs?

  • Menüpunkte werden nicht in der Aktionsleiste angezeigt
  • Wie drucken Sie mit einem Zebra-Drucker in Android?
  • Android-Ressource nicht lange / lange Identifikatoren nicht funktioniert
  • So fügen Sie Kartenfragment programmgesteuert hinzu
  • Wie wählt man aus Ressourcen zufällig (R.drawable.xxxx)
  • Wie können wir Höhe und Breite dp für Imageview in android setzen?
  • 2 Solutions collect form web for “Serverseitige Überprüfung von Google Play In-App-Abrechnung Version 3 Kauf”

     where do I get the signature from ? 

    Schauen Sie sich die offiziellen Dokumente an ,

    Es sagt, dass in Ihrer onActivityResult() -Methode können Sie folgende Daten wie in Beispiel gezeigt,

      @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1001) { int responseCode = data.getIntExtra("RESPONSE_CODE", 0); String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA"); String dataSignature = data.getStringExtra("INAPP_DATA_SIGNATURE");//this is the signature which you want if (resultCode == RESULT_OK) { try { JSONObject jo = new JSONObject(purchaseData);//this is the JSONObject which you have included in Your Question right now String sku = jo.getString("productId"); alert("You have bought the " + sku + ". Excellent choice, adventurer!"); } catch (JSONException e) { alert("Failed to parse purchase data."); e.printStackTrace(); } } } } 

    Ich hoffe es wird hilfreich sein !!

    Das ist zu alt, aber ich hoffe meine Antwort kann jemandem helfen.

    Sie müssen die Signatur auf der Client-Seite zu validieren, und dann müssen Sie purchaseToken auf Server-Seite übergeben , und dann Server wird Kontakt auf den Server von Google und erhalten alle notwendigen Informationen über den Kauf, wie z. B. purchaseState und consumptionState .

    https://developers.google.com/android-publisher/api-ref/purchases/products

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.