@cloudcommerce/app-mercadopago 2.48.8 → 2.48.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/mp-webhook.js +13 -16
- package/lib/mp-webhook.js.map +1 -1
- package/package.json +6 -6
package/lib/mp-webhook.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/* eslint-disable import/prefer-default-export */
|
|
2
2
|
import '@cloudcommerce/firebase/lib/init';
|
|
3
|
-
import logger from 'firebase-functions/logger';
|
|
4
3
|
import axios from 'axios';
|
|
5
4
|
import api from '@cloudcommerce/api';
|
|
6
5
|
import { getFirestore } from 'firebase-admin/firestore';
|
|
7
6
|
import * as functions from 'firebase-functions/v1';
|
|
8
|
-
import config from '@cloudcommerce/firebase/lib/config';
|
|
7
|
+
import config, { logger } from '@cloudcommerce/firebase/lib/config';
|
|
9
8
|
import { parsePaymentStatus } from './mp-create-transaction.js';
|
|
10
9
|
|
|
11
10
|
const { httpsFunctionOptions } = config.get();
|
|
@@ -15,10 +14,14 @@ export const mercadopago = {
|
|
|
15
14
|
.region(httpsFunctionOptions.region)
|
|
16
15
|
.runWith(httpsFunctionOptions)
|
|
17
16
|
.https.onRequest(async (req, res) => {
|
|
18
|
-
const { method } = req;
|
|
19
|
-
if (method === 'POST') {
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
const { method, body: notification } = req;
|
|
18
|
+
if (method === 'POST' && notification) {
|
|
19
|
+
logger.info('Webhook body', { notification });
|
|
20
|
+
if (notification.type !== 'payment' || !notification.data?.id) {
|
|
21
|
+
res.sendStatus(400);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
logger.info(`MP Notification for Payment #${notification.data.id}`);
|
|
22
25
|
try {
|
|
23
26
|
const app = (await api.get(`applications?app_id=${config.get().apps.mercadoPago.appId}&fields=hidden_data`)).data.result;
|
|
24
27
|
const mpAccessToken = app[0]?.hidden_data?.mp_access_token;
|
|
@@ -30,11 +33,6 @@ export const mercadopago = {
|
|
|
30
33
|
res.sendStatus(406);
|
|
31
34
|
return;
|
|
32
35
|
}
|
|
33
|
-
const notification = req.body;
|
|
34
|
-
if (notification.type !== 'payment' || !notification.data || !notification.data.id) {
|
|
35
|
-
res.status(404).send('SKIP');
|
|
36
|
-
}
|
|
37
|
-
logger.log('> MP Notification for Payment #', notification.data.id);
|
|
38
36
|
const docRef = getFirestore().collection('mercadopagoPayments')
|
|
39
37
|
.doc(String(notification.data.id));
|
|
40
38
|
docRef.get()
|
|
@@ -43,7 +41,6 @@ export const mercadopago = {
|
|
|
43
41
|
const data = doc.data();
|
|
44
42
|
const orderId = data?.order_id;
|
|
45
43
|
const order = (await api.get(`orders/${orderId}`)).data;
|
|
46
|
-
logger.log('>order ', JSON.stringify(order), '<');
|
|
47
44
|
if (order && order.transactions) {
|
|
48
45
|
const payment = (await axios.get(`https://api.mercadopago.com/v1/payments/${notification.data.id}`, {
|
|
49
46
|
headers: {
|
|
@@ -51,7 +48,7 @@ export const mercadopago = {
|
|
|
51
48
|
'Content-Type': 'application/json',
|
|
52
49
|
},
|
|
53
50
|
})).data;
|
|
54
|
-
logger.
|
|
51
|
+
logger.info(`Payment for ${order._id}`, { payment });
|
|
55
52
|
const methodPayment = payment.payment_method_id;
|
|
56
53
|
const transaction = order.transactions.find(({ intermediator }) => {
|
|
57
54
|
return intermediator
|
|
@@ -87,15 +84,15 @@ export const mercadopago = {
|
|
|
87
84
|
}
|
|
88
85
|
res.status(200).send('SUCCESS');
|
|
89
86
|
} else {
|
|
90
|
-
logger.
|
|
87
|
+
logger.info(`Transaction not found ${notification.data.id}`);
|
|
91
88
|
res.sendStatus(404);
|
|
92
89
|
}
|
|
93
90
|
} else {
|
|
94
|
-
logger.
|
|
91
|
+
logger.info(`Order Not Found ${orderId}`);
|
|
95
92
|
res.sendStatus(404);
|
|
96
93
|
}
|
|
97
94
|
} else {
|
|
98
|
-
logger.
|
|
95
|
+
logger.info(`Payment not found in Firestore ${notification.data.id}`);
|
|
99
96
|
res.sendStatus(404);
|
|
100
97
|
}
|
|
101
98
|
})
|
package/lib/mp-webhook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mp-webhook.js","sourceRoot":"","sources":["../src/mp-webhook.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"mp-webhook.js","sourceRoot":"","sources":["../src/mp-webhook.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/app-mercadopago",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.48.
|
|
4
|
+
"version": "2.48.10",
|
|
5
5
|
"description": "e-com.plus Cloud Commerce app to integrate Mercado Pago",
|
|
6
6
|
"main": "lib/mercadopago.js",
|
|
7
7
|
"exports": {
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"axios": "^1.10.0",
|
|
31
31
|
"firebase-admin": "^13.4.0",
|
|
32
|
-
"firebase-functions": "^6.
|
|
33
|
-
"@cloudcommerce/
|
|
34
|
-
"@cloudcommerce/
|
|
32
|
+
"firebase-functions": "^6.4.0",
|
|
33
|
+
"@cloudcommerce/api": "2.48.10",
|
|
34
|
+
"@cloudcommerce/firebase": "2.48.10"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@firebase/app-types": "^0.9.3",
|
|
38
|
-
"@cloudcommerce/types": "2.48.
|
|
39
|
-
"@cloudcommerce/test-base": "2.48.
|
|
38
|
+
"@cloudcommerce/types": "2.48.10",
|
|
39
|
+
"@cloudcommerce/test-base": "2.48.10"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "bash scripts/build.sh",
|