diff --git a/functions/routes/ecom/webhook.js b/functions/routes/ecom/webhook.js index 59373e9..b41562f 100644 --- a/functions/routes/ecom/webhook.js +++ b/functions/routes/ecom/webhook.js @@ -345,8 +345,6 @@ exports.post = async ({ appSdk, admin }, req, res) => { throw err } // - // subscription.galaxPayId - // console.log('>Sub: ', JSON.stringify(subscription)) let queryString = `subscriptionGalaxPayIds=${subscription.galaxPayId}` queryString += '&status=notSend,pendingBoleto,pendingPix&order=payday.desc' @@ -356,7 +354,7 @@ exports.post = async ({ appSdk, admin }, req, res) => { let i = 0 while (i < Transactions?.length) { const transaction = Transactions[i] - if (transaction.value !== newSubscriptionValue) { + if (transaction.value !== newSubscriptionValue && transaction.galaxPayId !== docSubscription.transactionId) { await updateTransactionGalaxpay(galaxpayAxios, transaction.galaxPayId, newSubscriptionValue) .catch(console.error) } diff --git a/functions/routes/galaxpay/webhooks.js b/functions/routes/galaxpay/webhooks.js index 553fde7..5dc68b5 100644 --- a/functions/routes/galaxpay/webhooks.js +++ b/functions/routes/galaxpay/webhooks.js @@ -548,15 +548,16 @@ exports.post = async ({ appSdk, admin }, req, res) => { if (transactionId !== GalaxPayTransaction.galaxPayId) { const auth = await appSdk.getAuth(storeId) const order = (await findOrderById(appSdk, storeId, auth, subscriptionId))?.response?.data + let items = order.items let { itemsAndAmount } = subscriptionDoc if (itemsAndAmount && itemsAndAmount.items?.length) { - compareDocItemsWithOrder(itemsAndAmount, order.items, order.amount, GalaxPayTransactionValue) + items = itemsAndAmount.items } await checkItemsAndRecalculeteOrder( order.amount, - order.items, + items, plan, null, order.shipping_lines[0], @@ -564,7 +565,7 @@ exports.post = async ({ appSdk, admin }, req, res) => { appSdk, auth ) - itemsAndAmount = createItemsAndAmount(order.amount, order.items) + itemsAndAmount = createItemsAndAmount(order.amount, items) await collectionTransactions.doc(`${storeId}-${GalaxPayTransaction.galaxPayId}`) .set( @@ -598,7 +599,10 @@ exports.post = async ({ appSdk, admin }, req, res) => { await updateDocSubscription(collectionSubscription, body, subscriptionId) } // Update transaction - await updateTransactionGalaxpay(galaxpayAxios, GalaxPayTransaction.galaxPayId, total) + const { status } = data?.Transactions[0] + if (!status || status === 'notSend' || status === 'pendingBoleto' || status === 'pendingPix') { + await updateTransactionGalaxpay(galaxpayAxios, GalaxPayTransaction.galaxPayId, total) + } } } catch (error) { console.error(error)