{"id":137883,"date":"2021-08-26T00:00:00","date_gmt":"2021-08-26T00:00:00","guid":{"rendered":"https:\/\/adapty.io\/de-ios-in-app-purchases-part-4-server-side-purchase-validation\/"},"modified":"2021-08-26T00:00:00","modified_gmt":"2021-08-26T00:00:00","slug":"ios-in-app-purchases-part-4-server-side-purchase-validation","status":"publish","type":"post","link":"https:\/\/adapty.io\/de\/blog\/ios-in-app-purchases-part-4-server-side-purchase-validation\/","title":{"rendered":"iOS In-App-K\u00e4ufe, Teil 4: Serverseitige Kaufvalidierung"},"content":{"rendered":"\n
Die Servervalidierung (serverseitige Empfangsvalidierung<\/a>) ist eine Methode, um die Echtheit eines Kaufs zu best\u00e4tigen. Im Gegensatz zur ger\u00e4tebasierten Validierung geschieht die Servervalidierung auf dem, Sie ahnen es, Server. Die Validierung umfasst nichts anderes als dass das Ger\u00e4t oder der Server eine Anfrage an Apple schickt, um herauszufinden, ob der Kauf tats\u00e4chlich stattgefunden hat und g\u00fcltig ist.<\/p>\n\n\n\n\n\n Wir sollten erw\u00e4hnen, dass die Servervalidierung keine Pflicht ist. In-App-K\u00e4ufe w\u00fcrden auch ohne sie funktionieren. Sie bietet Ihnen jedoch einige Vorteile:<\/p>\n\n\n\n Allein der erste Vorteil reicht aus unserer Erfahrung aus, um eine Kaufabwicklung \u00fcber den Server einzurichten.<\/p>\n\n\n\n In der Regel sieht der Vorgang der Kaufvalidierung auf iOS wie folgt aus:<\/p>\n\n\n\n Sie m\u00fcssen das gemeinsame Geheimnis angeben, um eine Anforderung zur Zahlungsvalidierung zu autorisieren. Sie k\u00f6nnen es im App Store Connect generieren.<\/p>\n\n\n\n Das gemeinsame Geheimnis kann f\u00fcr eine bestimmte App (App-spezifisches Geheimnis) oder f\u00fcr alle Apps im Konto (prim\u00e4res Geheimnis) erstellt werden.<\/p>\n\n\n\n \u00d6ffnen Sie die Seite der App in App Store Connect, gehen Sie zu In-App-K\u00e4ufe \u2192 Verwalten und klicken Sie auf App-spezifisches gemeinsames Geheimnis, um ein App-spezifisches Geheimnis zu generieren. In dem sich nun \u00f6ffnenden Fenster k\u00f6nnen Sie einen neuen Token generieren oder das vorhandene kopieren.<\/p>\n\n\n\n \u00d6ffnen Sie die Seite \u201eBenutzer und Zugriff\u201c und w\u00e4hlen Sie die Registerkarte \u201eGemeinsames Geheimnis\u201c aus, um das Geheimnis f\u00fcr alle Apps in Ihrem Konto zu erhalten.<\/p>\n\n\n\n Sobald Sie das gemeinsame Geheimnis erhalten, k\u00f6nnen Sie die Quittungen versenden, um diese auf den Apple Servern zu validieren. Das erfolgt \u00fcber eine verifyReceipt<\/a> Anfrage. Senden Sie eine POST Anfrage an https:\/\/buy.itunes.apple.com\/verifyReceipt<\/a>. Im JSON Body der Anfrage geben Sie das gemeinsame Geheimnis im Password<\/em> Feld ein und die Quittung bei receipt-data<\/em>. Optional gibt es auch den exclude-old-transactions <\/em>Parameter. Ist dieser true<\/em>, erhalten Sie f\u00fcr jedes automatisch verl\u00e4ngerte Abonnement die letzte Transaktion statt des kompletten Verlaufs.<\/p>\n\n\n\n Hier ist der Payload der Anfrage zur Kaufvalidierung:<\/p>\n\n\n\nWarum m\u00fcssen wir K\u00e4ufe validieren?<\/h2>\n\n\n\n
\n
Kaufvalidierung<\/h2>\n\n\n\n
<\/figure>\n\n\n\nGenerieren des gemeinsamen Geheimnisses (shared secret)<\/h3>\n\n\n\n

<\/figure>\n\n\n\n
Zahlungsvalidierung anfordern<\/h3>\n\n\n\n