Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

133
Visualizações
Flujo de pago de manejo de Firebase nativo de React

Estoy integrando la API de pago, estoy usando las funciones de la nube de firebase como backend y react-native en la interfaz, así que ahora tengo el siguiente código:

En el lado nativo de reacción:

 const PaymentScreen = () => { setLoading(true); const onPay = () => { const onPaymentCall = firebase.functions().httpsCallable('onPayment'); onPaymentCall(productsData) .then(res => { setLoading(false); if (res?.data?.statusCode === 200) { const paymentReceivedData = { transactionId: res?.data?.transactionId, paymentDate: new Date().now(), totalPrice: res?.data?.totalPrice } navigator.navigate('ReceiptScreen', { paymentReceivedData }); } }) } return ( <TouchableOpacity onPress={onPay}>PAY</TouchableOpacity> ) }

función firebase para manejar el pago:

 export const onPayment = functions .runWith({ timeoutSeconds: 300 }) .https.onCall(async (data: any, context: any) => { if (!context.auth) { throw new functions.https.HttpsError( 'failed-precondition', 'The function must be called while authenticated.' ); } try { const paymentResult = await paymentThroughApi(data); await admin.firestore().collection('wallet').add({...paymentResult}); const response = { statusCode: 200, totalPrice: paymentResult.totalPrice, transactionId: paymentResult.transactionId, } return response; } catch (error) { const response = { statusCode: 400, message: 'Payment unsuccessful', transactionId: null, } return response; }

Entonces, la pregunta es, ¿cómo puedo manejar long-time response / timeout error / network-loss etc. en el lado nativo de reacción, por ejemplo, cómo debería hacerlo más robusto? especialmente el manejo de respuestas de larga duración, errores de tiempo de espera, fallas de pago, etc.? ¿Qué paquetes debo usar? como NetInfo para verificar la conectividad a Internet, pero ¿cuál es la mejor manera de hacer que el flujo de pago sea sólido?

Entonces, ¿alguien puede guiarme o sugerir fragmentos de código para agregar a mi código actual?

¡Gracias!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda