2.0.0-alpha3
(Ich habe auch 1.1.5 ausprobiert, das gleiche Problem)
iOS
validateReceiptIos gibt 0/1 / true für gültige Belege zurück
validateReceiptIos gibt immer false zurück
Echtes Gerät, Sandbox App Store
Ich kann automatisch erneuerbare Abonnementkäufe erfolgreich tätigen und eine Transaktionsquittung erhalten. Wenn ich versuche, dies unter iOS mit validateReceiptIos (ReceiptBody, true, 55) zu validieren, wird immer false zurückgegeben.
Wenn ich JSON.stringify (res) anmelde, erhalte ich:
{"Status": 21004, "Umgebung": "Sandbox"}
Es gab ein ähnliches Problem bei # 190
In welcher Zeile fügen Sie das Protokoll ein? 🤔
Welche Version von React Native verwenden Sie?
@ Fabianunger Seltsam. Sollte in # 190 behoben werden. Könnten Sie einige Codes teilen?
"reagieren": "^ 16.3.2"
"React-Native": "^ 0,55,3"
`` `
validate = async (Produkt) => {
Versuchen {
console.log (Produkt);
const receiptBody = {
'receipt-data': product.transactionReceipt,
};
console.log(receiptBody);
const result = await RNIap.validateReceiptIos(receiptBody, true, 55);
console.log(result);
} catch(err) {
console.warn(err.code, err.message);
Alert.alert(err.message);
}
};
`` `
@fabianunger Könnten Sie diese Version ausprobieren und sehen, ob Sie eine detailliertere Fehlermeldung erhalten?
npm install LinusU/react-native-iap#ios-validate
@LinusU @dooboolab
Ich habe gerade das gemeinsame Geheimnis in den Quittungskörper eingefügt und jetzt scheint es zu funktionieren.
Vielleicht habe ich es einfach irgendwo in der Dokumentation verpasst? Oder soll das nicht so sein?
const receiptBody = {
'receipt-data': product.transactionReceipt,
'password': '*********'
};
(verwendet immer noch Version 2.0.0-alpha3)
@ LinusU
Ich habe es auch mit Ihrer Version getestet: Gleiches Ergebnis.
Als Antwort erhalte ich {"status": 21004, "environment": "Sandbox"}.
Fügt das gemeinsame Geheimnis als 'Passwort' in den Quittungskörper ein. Im Allgemeinen: Ist das überhaupt der normale Weg?
@ Fabianunger Du hast es richtig gemacht. Weitere Informationen ref hier. Wird gut sein, um das Dokument hart zu aktualisieren.
Was ist das shared secret
und wo finde ich es?
Was ist das
shared secret
und wo finde ich es?
https://www.appypie.com/faqs/how-can-i-get-shared-secret-key-for-in-app-purchase
Überprüfen Sie den Empfang im Produktionsmodus und geben Sie {status: 21007} zurück. Kann mir jemand dabei helfen?
Danke im Voraus
Schau hier:
"21007: Diese Quittung stammt aus der Testumgebung, wurde jedoch zur Überprüfung an die Produktionsumgebung gesendet. Senden Sie sie stattdessen an die Testumgebung."
Verwenden Sie diese Adresse zur Überprüfung der Testumgebung: https://sandbox.itunes.apple.com/verifyReceipt
Hilfreichster Kommentar
@LinusU @dooboolab
Ich habe gerade das gemeinsame Geheimnis in den Quittungskörper eingefügt und jetzt scheint es zu funktionieren.
Vielleicht habe ich es einfach irgendwo in der Dokumentation verpasst? Oder soll das nicht so sein?
(verwendet immer noch Version 2.0.0-alpha3)