@facturacr/atv-sdk 1.2.6 → 1.2.8
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/dist/src/ATV/index.d.ts +4 -8
- package/dist/src/ATV/index.js +7 -8
- package/dist/src/ATV/index.js.map +1 -1
- package/dist/src/ATV/mappers/billDocToAtv.js +4 -4
- package/dist/src/ATV/mappers/billDocToAtv.js.map +1 -1
- package/examples/createAndSend.ts +4 -2
- package/package.json +1 -1
- package/src/ATV/index.ts +7 -8
- package/src/ATV/mappers/billDocToAtv.ts +5 -5
package/dist/src/ATV/index.d.ts
CHANGED
|
@@ -19,20 +19,16 @@ export declare class ATV {
|
|
|
19
19
|
sendDocument(input: Command): Promise<SendResponse>;
|
|
20
20
|
sendConfirmation(input: SendConfirmationInput): Promise<{
|
|
21
21
|
status: number;
|
|
22
|
-
|
|
23
|
-
errorCause: any;
|
|
24
|
-
confirmation?: undefined;
|
|
25
|
-
xml?: undefined;
|
|
26
|
-
} | {
|
|
27
|
-
status: number;
|
|
22
|
+
headerResultState: any;
|
|
28
23
|
confirmation: ConfirmationMessage;
|
|
29
24
|
xml: string;
|
|
25
|
+
rawResponse: import("axios").AxiosResponse<import("axios").AxiosResponse<any, any>, any>;
|
|
30
26
|
errorCause: any;
|
|
31
|
-
state?: undefined;
|
|
32
27
|
} | {
|
|
33
28
|
status: any;
|
|
34
29
|
errorCause: any;
|
|
35
|
-
|
|
30
|
+
rawResponse: any;
|
|
31
|
+
headerResultState?: undefined;
|
|
36
32
|
confirmation?: undefined;
|
|
37
33
|
xml?: undefined;
|
|
38
34
|
}>;
|
package/dist/src/ATV/index.js
CHANGED
|
@@ -86,27 +86,26 @@ class ATV {
|
|
|
86
86
|
try {
|
|
87
87
|
const response = yield (0, axios_1.default)(input);
|
|
88
88
|
const xmlResponse = response.data['respuesta-xml'];
|
|
89
|
+
const headerResultState = response.data['ind-estado'];
|
|
89
90
|
if (!xmlResponse) {
|
|
90
|
-
|
|
91
|
-
return {
|
|
92
|
-
status: response.status,
|
|
93
|
-
state,
|
|
94
|
-
errorCause: null
|
|
95
|
-
};
|
|
91
|
+
throw new Error('NO_XML_IN_RESPONSE');
|
|
96
92
|
}
|
|
97
93
|
const xmlString = this.decodeBase64(xmlResponse);
|
|
98
94
|
return {
|
|
99
95
|
status: response.status,
|
|
96
|
+
headerResultState,
|
|
100
97
|
confirmation: this.parseConfirmationMessage(xmlString),
|
|
101
98
|
xml: xmlString,
|
|
102
|
-
|
|
99
|
+
rawResponse: response,
|
|
100
|
+
errorCause: null,
|
|
103
101
|
};
|
|
104
102
|
}
|
|
105
103
|
catch (error) {
|
|
106
104
|
const response = error.response || {};
|
|
107
105
|
return {
|
|
108
106
|
status: response.status || 500,
|
|
109
|
-
errorCause: response.statusText
|
|
107
|
+
errorCause: response.statusText || error.message,
|
|
108
|
+
rawResponse: response,
|
|
110
109
|
};
|
|
111
110
|
}
|
|
112
111
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ATV/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,4DAAwD;AAExD,wDAAyC;AACzC,8DAA4B;AAI5B,8DAAiE;AAEjE,4EAAkH;AAElH,MAAa,GAAG;IAEd,YAAY,OAAoB,EAAkB,OAAa,MAAM;QAAnB,SAAI,GAAJ,IAAI,CAAe;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,QAAQ,CAAC,MAAmB;QACjC,MAAM,YAAY,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAEM,qBAAqB,CAAC,KAA0B;QACrD,MAAM,cAAc,GAAG,IAAI,sCAAqB,CAAC,IAAI,CAAC,CAAA;QACtD,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAEM,qBAAqB,CAAC,KAAwC;QACnE,MAAM,OAAO,GAAG,IAAI,oDAA4B,CAAC,IAAI,CAAC,CAAA;QACtD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAEY,YAAY,CAAC,KAAc;;YACtC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,KAAK,CAAC,CAAA;gBACnC,OAAO;oBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;oBACnC,UAAU,EAAE,IAAI;iBACjB,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAA;gBACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;gBACrC,OAAO;oBACL,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG;oBACpC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC;oBACnC,QAAQ,EAAE,IAAI;iBACf,CAAA;YACH,CAAC;QACH,CAAC;KAAA;IAED,4EAA4E;IAC/D,gBAAgB,CAAC,KAA4B;;YACxD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,KAAK,CAAC,CAAA;gBACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAClD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ATV/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mapReceptorMessageToAtvFormat = exports.mapDocumentToAtvFormat = void 0;
|
|
4
|
+
const parseAtvMoneyFormat = (amount) => {
|
|
5
|
+
return parseFloat(amount.toFixed(5));
|
|
6
|
+
};
|
|
4
7
|
const mapOrderLinesToAtvFormat = (orderLines) => {
|
|
5
8
|
const LineaDetalle = orderLines.map((orderLine) => {
|
|
6
9
|
return {
|
|
@@ -20,7 +23,7 @@ const mapOrderLinesToAtvFormat = (orderLines) => {
|
|
|
20
23
|
Codigo: orderLine.tax.code,
|
|
21
24
|
CodigoTarifa: orderLine.tax.rateCode,
|
|
22
25
|
Tarifa: orderLine.tax.rate,
|
|
23
|
-
Monto: orderLine.tax.amount
|
|
26
|
+
Monto: parseAtvMoneyFormat(orderLine.tax.amount)
|
|
24
27
|
},
|
|
25
28
|
// ImpuestoNeto
|
|
26
29
|
MontoTotalLinea: orderLine.totalOrderLineAmount
|
|
@@ -28,9 +31,6 @@ const mapOrderLinesToAtvFormat = (orderLines) => {
|
|
|
28
31
|
});
|
|
29
32
|
return { LineaDetalle };
|
|
30
33
|
};
|
|
31
|
-
const parseAtvMoneyFormat = (amount) => {
|
|
32
|
-
return parseFloat(amount.toFixed(5));
|
|
33
|
-
};
|
|
34
34
|
const mapSummaryInvoice = (summaryInvoice) => {
|
|
35
35
|
return {
|
|
36
36
|
CodigoTipoMoneda: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billDocToAtv.js","sourceRoot":"","sources":["../../../../src/ATV/mappers/billDocToAtv.ts"],"names":[],"mappings":";;;AASA,MAAM,wBAAwB,GAAG,CAAC,UAAuB,EAAmB,EAAE;IAC5E,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAqC,CAAC,SAAS,EAAE,EAAE;QACpF,OAAO;YACL,WAAW,EAAE,SAAS,CAAC,UAAU;YACjC,MAAM,EAAE,SAAS,CAAC,IAAI;YACtB,kBAAkB;YAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,YAAY,EAAE,SAAS,CAAC,WAAW;YACnC,wBAAwB;YACxB,OAAO,EAAE,SAAS,CAAC,MAAM;YACzB,cAAc,EAAE,SAAS,CAAC,YAAY;YACtC,UAAU,EAAE,SAAS,CAAC,WAAW;YACjC,YAAY;YACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,gBAAgB;YAChB,QAAQ,EAAE;gBACR,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI;gBAC1B,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ;gBACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI;gBAC1B,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"billDocToAtv.js","sourceRoot":"","sources":["../../../../src/ATV/mappers/billDocToAtv.ts"],"names":[],"mappings":";;;AASA,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,UAAuB,EAAmB,EAAE;IAC5E,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAqC,CAAC,SAAS,EAAE,EAAE;QACpF,OAAO;YACL,WAAW,EAAE,SAAS,CAAC,UAAU;YACjC,MAAM,EAAE,SAAS,CAAC,IAAI;YACtB,kBAAkB;YAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,YAAY,EAAE,SAAS,CAAC,WAAW;YACnC,wBAAwB;YACxB,OAAO,EAAE,SAAS,CAAC,MAAM;YACzB,cAAc,EAAE,SAAS,CAAC,YAAY;YACtC,UAAU,EAAE,SAAS,CAAC,WAAW;YACjC,YAAY;YACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,gBAAgB;YAChB,QAAQ,EAAE;gBACR,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI;gBAC1B,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ;gBACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI;gBAC1B,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;aACjD;YACD,eAAe;YACf,eAAe,EAAE,SAAS,CAAC,oBAAoB;SAChD,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,YAAY,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,cAAgD,EAAW,EAAE;IACtF,OAAO;QACL,gBAAgB,EAAE;YAChB,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI;YAC1C,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,YAAY;SACjD;QACD,iBAAiB,EAAE,mBAAmB,CAAC,cAAc,CAAC,uBAAuB,CAAC;QAC9E,gBAAgB,EAAE,mBAAmB,CAAC,cAAc,CAAC,mBAAmB,CAAC;QACzE,uBAAuB,EAAE,mBAAmB,CAAC,cAAc,CAAC,0BAA0B,CAAC;QACvF,sBAAsB,EAAE,mBAAmB,CAAC,cAAc,CAAC,sBAAsB,CAAC;QAClF,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC;QACjE,WAAW,EAAE,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC;QAC5D,cAAc,EAAE,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC;QACnE,UAAU,EAAE,mBAAmB,CAAC,cAAc,CAAC,SAAS,CAAC;QACzD,eAAe,EAAE,mBAAmB,CAAC,cAAc,CAAC,cAAc,CAAC;QACnE,cAAc,EAAE,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC;QAChE,aAAa,EAAE,mBAAmB,CAAC,cAAc,CAAC,UAAU,CAAC;QAC7D,gBAAgB,EAAE,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC;KACnE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE;;IAC5C,MAAM,SAAS,GAAG;QAChB,MAAM,EAAE,MAAM,CAAC,QAAQ;QACvB,cAAc,EAAE;YACd,IAAI,EAAE,MAAM,CAAC,cAAc;YAC3B,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B;QACD,eAAe,EAAE,MAAM,CAAC,cAAc;QACtC,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;QACnB,GAAG,EAAE,SAAS;QACd,iBAAiB,EAAE,SAAS;KAC7B,CAAA;IACD,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,SAAS,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ;QACpC,MAAM,EAAE,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,MAAM,0CAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACjD,QAAQ,EAAE,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ,0CAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACrD,MAAM,EAAE,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,YAAY,0CAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACvD,UAAU,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,OAAO;KACrC,CAAC,CAAC,CAAC,SAAS,CAAA;IACb,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,UAAU,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,WAAW;QACrC,WAAW,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,MAAM;KAClC,CAAC,CAAC,CAAC,SAAS,CAAA;IACb,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,UAAU,EAAE,MAAA,MAAM,CAAC,GAAG,0CAAE,WAAW;QACnC,WAAW,EAAE,MAAA,MAAM,CAAC,GAAG,0CAAE,MAAM;KAChC,CAAC,CAAC,CAAC,SAAS,CAAA;IACb,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAA;IAC1C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,aAAmC,EAAyB,EAAE;IAC7F,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,MAAM,EAAE,aAAa,CAAC,SAAS;QAC/B,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE;QACnD,MAAM,EAAE,aAAa,CAAC,IAAI;QAC1B,KAAK,EAAE,aAAa,CAAC,MAAM;KAC5B,CAAA;AACH,CAAC,CAAA;AAEM,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,QAAwB,EAAa,EAAE;IAC7F,MAAM,GAAG,GAAG,OAAO,CAAA;IACnB,MAAM,GAAG,GAAa;QACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACvD,iBAAiB,EAAE,QAAQ,CAAC,eAAe;QAC3C,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;QAC9C,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,cAAc,EAAE,QAAQ,CAAC,aAAa;QACtC,YAAY,EAAE,QAAQ,CAAC,cAAc;QACrC,SAAS,EAAE,QAAQ,CAAC,aAAa;QACjC,eAAe,EAAE,wBAAwB,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9D,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC1D,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,CAAA;IACD,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClC,GAAG,CAAC,qBAAqB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACrF,CAAC;IACD,OAAO;QACL,CAAC,GAAG,CAAC,EAAE,GAAG;KACX,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,sBAAsB,0BAsBlC;AAEM,MAAM,6BAA6B,GAAG,CAAC,KAA2B,EAAa,EAAE;IACtF,OAAO;QACL,eAAe,EAAE;YACf,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,kBAAkB,EAAE,KAAK,CAAC,iBAAiB;YAC3C,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACtD,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,qDAAqD;YAChG,cAAc,EAAE,KAAK,CAAC,uBAAuB;YAC7C,kBAAkB,EAAE,KAAK,CAAC,UAAU;YACpC,eAAe,EAAE,KAAK,CAAC,YAAY;YACnC,iBAAiB,EAAE,KAAK,CAAC,YAAY;YACrC,0BAA0B,EAAE,KAAK,CAAC,SAAS,EAAE,yEAAyE;YACtH,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,yCAAyC;YACxE,oBAAoB,EAAE,KAAK,CAAC,kBAAkB;YAC9C,yBAAyB,EAAE,KAAK,CAAC,mBAAmB;SACrD;KACF,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,6BAA6B,iCAiBzC"}
|
|
@@ -7,7 +7,6 @@ import { PersonProps } from 'dist/src/ATV/core/Person'
|
|
|
7
7
|
const IS_STG = process.env.IS_STG
|
|
8
8
|
const USERNAME_TEST = process.env.USERNAME_TEST
|
|
9
9
|
const PASSWORD_TEST = process.env.PASSWORD_TEST
|
|
10
|
-
console.log('process.env.IS_STG', IS_STG)
|
|
11
10
|
|
|
12
11
|
const SOURCE_P12_URI = process.env.SOURCE_P12_URI
|
|
13
12
|
const SOURCE_P12_PASSPORT = process.env.SOURCE_P12_PASSPORT
|
|
@@ -18,8 +17,11 @@ if (!SOURCE_P12_PASSPORT || !SOURCE_P12_URI) {
|
|
|
18
17
|
|
|
19
18
|
const pem = fs.readFileSync(SOURCE_P12_URI, 'binary')
|
|
20
19
|
|
|
20
|
+
const paramConsecutive = process.argv[2]
|
|
21
|
+
console.log('paramConsecutive', paramConsecutive)
|
|
22
|
+
|
|
21
23
|
// TODO: dynamic param --identifier 1 args[x]
|
|
22
|
-
createDocumentInputExample.consecutiveIdentifier = process.env.TEST_CONSECUTIVE
|
|
24
|
+
createDocumentInputExample.consecutiveIdentifier = paramConsecutive || process.env.TEST_CONSECUTIVE
|
|
23
25
|
createDocumentInputExample.emitter.identifier.id = process.env.EMITTER_IDENTIFIER_ID as string;
|
|
24
26
|
createDocumentInputExample.emitter.identifier.type = process.env.EMITTER_IDENTIFIER_TYPE as PersonProps['identifier']['type'];
|
|
25
27
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@facturacr/atv-sdk",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.8",
|
|
4
4
|
"description": "Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
package/src/ATV/index.ts
CHANGED
|
@@ -55,27 +55,26 @@ export class ATV {
|
|
|
55
55
|
try {
|
|
56
56
|
const response = await axios(input)
|
|
57
57
|
const xmlResponse = response.data['respuesta-xml']
|
|
58
|
+
const headerResultState = response.data['ind-estado']
|
|
58
59
|
if (!xmlResponse) {
|
|
59
|
-
|
|
60
|
-
return {
|
|
61
|
-
status: response.status,
|
|
62
|
-
state,
|
|
63
|
-
errorCause: null
|
|
64
|
-
}
|
|
60
|
+
throw new Error('NO_XML_IN_RESPONSE')
|
|
65
61
|
}
|
|
66
62
|
const xmlString = this.decodeBase64(xmlResponse)
|
|
67
63
|
|
|
68
64
|
return {
|
|
69
65
|
status: response.status,
|
|
66
|
+
headerResultState,
|
|
70
67
|
confirmation: this.parseConfirmationMessage(xmlString),
|
|
71
68
|
xml: xmlString,
|
|
72
|
-
|
|
69
|
+
rawResponse: response,
|
|
70
|
+
errorCause: null,
|
|
73
71
|
}
|
|
74
72
|
} catch (error) {
|
|
75
73
|
const response = error.response || {}
|
|
76
74
|
return {
|
|
77
75
|
status: response.status || 500,
|
|
78
|
-
errorCause: response.statusText
|
|
76
|
+
errorCause: response.statusText || error.message,
|
|
77
|
+
rawResponse: response,
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
}
|
|
@@ -7,6 +7,10 @@ import { ReceptorMessageProps } from '../core/types'
|
|
|
7
7
|
|
|
8
8
|
type AtvFormat = InvoiceDocumentContainer
|
|
9
9
|
|
|
10
|
+
const parseAtvMoneyFormat = (amount: number) => {
|
|
11
|
+
return parseFloat(amount.toFixed(5))
|
|
12
|
+
}
|
|
13
|
+
|
|
10
14
|
const mapOrderLinesToAtvFormat = (orderLines: OrderLine[]): DetalleServicio => {
|
|
11
15
|
const LineaDetalle = orderLines.map<DetalleServicio['LineaDetalle'][0]>((orderLine) => {
|
|
12
16
|
return {
|
|
@@ -26,7 +30,7 @@ const mapOrderLinesToAtvFormat = (orderLines: OrderLine[]): DetalleServicio => {
|
|
|
26
30
|
Codigo: orderLine.tax.code,
|
|
27
31
|
CodigoTarifa: orderLine.tax.rateCode,
|
|
28
32
|
Tarifa: orderLine.tax.rate,
|
|
29
|
-
Monto: orderLine.tax.amount
|
|
33
|
+
Monto: parseAtvMoneyFormat(orderLine.tax.amount)
|
|
30
34
|
},
|
|
31
35
|
// ImpuestoNeto
|
|
32
36
|
MontoTotalLinea: orderLine.totalOrderLineAmount
|
|
@@ -35,10 +39,6 @@ const mapOrderLinesToAtvFormat = (orderLines: OrderLine[]): DetalleServicio => {
|
|
|
35
39
|
return { LineaDetalle }
|
|
36
40
|
}
|
|
37
41
|
|
|
38
|
-
const parseAtvMoneyFormat = (amount: number) => {
|
|
39
|
-
return parseFloat(amount.toFixed(5))
|
|
40
|
-
}
|
|
41
|
-
|
|
42
42
|
const mapSummaryInvoice = (summaryInvoice: DomainDocument['summaryInvoice']): Resumen => {
|
|
43
43
|
return {
|
|
44
44
|
CodigoTipoMoneda: {
|