2.0.0-alpha3
(Eu tentei 1.1.5 também, mesmo problema)
iOS
validateReceiptIos retorna 0/1 / verdadeiro para recibos válidos
validateReceiptIos sempre retorna falso
Dispositivo real, loja de aplicativos sandbox
Consigo fazer compras de assinaturas de renovação automática com êxito e recebo um recibo da transação. Quando tento validar isso no iOS usando validateReceiptIos (reciboBody, verdadeiro, 55), sempre recebo um retorno falso.
Se eu logar JSON.stringify (res), recebo:
{"status": 21004, "ambiente": "Sandbox"}
Houve um problema semelhante no # 190
Em que linha você está inserindo o log? 🤔
Além disso, qual versão do React Native você está executando?
@fabianunger Strange. Deve ser corrigido em # 190. Você poderia compartilhar alguns códigos?
"react": "^ 16.3.2"
"reagir nativo": "^ 0.55.3"
`` `
validate = assíncrono (produto) => {
tentar {
console.log (produto);
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 Você poderia experimentar esta versão e ver se ela apresenta uma mensagem de erro mais detalhada?
npm install LinusU/react-native-iap#ios-validate
@LinusU @dooboolab
Acabei de adicionar o segredo compartilhado no corpo do recibo e agora parece funcionar.
Talvez eu tenha perdido em algum lugar dos documentos? Ou não é assim que deveria acontecer?
const receiptBody = {
'receipt-data': product.transactionReceipt,
'password': '*********'
};
(ainda usando a versão 2.0.0-alpha3)
@LinusU
Eu testei também com a sua versão: mesmo resultado.
Como resposta, recebo {"status": 21004, "environment": "Sandbox"}.
Funciona adicionando o segredo compartilhado como a 'senha' dentro do corpo do recibo. Em geral: esta é a forma normal mesmo?
@fabianunger Você fez certo. Para mais informações ref aqui. Será bom atualizar o documento duro.
O que é shared secret
e onde posso encontrá-lo?
O que é
shared secret
e onde posso encontrá-lo?
https://www.appypie.com/faqs/how-can-i-get-shared-secret-key-for-in-app-purchase
Validar Recibo no modo de produção retornando {status: 21007}, alguém pode ajudar mw com isso.
desde já, obrigado
Olhe aqui:
"21007: Este recibo é do ambiente de teste, mas foi enviado ao ambiente de produção para verificação. Envie-o para o ambiente de teste."
use este endereço para verificação do ambiente de teste: https://sandbox.itunes.apple.com/verifyReceipt
Comentários muito úteis
@LinusU @dooboolab
Acabei de adicionar o segredo compartilhado no corpo do recibo e agora parece funcionar.
Talvez eu tenha perdido em algum lugar dos documentos? Ou não é assim que deveria acontecer?
(ainda usando a versão 2.0.0-alpha3)