@cloudcommerce/app-mercadopago 0.26.7 → 0.28.0
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/.turbo/turbo-build.log
CHANGED
|
@@ -14,7 +14,11 @@
|
|
|
14
14
|
.Mercadopago
|
|
15
15
|
.getIssuers(window.mpPaymentMethodId, (status, issuer) => {
|
|
16
16
|
console.log(issuer);
|
|
17
|
-
const token = `${res.id} // ${JSON.stringify({
|
|
17
|
+
const token = `${res.id} // ${JSON.stringify({
|
|
18
|
+
payment_method_id: window.mpPaymentMethodId,
|
|
19
|
+
issuer,
|
|
20
|
+
deviceId: window.MP_DEVICE_SESSION_ID || 0
|
|
21
|
+
})}`;
|
|
18
22
|
return resolve(token);
|
|
19
23
|
});
|
|
20
24
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.Mercadopago.getIdentificationTypes(),window._mpHash=function(t){return new Promise((o,e)=>{window._mpBrand(t.number).then(()=>{return c=t,new Promise((n,o)=>{var e,t,r=window.storefrontApp["customer"],a={},d=(a.cardNumber=c.number,a.cardholderName=c.name,a.cardExpirationMonth=c.month,a.cardExpirationYear=c.year,a.securityCode=c.cvc,c.doc?a.docNumber=c.doc:a.docNumber=r.doc_number,a.email=r.main_email,a.payment_method_id=window.mpPaymentMethodId,document.createElement("form"));for(const s in a)a[s]&&(e=a[s],(t=document.createElement("input")).setAttribute("type","text"),t.setAttribute("id",s),t.setAttribute("data-checkout",s),t.setAttribute("value",e),d.appendChild(t));var i=document.createElement("select"),m=(i.setAttribute("data-checkout","docType"),document.createElement("option"));m.text="j"===r.registry_type?"CNPJ":"CPF",m.value="j"===r.registry_type?"CNPJ":"CPF",m.setAttribute("selected",!0),i.add(m),d.appendChild(i),window.Mercadopago.createToken(d,(e,t)=>{(200===e?n:o)(t)})});var c}).then(n=>{window.Mercadopago.getIssuers(window.mpPaymentMethodId,(e,t)=>{console.log(t);t=n.id+" // "+JSON.stringify({payment_method_id:window.mpPaymentMethodId,issuer:t});return o(t)})}).catch(e)})},window._mpInstallments=function(t){return new Promise((r,a)=>{window._mpBrand(t.number).then(e=>{e={payment_method_id:e,amount:t.amount};return window.Mercadopago.getInstallments(e,(e,t)=>{if(200===e){var n=[];for(let e=0;e<t[0].payer_costs.length;e++){var o=t[0].payer_costs[e];n.push({number:o.installments,tax:0<o.installment_rate,value:o.installment_amount})}r(n)}else console.log("installments method info error:",response),a(response)})}).catch(a)})},window._mpBrand=function(t){return new Promise((n,o)=>{let e=String(t);if(6<=(e=e.substring(0,6)).length)return window.Mercadopago.getPaymentMethod({bin:e},(e,t)=>{200===e?(window.mpPaymentMethodId=t[0].id,n(t[0].id)):(console.log("payment method info error:",t),o(t))});o(new Error("Failed trying installments with card number yet imcomplete"))})};
|
|
1
|
+
window.Mercadopago.getIdentificationTypes(),window._mpHash=function(t){return new Promise((o,e)=>{window._mpBrand(t.number).then(()=>{return c=t,new Promise((n,o)=>{var e,t,r=window.storefrontApp["customer"],a={},d=(a.cardNumber=c.number,a.cardholderName=c.name,a.cardExpirationMonth=c.month,a.cardExpirationYear=c.year,a.securityCode=c.cvc,c.doc?a.docNumber=c.doc:a.docNumber=r.doc_number,a.email=r.main_email,a.payment_method_id=window.mpPaymentMethodId,document.createElement("form"));for(const s in a)a[s]&&(e=a[s],(t=document.createElement("input")).setAttribute("type","text"),t.setAttribute("id",s),t.setAttribute("data-checkout",s),t.setAttribute("value",e),d.appendChild(t));var i=document.createElement("select"),m=(i.setAttribute("data-checkout","docType"),document.createElement("option"));m.text="j"===r.registry_type?"CNPJ":"CPF",m.value="j"===r.registry_type?"CNPJ":"CPF",m.setAttribute("selected",!0),i.add(m),d.appendChild(i),window.Mercadopago.createToken(d,(e,t)=>{(200===e?n:o)(t)})});var c}).then(n=>{window.Mercadopago.getIssuers(window.mpPaymentMethodId,(e,t)=>{console.log(t);t=n.id+" // "+JSON.stringify({payment_method_id:window.mpPaymentMethodId,issuer:t,deviceId:window.MP_DEVICE_SESSION_ID||0});return o(t)})}).catch(e)})},window._mpInstallments=function(t){return new Promise((r,a)=>{window._mpBrand(t.number).then(e=>{e={payment_method_id:e,amount:t.amount};return window.Mercadopago.getInstallments(e,(e,t)=>{if(200===e){var n=[];for(let e=0;e<t[0].payer_costs.length;e++){var o=t[0].payer_costs[e];n.push({number:o.installments,tax:0<o.installment_rate,value:o.installment_amount})}r(n)}else console.log("installments method info error:",response),a(response)})}).catch(a)})},window._mpBrand=function(t){return new Promise((n,o)=>{let e=String(t);if(6<=(e=e.substring(0,6)).length)return window.Mercadopago.getPaymentMethod({bin:e},(e,t)=>{200===e?(window.mpPaymentMethodId=t[0].id,n(t[0].id)):(console.log("payment method info error:",t),o(t))});o(new Error("Failed trying installments with card number yet imcomplete"))})};
|
|
@@ -28,12 +28,15 @@ export default async (appData) => {
|
|
|
28
28
|
const notificationUrl = `${baseUri}/mercadopago-webhook`;
|
|
29
29
|
let token;
|
|
30
30
|
let paymentMethodId;
|
|
31
|
+
let deviceId;
|
|
31
32
|
const isPix = params.payment_method.code === 'account_deposit';
|
|
32
33
|
if (params.credit_card && params.credit_card.hash) {
|
|
33
34
|
const hashParts = params.credit_card.hash.split(' // ');
|
|
34
35
|
[token] = hashParts;
|
|
35
36
|
try {
|
|
36
|
-
|
|
37
|
+
const parsed = JSON.parse(hashParts[1]);
|
|
38
|
+
paymentMethodId = parsed.payment_method_id;
|
|
39
|
+
deviceId = parsed.deviceId;
|
|
37
40
|
} catch (e) {
|
|
38
41
|
paymentMethodId = params.credit_card.company || 'visa';
|
|
39
42
|
}
|
|
@@ -142,14 +145,18 @@ export default async (appData) => {
|
|
|
142
145
|
}
|
|
143
146
|
}
|
|
144
147
|
try {
|
|
148
|
+
const headers = {
|
|
149
|
+
Authorization: `Bearer ${process.env.MERCADOPAGO_TOKEN}`,
|
|
150
|
+
'Content-Type': 'application/json',
|
|
151
|
+
};
|
|
152
|
+
if (deviceId) {
|
|
153
|
+
Object.assign(headers, { 'X-meli-session-id': deviceId });
|
|
154
|
+
}
|
|
145
155
|
// https://www.mercadopago.com.br/developers/pt/reference/payments/_payments/post
|
|
146
156
|
const { data } = await axios({
|
|
147
157
|
url: 'https://api.mercadopago.com/v1/payments',
|
|
148
158
|
method: 'post',
|
|
149
|
-
headers
|
|
150
|
-
Authorization: `Bearer ${process.env.MERCADOPAGO_TOKEN}`,
|
|
151
|
-
'Content-Type': 'application/json',
|
|
152
|
-
},
|
|
159
|
+
headers,
|
|
153
160
|
data: payment,
|
|
154
161
|
});
|
|
155
162
|
if (data) {
|
|
@@ -235,7 +242,10 @@ export default async (appData) => {
|
|
|
235
242
|
const qrCodeBase64 = data.point_of_interaction.transaction_data.qr_code_base64;
|
|
236
243
|
transaction.notes = '<div style="display:block;margin:0 auto"> '
|
|
237
244
|
+ `<img width="280" height="280" style="margin:5px auto" src='data:image/jpeg;base64,${qrCodeBase64}'/> `
|
|
238
|
-
+ `<
|
|
245
|
+
+ `<input readonly type="text" id="pix-copy" value="${qrCode}" />`
|
|
246
|
+
+ `<button type="button" class="btn btn-sm btn-light" onclick="let codePix = document.getElementById('pix-copy')
|
|
247
|
+
codePix.select()
|
|
248
|
+
document.execCommand('copy')">Copiar Pix</button></div>`;
|
|
239
249
|
}
|
|
240
250
|
return {
|
|
241
251
|
status: 200,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mp-create-transaction.js","sourceRoot":"","sources":["../src/mp-create-transaction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC5C,QAAQ,MAAM,EAAE;QACd,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,gBAAgB,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,OAAsB,EAAE,EAAE;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC;IAC5D,MAAM,OAAO,GAAG,WAAW,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,qBAAqB,CAAC;IACzF,iDAAiD;IACjD,4BAA4B;IAC5B,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAiC,CAAC;IACzD,yBAAyB;IACzB,MAAM,SAAS,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,eAAe,GAAG,GAAG,OAAO,sBAAsB,CAAC;IAEzD,IAAI,KAAyB,CAAC;IAC9B,IAAI,eAAuB,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,iBAAiB,CAAC;IAC/D,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QACpB,IAAI;YACF,
|
|
1
|
+
{"version":3,"file":"mp-create-transaction.js","sourceRoot":"","sources":["../src/mp-create-transaction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC5C,QAAQ,MAAM,EAAE;QACd,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,gBAAgB,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,OAAsB,EAAE,EAAE;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC;IAC5D,MAAM,OAAO,GAAG,WAAW,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,qBAAqB,CAAC;IACzF,iDAAiD;IACjD,4BAA4B;IAC5B,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAiC,CAAC;IACzD,yBAAyB;IACzB,MAAM,SAAS,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,eAAe,GAAG,GAAG,OAAO,sBAAsB,CAAC;IAEzD,IAAI,KAAyB,CAAC;IAC9B,IAAI,eAAuB,CAAC;IAC5B,IAAI,QAAQ,CAAC;IACb,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,iBAAiB,CAAC;IAC/D,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QACpB,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAC3C,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;SAC5B;QAAC,OAAO,CAAC,EAAE;YACV,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC;SACxD;KACF;SAAM,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,gBAAgB,EAAE;QAC1D,eAAe,GAAG,aAAa,CAAC;KACjC;SAAM,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,iBAAiB,EAAE;QAC3D,eAAe,GAAG,KAAK,CAAC;KACzB;SAAM;QACL,OAAO;YACL,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,8BAA8B;SACxC,CAAC;KACH;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnD,kFAAkF;IAClF,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;KAC5C,CAAC;IACF,MAAM,cAAc,GAA2B;QAC7C,KAAK,EAAE,EAAE;QACT,KAAK,EAAE;YACL,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YACjD,KAAK,EAAE,UAAU;SAClB;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE;QACjC,cAAc,CAAC,SAAS,GAAG;YACzB,gBAAgB,EAAE;gBAChB,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG;gBACvB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM;gBAC7B,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC;aACrC;SACF,CAAC;KACH;IACD,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE;QAC3D,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG;YAC7B,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG;YACpC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;YAC1C,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC;SAClD,CAAC;KACH;SAAM,IAAI,cAAc,CAAC,SAAS,EAAE;QACnC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC;KAC1E;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC/B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxB,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU;gBACpD,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG;gBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG;gBAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,YAAY,GAAG;QACnB,GAAG,KAAK;QACR,GAAG,MAAM,CAAC,KAAK;KAChB,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAC/B,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YACxC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;SACpC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YACxD,cAAc,EAAE;gBACd,IAAI,EAAE,YAAY,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBACzD,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;aACxC;SACF;QACD,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;QAC/C,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;QACvC,WAAW,EAAE,WAAW,MAAM,CAAC,YAAY,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QACnF,iBAAiB,EAAE,eAAe;QAClC,KAAK;QACL,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,GAAG,MAAM,CAAC,MAAM,cAAc;QACtF,YAAY,EAAE,MAAM,CAAC,mBAAmB,IAAI,CAAC;QAC7C,gBAAgB,EAAE,eAAe;QACjC,eAAe,EAAE,cAAc;QAC/B,QAAQ,EAAE;YACR,aAAa,EAAE,OAAO;YACtB,aAAa,EAAE,OAAO;SACvB;KACF,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAClC,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC;QAChD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,EAAE;YACtD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC;SAC/C;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,wBAAwB;gBAC/B,OAAO,EAAE,mEAAmE;aAC7E,CAAC;SACH;KACF;IAED,IAAI;QACF,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACxD,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC3D;QAED,iFAAiF;QACjF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC;YAC3B,GAAG,EAAE,yCAAyC;YAC9C,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QACH,IAAI,IAAI,EAAE;YACR,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEhD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACrC,YAAY,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC;yBAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBACpB,GAAG,CAAC;wBACH,gBAAgB,EAAE,IAAI,CAAC,EAAE;wBACzB,QAAQ,EAAE,OAAO;wBACjB,QAAQ,EAAE,OAAO;wBACjB,MAAM,EAAE,aAAa;wBACrB,aAAa,EAAE,eAAe;wBAC9B,eAAe;qBAChB,EAAE;wBACD,KAAK,EAAE,IAAI;qBACZ,CAAC;yBACD,IAAI,CAAC,GAAG,EAAE;wBACT,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACb,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;4BACnC,WAAW,GAAG,IAAI,CAAC;4BACnB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;yBAC3B;6BAAM;4BACL,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;4BACtC,MAAM,CAAC,GAAG,CAAC,CAAC;yBACb;oBACH,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACF,MAAM,QAAQ,EAAE,CAAC;YAEjB,MAAM,WAAW,GAA6C;gBAC5D,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB;gBAClD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE;oBACb,cAAc,EAAE;wBACd,IAAI,EAAE,eAAe,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI;qBACpD;oBACD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,qBAAqB,EAAE,IAAI,CAAC,kBAAkB;iBAC/C;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,aAAa;iBACvB;aACF,CAAC;YAEF,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,aAAa,EAAE;gBAChD,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,WAAW,CAAC,WAAW,GAAG;wBACxB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;wBACtC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;wBACvC,KAAK;qBACN,CAAC;iBACH;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,WAAW,CAAC,YAAY,GAAG;wBACzB,MAAM,EAAE,IAAI,CAAC,YAAY;wBACzB,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;wBAC3E,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB;wBACjD,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB;qBACnD,CAAC;iBACH;aACF;iBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB;mBACxC,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,EAAE;gBACnD,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;gBAC1E,WAAW,CAAC,cAAc,GAAG;oBAC3B,IAAI,EAAE,WAAW,CAAC,YAAY;iBAC/B,CAAC;gBACF,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAC3B,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACxD,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;wBAC/B,WAAW,CAAC,cAAc,CAAC,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;qBACrE;iBACF;aACF;iBAAM,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE;gBAC3F,2JAA2J;gBAC3J,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAClE,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,cAAc,CAAC;gBAC/E,WAAW,CAAC,KAAK,GAAG,4CAA4C;sBAC9D,qFAAqF,YAAY,MAAM;sBACvG,oDAAoD,MAAM,MAAM;sBAChE;;gEAEsD,CAAC;aAC1D;YAED,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,mBAAmB,EAAE,KAAK;gBAC1B,WAAW;aACZ,CAAC;SACH;QACD,OAAO;YACL,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,2BAA2B,OAAO,MAAM,OAAO,qBAAqB;SAC9E,CAAC;KACH;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACxB,EAAE;QACF,MAAM,GAAG,GAAG;YACV,OAAO,EAAE,2BAA2B,OAAO,MAAM,OAAO,OAAO,OAAO,EAAE;YACxE,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;YACxC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;gBACpC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE;oBACpC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACrC;qBAAM;oBACL,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACrB;gBACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;oBACpD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;iBACxB;aACF;SACF;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO;YACL,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,wBAAwB;YAC/B,OAAO;SACR,CAAC;KACH;AACH,CAAC,CAAC;AAEF,OAAO,EACL,kBAAkB,GACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/app-mercadopago",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.28.0",
|
|
5
5
|
"description": "E-Com Plus Cloud Commerce app to integrate Mercado Pago",
|
|
6
6
|
"main": "lib/mercadopago.js",
|
|
7
7
|
"exports": {
|
|
@@ -20,16 +20,16 @@
|
|
|
20
20
|
},
|
|
21
21
|
"homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/packages/apps/mercadopago#readme",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"axios": "^1.5.
|
|
24
|
-
"firebase-admin": "^11.
|
|
23
|
+
"axios": "^1.5.1",
|
|
24
|
+
"firebase-admin": "^11.11.0",
|
|
25
25
|
"firebase-functions": "^4.4.1",
|
|
26
|
-
"@cloudcommerce/
|
|
27
|
-
"@cloudcommerce/
|
|
26
|
+
"@cloudcommerce/firebase": "0.28.0",
|
|
27
|
+
"@cloudcommerce/api": "0.28.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@firebase/app-types": "^0.9.0",
|
|
31
|
-
"@cloudcommerce/test-base": "0.
|
|
32
|
-
"@cloudcommerce/types": "0.
|
|
31
|
+
"@cloudcommerce/test-base": "0.28.0",
|
|
32
|
+
"@cloudcommerce/types": "0.28.0"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "bash scripts/build.sh",
|
|
@@ -34,12 +34,15 @@ export default async (appData: AppModuleBody) => {
|
|
|
34
34
|
|
|
35
35
|
let token: string | undefined;
|
|
36
36
|
let paymentMethodId: string;
|
|
37
|
+
let deviceId;
|
|
37
38
|
const isPix = params.payment_method.code === 'account_deposit';
|
|
38
39
|
if (params.credit_card && params.credit_card.hash) {
|
|
39
40
|
const hashParts = params.credit_card.hash.split(' // ');
|
|
40
41
|
[token] = hashParts;
|
|
41
42
|
try {
|
|
42
|
-
|
|
43
|
+
const parsed = JSON.parse(hashParts[1]);
|
|
44
|
+
paymentMethodId = parsed.payment_method_id;
|
|
45
|
+
deviceId = parsed.deviceId;
|
|
43
46
|
} catch (e) {
|
|
44
47
|
paymentMethodId = params.credit_card.company || 'visa';
|
|
45
48
|
}
|
|
@@ -159,14 +162,20 @@ export default async (appData: AppModuleBody) => {
|
|
|
159
162
|
}
|
|
160
163
|
|
|
161
164
|
try {
|
|
165
|
+
const headers = {
|
|
166
|
+
Authorization: `Bearer ${process.env.MERCADOPAGO_TOKEN}`,
|
|
167
|
+
'Content-Type': 'application/json',
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
if (deviceId) {
|
|
171
|
+
Object.assign(headers, { 'X-meli-session-id': deviceId });
|
|
172
|
+
}
|
|
173
|
+
|
|
162
174
|
// https://www.mercadopago.com.br/developers/pt/reference/payments/_payments/post
|
|
163
175
|
const { data } = await axios({
|
|
164
176
|
url: 'https://api.mercadopago.com/v1/payments',
|
|
165
177
|
method: 'post',
|
|
166
|
-
headers
|
|
167
|
-
Authorization: `Bearer ${process.env.MERCADOPAGO_TOKEN}`,
|
|
168
|
-
'Content-Type': 'application/json',
|
|
169
|
-
},
|
|
178
|
+
headers,
|
|
170
179
|
data: payment,
|
|
171
180
|
});
|
|
172
181
|
if (data) {
|
|
@@ -254,8 +263,11 @@ export default async (appData: AppModuleBody) => {
|
|
|
254
263
|
const qrCode = data.point_of_interaction.transaction_data.qr_code;
|
|
255
264
|
const qrCodeBase64 = data.point_of_interaction.transaction_data.qr_code_base64;
|
|
256
265
|
transaction.notes = '<div style="display:block;margin:0 auto"> '
|
|
257
|
-
|
|
258
|
-
|
|
266
|
+
+ `<img width="280" height="280" style="margin:5px auto" src='data:image/jpeg;base64,${qrCodeBase64}'/> `
|
|
267
|
+
+ `<input readonly type="text" id="pix-copy" value="${qrCode}" />`
|
|
268
|
+
+ `<button type="button" class="btn btn-sm btn-light" onclick="let codePix = document.getElementById('pix-copy')
|
|
269
|
+
codePix.select()
|
|
270
|
+
document.execCommand('copy')">Copiar Pix</button></div>`;
|
|
259
271
|
}
|
|
260
272
|
|
|
261
273
|
return {
|