2.0.0-alpha3
(También probé 1.1.5, el mismo problema)
iOS
validateReceiptIos devuelve 0/1 / verdadero para recibos válidos
validateReceiptIos siempre devuelve falso
Dispositivo real, tienda de aplicaciones sandbox
Puedo realizar compras de suscripción renovables automáticamente con éxito y recibir un recibo de transacción. Cuando trato de validar esto en iOS usando validateReceiptIos (receiveBody, true, 55) siempre me devuelven falso.
Si registro JSON.stringify (res) obtengo:
{"status": 21004, "environment": "Sandbox"}
Hubo un problema similar en el n . ° 190
¿En qué línea está insertando el registro? 🤔
Además, ¿qué versión de React Native estás ejecutando?
@fabianunger Extraño. Debería arreglarse en # 190. ¿Podría compartir algunos códigos?
"reaccionar": "^ 16.3.2"
"react-native": "^ 0.55.3"
''
validar = async (producto) => {
tratar {
console.log (producto);
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 ¿Podrías probar esta versión y ver si te da un mensaje de error más detallado?
npm install LinusU/react-native-iap#ios-validate
@LinusU @dooboolab
Acabo de agregar el secreto compartido en el cuerpo del recibo y ahora parece que funciona.
¿Quizás simplemente me lo perdí en algún lugar de los documentos? ¿O no es así como se supone que debe suceder?
const receiptBody = {
'receipt-data': product.transactionReceipt,
'password': '*********'
};
(todavía usando la versión 2.0.0-alpha3)
@LinusU
Lo probé también con tu versión: Mismo resultado.
Como respuesta, obtengo {"status": 21004, "environment": "Sandbox"}.
Funciona agregando el secreto compartido como la "contraseña" dentro del cuerpo del recibo. En general: ¿Es esta la forma habitual de todos modos?
@fabianunger Lo has hecho bien. Para obtener más información ref aquí. Será bueno actualizar el documento.
¿Qué es el shared secret
y dónde puedo encontrarlo?
¿Qué es el
shared secret
y dónde puedo encontrarlo?
https://www.appypie.com/faqs/how-can-i-get-shared-secret-key-for-in-app-purchase
Validar Reciept en modo de producción devolviendo {status: 21007}, ¿alguien puede ayudar a mw con esto?
Gracias por adelantado
Mira aquí:
"21007: Este recibo es del entorno de prueba, pero se envió al entorno de producción para su verificación. En su lugar, envíelo al entorno de prueba".
use esta dirección para la verificación del entorno de prueba: https://sandbox.itunes.apple.com/verifyReceipt
Comentario más útil
@LinusU @dooboolab
Acabo de agregar el secreto compartido en el cuerpo del recibo y ahora parece que funciona.
¿Quizás simplemente me lo perdí en algún lugar de los documentos? ¿O no es así como se supone que debe suceder?
(todavía usando la versión 2.0.0-alpha3)