btrz-api-client 8.32.0 → 8.34.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.
Files changed (73) hide show
  1. package/lib/client-standalone-min.js +3 -3
  2. package/lib/client.js +8 -2
  3. package/lib/endpoints/btrzpay/adyen.js +58 -0
  4. package/lib/endpoints/btrzpay/cardpointe.js +6 -3
  5. package/lib/endpoints/btrzpay/customerCards.js +19 -19
  6. package/lib/endpoints/btrzpay/customers.js +13 -13
  7. package/lib/endpoints/btrzpay/cybersource3ds.js +142 -0
  8. package/lib/endpoints/btrzpay/datalogic.js +64 -28
  9. package/lib/endpoints/btrzpay/oxxo.js +54 -28
  10. package/lib/endpoints/btrzpay/prismaTerminals.js +24 -15
  11. package/lib/endpoints/btrzpay/referenced-payments.js +4 -4
  12. package/lib/endpoints/btrzpay/square.js +8 -8
  13. package/lib/endpoints/btrzpay/stripe-terminals.js +16 -11
  14. package/lib/endpoints/btrzpay/stripe3ds.js +54 -0
  15. package/lib/endpoints/btrzpay/terminalPayments.js +19 -19
  16. package/lib/endpoints/coltrane/healthcheck.js +35 -0
  17. package/lib/endpoints/coltrane/info.js +35 -0
  18. package/lib/endpoints/coltrane/paths.js +17 -13
  19. package/lib/endpoints/inventory/segments-information-tables.js +13 -7
  20. package/lib/endpoints/inventory/trip-ids.js +67 -0
  21. package/lib/endpoints/inventory/trips.js +60 -13
  22. package/lib/endpoints/invoices/emails.js +15 -5
  23. package/lib/endpoints/invoices/invoices.js +46 -25
  24. package/lib/endpoints/invoices/pdfs.js +15 -8
  25. package/lib/endpoints/invoices/providers.js +42 -25
  26. package/lib/endpoints/invoices/tax-ids.js +11 -7
  27. package/lib/endpoints/sales/cancellations.js +43 -31
  28. package/lib/endpoints/sales/cart.js +21 -18
  29. package/lib/endpoints/sales/flexpasses.js +2 -5
  30. package/lib/endpoints/sales/order.js +41 -7
  31. package/lib/endpoints/sales/parcel-quotes.js +2 -2
  32. package/package.json +1 -1
  33. package/src/client.js +8 -2
  34. package/src/endpoints/btrzpay/adyen.js +44 -0
  35. package/src/endpoints/btrzpay/cardpointe.js +6 -4
  36. package/src/endpoints/btrzpay/customerCards.js +19 -19
  37. package/src/endpoints/btrzpay/customers.js +13 -13
  38. package/src/endpoints/btrzpay/cybersource3ds.js +114 -0
  39. package/src/endpoints/btrzpay/datalogic.js +63 -28
  40. package/src/endpoints/btrzpay/oxxo.js +53 -26
  41. package/src/endpoints/btrzpay/prismaTerminals.js +24 -15
  42. package/src/endpoints/btrzpay/referenced-payments.js +4 -4
  43. package/src/endpoints/btrzpay/square.js +8 -8
  44. package/src/endpoints/btrzpay/stripe-terminals.js +17 -10
  45. package/src/endpoints/btrzpay/stripe3ds.js +40 -0
  46. package/src/endpoints/btrzpay/terminalPayments.js +19 -19
  47. package/src/endpoints/coltrane/healthcheck.js +28 -0
  48. package/src/endpoints/coltrane/info.js +28 -0
  49. package/src/endpoints/coltrane/paths.js +17 -13
  50. package/src/endpoints/inventory/segments-information-tables.js +13 -7
  51. package/src/endpoints/inventory/trip-ids.js +54 -0
  52. package/src/endpoints/inventory/trips.js +52 -14
  53. package/src/endpoints/invoices/emails.js +15 -5
  54. package/src/endpoints/invoices/invoices.js +46 -25
  55. package/src/endpoints/invoices/pdfs.js +15 -8
  56. package/src/endpoints/invoices/providers.js +42 -25
  57. package/src/endpoints/invoices/tax-ids.js +11 -7
  58. package/src/endpoints/sales/cancellations.js +43 -31
  59. package/src/endpoints/sales/cart.js +20 -18
  60. package/src/endpoints/sales/flexpasses.js +3 -4
  61. package/src/endpoints/sales/order.js +34 -7
  62. package/src/endpoints/sales/parcel-quotes.js +2 -2
  63. package/test/endpoints/btrzpay/adyen.tests.js +27 -0
  64. package/test/endpoints/btrzpay/carpointe.tests.js +14 -0
  65. package/test/endpoints/btrzpay/customerCards.test.js +9 -6
  66. package/test/endpoints/btrzpay/cybersource3ds.tests.js +55 -0
  67. package/test/endpoints/btrzpay/stripe-terminals.tests.js +5 -6
  68. package/test/endpoints/btrzpay/stripe3ds.tests.js +31 -0
  69. package/test/endpoints/coltrane/healthcheck.test.js +13 -0
  70. package/test/endpoints/coltrane/info.test.js +13 -0
  71. package/test/endpoints/inventory/trip-ids.test.js +27 -0
  72. package/test/endpoints/inventory/trips.test.js +19 -14
  73. package/test/endpoints/sales/order.test.js +7 -1
@@ -6,11 +6,31 @@ var _require = require("./../endpoints_helpers.js"),
6
6
  /**
7
7
  * Query params for GET /oxxo/:token/payments (btrz-api-payments). See get-payments-handler getSpec().
8
8
  * @typedef {Object} OxxoPaymentsListQuery
9
- * @property {string} [referenceNumber] - Payment reference number
9
+ * @property {string} referenceNumber - Payment reference number (required)
10
10
  */
11
11
 
12
12
  /**
13
- * Factory for OXXO API (btrz-api-payments).
13
+ * Request body for POST /oxxo/:token/payments/:referenceNumber. PostOxxoPaymentsPayload.
14
+ * @typedef {Object} PostOxxoPaymentsPayload
15
+ * @property {string} ticket - Oxxo sale ticket id
16
+ * @property {number} amount - Amount to pay in cents
17
+ * @property {string} folio - FEMSA transaction id
18
+ * @property {string} store - Store id
19
+ * @property {string} account - Account id (ObjectId)
20
+ */
21
+
22
+ /**
23
+ * Request body for POST /oxxo/:token/reverse/:referenceNumber. PostOxxoReversePayload.
24
+ * @typedef {Object} PostOxxoReversePayload
25
+ * @property {string} ticket - Oxxo sale ticket id
26
+ * @property {number} amount - Amount in cents
27
+ * @property {string} folio - FEMSA transaction id
28
+ * @property {string} store - Store id
29
+ * @property {string} account - Account id (ObjectId)
30
+ */
31
+
32
+ /**
33
+ * Factory for OXXO API (btrz-api-payments). Endpoints are hideInDocumentation; client for internal use.
14
34
  * @param {Object} deps
15
35
  * @param {import("axios").AxiosInstance} deps.client
16
36
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
@@ -20,64 +40,71 @@ var _require = require("./../endpoints_helpers.js"),
20
40
 
21
41
  function oxxoFactory(_ref) {
22
42
  var client = _ref.client,
23
- _internalAuthTokenProvider = _ref.internalAuthTokenProvider;
43
+ internalAuthTokenProvider = _ref.internalAuthTokenProvider;
44
+
45
+ function authProvider(opts) {
46
+ return opts !== undefined && opts !== null ? opts : internalAuthTokenProvider;
47
+ }
24
48
 
25
49
  var token = {
26
50
  /**
27
- * GET /oxxo/token - get OXXO token. API does not accept query params.
51
+ * GET /oxxo/token - get new Oxxo token. No query params.
28
52
  * @param {Object} opts
29
53
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
30
54
  * @param {{ getToken: function(): string }} [opts.internalAuthTokenProvider]
31
55
  * @param {Object} [opts.headers] - Optional request headers
32
- * @returns {Promise<import("axios").AxiosResponse>}
56
+ * @returns {Promise<import("axios").AxiosResponse<{ token: string }>>}
57
+ * GetOxxoTokenResponse. Rejects with 401, 500.
33
58
  */
34
59
  get: function get(_ref2) {
35
60
  var jwtToken = _ref2.jwtToken,
36
61
  headers = _ref2.headers,
37
- internalAuthTokenProvider = _ref2.internalAuthTokenProvider;
62
+ optsAuth = _ref2.internalAuthTokenProvider;
38
63
 
39
64
  return client({
40
65
  url: "/oxxo/token",
41
- headers: authorizationHeaders({ jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
66
+ headers: authorizationHeaders({ jwtToken: jwtToken, internalAuthTokenProvider: authProvider(optsAuth), headers: headers })
42
67
  });
43
68
  }
44
69
  };
45
70
 
46
71
  var payments = {
47
72
  /**
48
- * GET /oxxo/:oxxoToken/payments - list OXXO payments.
73
+ * GET /oxxo/:token/payments - list Oxxo payments by token and reference number.
49
74
  * @param {Object} opts
50
75
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
51
- * @param {string} opts.oxxoToken - OXXO token
52
- * @param {OxxoPaymentsListQuery} [opts.query] - Query params (referenceNumber)
76
+ * @param {string} opts.oxxoToken - Oxxo token
77
+ * @param {OxxoPaymentsListQuery} opts.query - referenceNumber (required)
53
78
  * @param {{ getToken: function(): string }} [opts.internalAuthTokenProvider]
54
79
  * @param {Object} [opts.headers] - Optional request headers
55
- * @returns {Promise<import("axios").AxiosResponse>} GetOxxoPaymentsResponse; 400 ERROR_GETTING_PAYMENT_METHODS
80
+ * @returns {Promise<import("axios").AxiosResponse<{ payments: Array }>>}
81
+ * GetOxxoPaymentsResponse. Rejects with 400 (ERROR_GETTING_PAYMENT_METHODS, OXXO_PAY_NOT_ENABLED), 401, 500.
56
82
  */
57
83
  all: function all(_ref3) {
58
84
  var jwtToken = _ref3.jwtToken,
59
85
  headers = _ref3.headers,
60
86
  oxxoToken = _ref3.oxxoToken,
61
87
  query = _ref3.query,
62
- internalAuthTokenProvider = _ref3.internalAuthTokenProvider;
88
+ optsAuth = _ref3.internalAuthTokenProvider;
63
89
 
64
90
  return client({
65
91
  url: "/oxxo/" + oxxoToken + "/payments",
66
92
  params: query,
67
- headers: authorizationHeaders({ jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
93
+ headers: authorizationHeaders({ jwtToken: jwtToken, internalAuthTokenProvider: authProvider(optsAuth), headers: headers })
68
94
  });
69
95
  },
70
96
 
71
97
  /**
72
- * POST /oxxo/:oxxoToken/payments/:referenceNumber - update OXXO payment. API does not accept query params.
98
+ * POST /oxxo/:token/payments/:referenceNumber - pay Oxxo payment (referenceNumber: UUID v4 or 20 digits).
73
99
  * @param {Object} opts
74
100
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
75
- * @param {string} opts.oxxoToken - OXXO token
101
+ * @param {string} opts.oxxoToken - Oxxo token
76
102
  * @param {string} opts.referenceNumber - Payment reference number
77
- * @param {Object} opts.data - Request body (PostOxxoPaymentsPayload)
103
+ * @param {PostOxxoPaymentsPayload|{ oxxoInfo: PostOxxoPaymentsPayload }} opts.data - Request body
78
104
  * @param {{ getToken: function(): string }} [opts.internalAuthTokenProvider]
79
105
  * @param {Object} [opts.headers] - Optional request headers
80
- * @returns {Promise<import("axios").AxiosResponse>}
106
+ * @returns {Promise<import("axios").AxiosResponse<{ payment: Object }>>}
107
+ * Rejects with 400 (INVALID_REFERENCE_NUMBER_FORMAT, INVALID_ACCOUNT, OXXO_PAY_NOT_ENABLED), 401, 500.
81
108
  */
82
109
  update: function update(_ref4) {
83
110
  var jwtToken = _ref4.jwtToken,
@@ -86,37 +113,36 @@ function oxxoFactory(_ref) {
86
113
  query = _ref4.query,
87
114
  referenceNumber = _ref4.referenceNumber,
88
115
  data = _ref4.data,
89
- internalAuthTokenProvider = _ref4.internalAuthTokenProvider;
116
+ optsAuth = _ref4.internalAuthTokenProvider;
90
117
 
91
118
  return client({
92
119
  url: "/oxxo/" + oxxoToken + "/payments/" + referenceNumber,
93
120
  method: "post",
94
121
  params: query,
95
122
  data: data,
96
- headers: authorizationHeaders({ jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
123
+ headers: authorizationHeaders({ jwtToken: jwtToken, internalAuthTokenProvider: authProvider(optsAuth), headers: headers })
97
124
  });
98
125
  },
99
126
 
100
127
  /**
101
- * POST /oxxo/:oxxoToken/reverse/:referenceNumber - reverse OXXO payment. API does not accept query params.
128
+ * POST /oxxo/:token/reverse/:referenceNumber - reverse Oxxo payment (referenceNumber: UUID v4 or 20 digits).
102
129
  * @param {Object} opts
103
- * @param {string} [opts.token] - API key
104
130
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
105
- * @param {string} opts.oxxoToken - OXXO token
131
+ * @param {string} opts.oxxoToken - Oxxo token
106
132
  * @param {string} opts.referenceNumber - Payment reference number
107
- * @param {Object} [opts.data] - Request body (PostOxxoReversePayload)
133
+ * @param {PostOxxoReversePayload|{ oxxoInfo: PostOxxoReversePayload }} [opts.data] - Request body
108
134
  * @param {{ getToken: function(): string }} [opts.internalAuthTokenProvider]
109
135
  * @param {Object} [opts.headers] - Optional request headers
110
- * @returns {Promise<import("axios").AxiosResponse>}
136
+ * @returns {Promise<import("axios").AxiosResponse<{ payment: Object }>>}
137
+ * Rejects with 400 (INVALID_REFERENCE_NUMBER_FORMAT, INVALID_ACCOUNT, OXXO_PAY_NOT_ENABLED), 401, 500.
111
138
  */
112
139
  reverse: function reverse(_ref5) {
113
- var authToken = _ref5.token,
114
- jwtToken = _ref5.jwtToken,
140
+ var jwtToken = _ref5.jwtToken,
115
141
  headers = _ref5.headers,
116
142
  query = _ref5.query,
117
143
  referenceNumber = _ref5.referenceNumber,
118
144
  data = _ref5.data,
119
- internalAuthTokenProvider = _ref5.internalAuthTokenProvider,
145
+ optsAuth = _ref5.internalAuthTokenProvider,
120
146
  oxxoToken = _ref5.oxxoToken;
121
147
 
122
148
  return client({
@@ -124,7 +150,7 @@ function oxxoFactory(_ref) {
124
150
  method: "post",
125
151
  params: query,
126
152
  data: data,
127
- headers: authorizationHeaders({ token: authToken, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
153
+ headers: authorizationHeaders({ jwtToken: jwtToken, internalAuthTokenProvider: authProvider(optsAuth), headers: headers })
128
154
  });
129
155
  }
130
156
  };
@@ -4,10 +4,11 @@ var _require = require("../endpoints_helpers.js"),
4
4
  authorizationHeaders = _require.authorizationHeaders;
5
5
 
6
6
  /**
7
- * Query params for GET payment/reversal/refund and PUT refund (btrz-api-payments). See get-by-id-* and put-refunds getSpec().
7
+ * Query params for Prisma terminals endpoints (btrz-api-payments).
8
8
  * @typedef {Object} PrismaTerminalsQuery
9
9
  * @property {string} [providerId] - Account provider (operator) ID; used by agencies/sellers
10
10
  * @property {boolean} [validateRefund] - (PUT refunds only) If true, fetch current state from Prisma before applying
11
+ * @property {boolean} [validatePayment] - (PUT payments only) If true, validate payment against the provider
11
12
  */
12
13
 
13
14
  /**
@@ -49,12 +50,13 @@ function prismaTerminalsFactory(_ref) {
49
50
  },
50
51
 
51
52
  /**
52
- * POST /prisma-terminals/payments/:id/reversals - create reversal. API does not accept query params.
53
+ * POST /prisma-terminals/payments/:id/reversals - create reversal.
53
54
  * @param {Object} opts
54
55
  * @param {string} [opts.token] - API key
55
56
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
56
- * @param {string} opts.id - Payment id
57
+ * @param {string} opts.id - Payment id (prismaPaymentId)
57
58
  * @param {Object} opts.prismaReversal - Prisma reversal payload
59
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId)
58
60
  * @param {Object} [opts.headers] - Optional headers
59
61
  * @returns {Promise<import("axios").AxiosResponse>}
60
62
  */
@@ -77,11 +79,12 @@ function prismaTerminalsFactory(_ref) {
77
79
  },
78
80
 
79
81
  /**
80
- * DELETE /prisma-terminals/reversals/:id - delete reversal. API does not accept query params.
82
+ * DELETE /prisma-terminals/reversals/:id - delete reversal.
81
83
  * @param {Object} opts
82
84
  * @param {string} [opts.token] - API key
83
85
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
84
- * @param {string} opts.id - Reversal id
86
+ * @param {string} opts.id - Reversal id (prismaPaymentId)
87
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId)
85
88
  * @param {Object} [opts.headers] - Optional headers
86
89
  * @returns {Promise<import("axios").AxiosResponse>}
87
90
  */
@@ -128,12 +131,13 @@ function prismaTerminalsFactory(_ref) {
128
131
  },
129
132
 
130
133
  /**
131
- * POST /prisma-terminals/payments/:id/refunds - create refund. API does not accept query params.
134
+ * POST /prisma-terminals/payments/:id/refunds - create refund.
132
135
  * @param {Object} opts
133
136
  * @param {string} [opts.token] - API key
134
137
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
135
- * @param {string} opts.id - Payment id
138
+ * @param {string} opts.id - Payment id (prismaPaymentId)
136
139
  * @param {Object} opts.prismaRefund - Prisma refund payload
140
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId)
137
141
  * @param {Object} [opts.headers] - Optional headers
138
142
  * @returns {Promise<import("axios").AxiosResponse>}
139
143
  */
@@ -156,11 +160,12 @@ function prismaTerminalsFactory(_ref) {
156
160
  },
157
161
 
158
162
  /**
159
- * DELETE /prisma-terminals/refunds/:id - delete refund. API does not accept query params.
163
+ * DELETE /prisma-terminals/refunds/:id - delete refund.
160
164
  * @param {Object} opts
161
165
  * @param {string} [opts.token] - API key
162
166
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
163
- * @param {string} opts.id - Refund id
167
+ * @param {string} opts.id - Refund id (prismaPaymentId)
168
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId)
164
169
  * @param {Object} [opts.headers] - Optional headers
165
170
  * @returns {Promise<import("axios").AxiosResponse>}
166
171
  */
@@ -236,11 +241,12 @@ function prismaTerminalsFactory(_ref) {
236
241
  },
237
242
 
238
243
  /**
239
- * POST /prisma-terminals/payments - create payment. API does not accept query params.
244
+ * POST /prisma-terminals/payments - create payment.
240
245
  * @param {Object} opts
241
246
  * @param {string} [opts.token] - API key
242
247
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
243
248
  * @param {Object} opts.prismaPayment - Prisma payment payload
249
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId)
244
250
  * @param {Object} [opts.headers] - Optional headers
245
251
  * @returns {Promise<import("axios").AxiosResponse>}
246
252
  */
@@ -262,11 +268,12 @@ function prismaTerminalsFactory(_ref) {
262
268
  },
263
269
 
264
270
  /**
265
- * DELETE /prisma-terminals/payments/:id - delete payment. API does not accept query params.
271
+ * DELETE /prisma-terminals/payments/:id - delete payment.
266
272
  * @param {Object} opts
267
273
  * @param {string} [opts.token] - API key
268
274
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
269
- * @param {string} opts.id - Payment id
275
+ * @param {string} opts.id - Payment id (prismaPaymentId)
276
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId)
270
277
  * @param {Object} [opts.headers] - Optional headers
271
278
  * @returns {Promise<import("axios").AxiosResponse>}
272
279
  */
@@ -287,12 +294,13 @@ function prismaTerminalsFactory(_ref) {
287
294
  },
288
295
 
289
296
  /**
290
- * PUT /prisma-terminals/payments/:id - update payment. API does not accept query params.
297
+ * PUT /prisma-terminals/payments/:id - update payment (hidden in API docs).
291
298
  * @param {Object} opts
292
299
  * @param {string} [opts.token] - API key
293
300
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
294
- * @param {string} opts.id - Payment id
301
+ * @param {string} opts.id - Payment id (prismaPaymentId)
295
302
  * @param {Object} opts.prismaPayment - Prisma payment payload
303
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId, validatePayment)
296
304
  * @param {Object} [opts.headers] - Optional headers
297
305
  * @returns {Promise<import("axios").AxiosResponse>}
298
306
  */
@@ -320,11 +328,12 @@ function prismaTerminalsFactory(_ref) {
320
328
 
321
329
  var settlements = {
322
330
  /**
323
- * POST /prisma-terminals/settlements - create settlement. API does not accept query params.
331
+ * POST /prisma-terminals/settlements - create settlement.
324
332
  * @param {Object} opts
325
333
  * @param {string} [opts.token] - API key
326
334
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
327
335
  * @param {Object} opts.settlement - Settlement payload
336
+ * @param {PrismaTerminalsQuery} [opts.query] - Query params (providerId)
328
337
  * @param {Object} [opts.headers] - Optional headers
329
338
  * @returns {Promise<import("axios").AxiosResponse>}
330
339
  */
@@ -23,14 +23,14 @@ function referencedPaymentsFactory(_ref) {
23
23
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
24
24
 
25
25
  /**
26
- * GET /referenced-payments/:transactionId/:referenceNumber/status - get status. API does not accept query params.
26
+ * GET /referenced-payments/:transactionId/:referenceNumber/status - get referenced payment status. Requires backoffice auth. Response body: { paymentResult: { status, result } | null }.
27
27
  * @param {Object} opts
28
28
  * @param {string} [opts.token] - API key
29
29
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
30
- * @param {string} opts.transactionId - Transaction id
31
- * @param {string} opts.referenceNumber - Reference number
30
+ * @param {string} opts.transactionId - Transaction ID
31
+ * @param {string} opts.referenceNumber - Reference number of the payment
32
32
  * @param {Object} [opts.headers] - Optional headers
33
- * @returns {Promise<import("axios").AxiosResponse>}
33
+ * @returns {Promise<import("axios").AxiosResponse<{ paymentResult: { status: "error"|"pending"|"success"|"review", result: object } | null }>>}
34
34
  */
35
35
  function getStatus(_ref2) {
36
36
  var token = _ref2.token,
@@ -4,7 +4,7 @@ var _require = require("./../endpoints_helpers.js"),
4
4
  authorizationHeaders = _require.authorizationHeaders;
5
5
 
6
6
  /**
7
- * Factory for Square webhooks API (btrz-api-payments).
7
+ * Factory for Square webhooks API (btrz-api-payments). Used to forward or simulate Square webhook requests to the Payments API.
8
8
  * @param {Object} deps
9
9
  * @param {import("axios").AxiosInstance} deps.client
10
10
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
@@ -17,14 +17,14 @@ function squareWebhooksFactory(_ref) {
17
17
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
18
 
19
19
  /**
20
- * POST /square-webhooks/:providerId - create Square webhook. API does not accept query params.
20
+ * POST /square-webhooks/:providerId - send Square webhook payload to the Payments API. API verifies x-square-signature when present. Body must include type and data (Square webhook format).
21
21
  * @param {Object} opts
22
22
  * @param {string} [opts.token] - API key
23
23
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
24
- * @param {string} opts.providerId - Provider id
25
- * @param {Object} opts.data - Request body
26
- * @param {Object} [opts.headers] - Optional headers
27
- * @returns {Promise<import("axios").AxiosResponse>}
24
+ * @param {string} opts.providerId - Provider ID (square_terminal payment method owner)
25
+ * @param {Object} opts.data - Request body (Square webhook payload: type, data required; optional merchant_id, event_id, created_at)
26
+ * @param {Object} [opts.headers] - Optional headers (e.g. x-square-signature for verification)
27
+ * @returns {Promise<import("axios").AxiosResponse<{ status: "OK" }>>}
28
28
  */
29
29
  function create(_ref2) {
30
30
  var token = _ref2.token,
@@ -58,12 +58,12 @@ function squareTerminalsFactory(_ref3) {
58
58
  internalAuthTokenProvider = _ref3.internalAuthTokenProvider;
59
59
 
60
60
  /**
61
- * GET /square-terminals - get Square terminals. API does not accept query params.
61
+ * GET /square-terminals - list Square terminals for the account. Requires JWT (BETTEREZ_APP or MOBILE_SCANNER). Response body: { terminals } with terminal objects (id, name, code, deviceId, productType, locationId, status, pairBy, createdAt, statusChangedAt).
62
62
  * @param {Object} opts
63
63
  * @param {string} [opts.token] - API key
64
64
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
65
65
  * @param {Object} [opts.headers] - Optional headers
66
- * @returns {Promise<import("axios").AxiosResponse>}
66
+ * @returns {Promise<import("axios").AxiosResponse<{ terminals: Array<{ id: string, name: string, code: string, deviceId?: string, productType?: string, locationId: string, status?: string, pairBy?: string, createdAt?: string, statusChangedAt?: string }> }>>}
67
67
  */
68
68
  function get(_ref4) {
69
69
  var token = _ref4.token,
@@ -6,7 +6,15 @@ var _require = require("./../endpoints_helpers.js"),
6
6
  /**
7
7
  * Query params for GET /stripe-terminals (btrz-api-payments). See get-handler getSpec().
8
8
  * @typedef {Object} StripeTerminalsListQuery
9
- * @property {string} [providerId] - Account provider (operator) ID; used by agencies/sellers
9
+ * @property {string} [providerId] - Account provider (operator) ID; used by agencies/sellers; when omitted, authenticated account ID is used
10
+ */
11
+
12
+ /**
13
+ * Response for GET /stripe-terminals. Paginated list of Stripe readers.
14
+ * @typedef {Object} GetStripeTerminalsResponse
15
+ * @property {Object[]} stripeTerminals - Stripe Terminal reader objects (id, label, serial_number, status, etc.)
16
+ * @property {string} next - Next page link; empty if no next page
17
+ * @property {string} previous - Previous page link; empty if no previous page
10
18
  */
11
19
 
12
20
  /**
@@ -23,13 +31,13 @@ function stripeTerminalsFactory(_ref) {
23
31
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
24
32
 
25
33
  /**
26
- * GET /stripe-terminals - list Stripe terminals.
34
+ * GET /stripe-terminals - list Stripe Terminal readers for the account (paginated).
27
35
  * @param {Object} opts
28
36
  * @param {string} [opts.token] - API key
29
37
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
30
- * @param {StripeTerminalsListQuery} [opts.query] - Query params (providerId)
38
+ * @param {StripeTerminalsListQuery} [opts.query] - Optional providerId
31
39
  * @param {Object} [opts.headers] - Optional headers
32
- * @returns {Promise<import("axios").AxiosResponse>}
40
+ * @returns {Promise<import("axios").AxiosResponse<GetStripeTerminalsResponse>>} Rejects with 400 (STRIPE_SECRET_KEY_INVALID), 401, 404 (PAYMENT_METHOD_NOT_FOUND), 500.
33
41
  */
34
42
  function all(_ref2) {
35
43
  var token = _ref2.token,
@@ -47,29 +55,26 @@ function stripeTerminalsFactory(_ref) {
47
55
  }
48
56
 
49
57
  /**
50
- * POST /stripe-terminals/:id/simulate - simulate Stripe payment. API does not accept query params.
58
+ * POST /stripe-terminals/:terminalId/simulate - simulate a payment on a Stripe Terminal reader. API does not accept query params.
51
59
  * @param {Object} opts
52
60
  * @param {string} [opts.token] - API key
53
61
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
54
- * @param {string} opts.id - Terminal id
55
- * @param {Object} opts.stripePayment - Stripe payment payload
62
+ * @param {string} opts.id - Terminal ID (Stripe reader id, e.g. tmr_xxx)
63
+ * @param {{ ccNumber: string }} opts.stripePayment - Payment to simulate; ccNumber required
56
64
  * @param {Object} [opts.headers] - Optional headers
57
- * @returns {Promise<import("axios").AxiosResponse>}
65
+ * @returns {Promise<import("axios").AxiosResponse<{ stripeTerminalPayment: Object }>>} Rejects with 400 (WRONG_DATA), 401, 404 (PAYMENT_METHOD_NOT_FOUND, TRANSACTION_NOT_FOUND), 409 (errorCode/errorMessage), 500.
58
66
  */
59
67
  function simulate(_ref3) {
60
68
  var token = _ref3.token,
61
69
  jwtToken = _ref3.jwtToken,
62
70
  id = _ref3.id,
63
71
  stripePayment = _ref3.stripePayment,
64
- _ref3$query = _ref3.query,
65
- query = _ref3$query === undefined ? {} : _ref3$query,
66
72
  headers = _ref3.headers;
67
73
 
68
74
  return client({
69
75
  url: "/stripe-terminals/" + id + "/simulate",
70
76
  method: "post",
71
77
  headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers }),
72
- params: query,
73
78
  data: { stripePayment: stripePayment }
74
79
  });
75
80
  }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable max-len */
4
+ var _require = require("../endpoints_helpers.js"),
5
+ authorizationHeaders = _require.authorizationHeaders;
6
+
7
+ /**
8
+ * Request body for POST /stripe-payment-intent (btrz-api-payments). PaymentIntentPostData.
9
+ * @typedef {Object} PaymentIntentPostData
10
+ * @property {string} providerName - Provider name (e.g. "stripe") used to resolve the payment method with Stripe 3DS
11
+ * @property {Object} data - Payment data: card details, amount, currency, transactionId, customer info, etc.
12
+ */
13
+
14
+ /**
15
+ * Factory for Stripe 3DS API (btrz-api-payments): create Stripe Payment Intent for 3DS flows.
16
+ * @param {Object} deps
17
+ * @param {import("axios").AxiosInstance} deps.client
18
+ * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
19
+ * @returns {{ createPaymentIntent: function }}
20
+ */
21
+
22
+
23
+ function stripe3dsFactory(_ref) {
24
+ var client = _ref.client,
25
+ internalAuthTokenProvider = _ref.internalAuthTokenProvider;
26
+
27
+ /**
28
+ * POST /stripe-payment-intent - creates a Stripe Payment Intent for 3DS; returns requires_action and payment_intent_client_secret.
29
+ * @param {Object} opts
30
+ * @param {string} [opts.token] - API key
31
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
32
+ * @param {string} opts.providerName - Provider name (e.g. "stripe")
33
+ * @param {Object} opts.data - Payment data (card, amount, currency, transactionId, etc.)
34
+ * @param {Object} [opts.headers] - Optional request headers
35
+ * @returns {Promise<import("axios").AxiosResponse<{ requires_action: boolean, payment_intent_client_secret: string }>>} PaymentIntentResponse. Rejects with 400 (WRONG_DATA, PAYMENT_INTENT_MISSING_PAYMENT_DATA, PAYMENT_INTENT_MISSING_PROVIDER, PROVIDER_NOT_FOUND, MISSING_PAYMENT_METHOD_PARAMS, PAYMENT_METHOD_NOT_FOUND, STRIPE_MISSING_PRIVATE_KEY, MISSING_PAYMENT_DATA), 401, 500.
36
+ */
37
+ function createPaymentIntent(_ref2) {
38
+ var token = _ref2.token,
39
+ jwtToken = _ref2.jwtToken,
40
+ providerName = _ref2.providerName,
41
+ data = _ref2.data,
42
+ headers = _ref2.headers;
43
+
44
+ return client.post("/stripe-payment-intent", { providerName: providerName, data: data }, {
45
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
46
+ });
47
+ }
48
+
49
+ return {
50
+ createPaymentIntent: createPaymentIntent
51
+ };
52
+ }
53
+
54
+ module.exports = stripe3dsFactory;
@@ -6,10 +6,10 @@ var _require = require("../endpoints_helpers.js"),
6
6
  /**
7
7
  * Query params for GET /terminal-payments/mit/:id (btrz-api-payments). See get-mit-by-id-handler getSpec().
8
8
  * @typedef {Object} TerminalPaymentsMitGetQuery
9
- * @property {string} [providerId] - Account provider (operator) ID; used by agencies/sellers
10
- * @property {string} [branchId] - Branch id where payment started (required for GET)
11
- * @property {string} [companyId] - Company id where payment started (required for GET)
12
- * @property {string} [date] - Date when payment started; format dd/mm/yyyy (required for GET)
9
+ * @property {string} [providerId] - Account provider (operator) ID; used by agencies/sellers; when omitted, authenticated account is used
10
+ * @property {string} branchId - Branch id where payment started (required). Example: 00676
11
+ * @property {string} companyId - Company id where payment started (required). Example: Z890
12
+ * @property {string} date - Date when payment started; format dd/mm/yyyy (required)
13
13
  */
14
14
 
15
15
  /**
@@ -33,15 +33,15 @@ function terminalPaymentsFactory(_ref) {
33
33
 
34
34
  var mit = {
35
35
  /**
36
- * PUT /terminal-payments/mit/:id - update MIT terminal payment.
36
+ * PUT /terminal-payments/mit/:terminalPaymentId - complete MIT terminal payment with result from terminal.
37
37
  * @param {Object} opts
38
38
  * @param {string} [opts.token] - API key
39
39
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
40
- * @param {string} opts.id - Terminal payment id
41
- * @param {Object} opts.terminalPayment - Terminal payment payload
42
- * @param {TerminalPaymentsMitPutQuery} [opts.query] - Query params (providerId)
40
+ * @param {string} opts.id - Terminal payment ID (UUID)
41
+ * @param {{ result?: Object, paymentRequest: Object, orderId: string }} opts.terminalPayment - Terminal payment data (result, paymentRequest, orderId)
42
+ * @param {TerminalPaymentsMitPutQuery} [opts.query] - Optional providerId
43
43
  * @param {Object} [opts.headers] - Optional headers
44
- * @returns {Promise<import("axios").AxiosResponse>}
44
+ * @returns {Promise<import("axios").AxiosResponse<{ terminalPayment: Object }>>} Rejects with 400 (WRONG_DATA, INVALID_TERMINALPAYMENT_ID, INVALID_RESULT_OBJECT, MIT_*), 401, 404 (TERMINALPAYMENT_NOT_FOUND, MIT_PAYMENT_NOT_FOUND), 409 (CANT_UPDATE_ORDER), 500.
45
45
  */
46
46
  update: function update(_ref2) {
47
47
  var token = _ref2.token,
@@ -62,14 +62,14 @@ function terminalPaymentsFactory(_ref) {
62
62
  },
63
63
 
64
64
  /**
65
- * GET /terminal-payments/mit/:id - get MIT terminal payment.
65
+ * GET /terminal-payments/mit/:terminalPaymentId - get MIT terminal payment result from MIT servers.
66
66
  * @param {Object} opts
67
67
  * @param {string} [opts.token] - API key
68
68
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
69
- * @param {string} opts.id - Terminal payment id
70
- * @param {TerminalPaymentsMitGetQuery} [opts.query] - Query params (providerId, branchId, companyId, date)
69
+ * @param {string} opts.id - Terminal payment ID (UUID)
70
+ * @param {TerminalPaymentsMitGetQuery} opts.query - branchId, companyId, date (required); optional providerId
71
71
  * @param {Object} [opts.headers] - Optional headers
72
- * @returns {Promise<import("axios").AxiosResponse>}
72
+ * @returns {Promise<import("axios").AxiosResponse<{ terminalPayment: Object }>>} Rejects with 400 (WRONG_DATA, INVALID_TERMINALPAYMENT_ID, INVALID_DATE, MIT_*), 401, 404 (TERMINALPAYMENT_NOT_FOUND, MIT_PAYMENT_NOT_FOUND), 500.
73
73
  */
74
74
  get: function get(_ref3) {
75
75
  var token = _ref3.token,
@@ -88,14 +88,14 @@ function terminalPaymentsFactory(_ref) {
88
88
 
89
89
  var webhooks = {
90
90
  /**
91
- * POST /terminal-payments/webhooks/getnet/:providerId - Getnet webhook. API does not accept query params.
91
+ * POST /terminal-payments/webhooks/getnet/:providerId - Getnet Terminal webhook (inbound). API does not accept query params.
92
92
  * @param {Object} opts
93
- * @param {Object} opts.data - Request body
94
- * @param {string} opts.providerId - Provider id
93
+ * @param {Object} opts.data - Getnet webhook payload (e.g. TrxResult, TrxReference, userId)
94
+ * @param {string} opts.providerId - Provider (account) ID for getnet_terminal payment method
95
95
  * @param {Object} [opts.headers] - Optional headers
96
- * @param {string} [opts.token] - API key
97
- * @param {string} [opts.jwtToken] - JWT or internal auth symbol
98
- * @returns {Promise<import("axios").AxiosResponse>}
96
+ * @param {string} [opts.token] - API key (optional when no userId in payload)
97
+ * @param {string} [opts.jwtToken] - JWT or internal auth (required when userId is in payload)
98
+ * @returns {Promise<import("axios").AxiosResponse<{ status: string }>>} Rejects with 400 (INVALID_WEBHOOK_PAYLOAD), 401 (when userId present but not authenticated), 404 (PAYMENT_NOT_FOUND_FOR_WEBHOOK_EVENT, PAYMENT_METHOD_NOT_FOUND, USER_NOT_FOUND), 409 (CANT_UPDATE_ORDER), 500.
99
99
  */
100
100
  getnet: function getnet(_ref4) {
101
101
  var data = _ref4.data,
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Factory for Coltrane healthcheck API (btrz-api-coltrane) — liveness probe.
5
+ * @param {Object} deps
6
+ * @param {import("axios").AxiosInstance} deps.client
7
+ * @returns {{ get: function }}
8
+ */
9
+ function healthcheckFactory(_ref) {
10
+ var client = _ref.client;
11
+
12
+ /**
13
+ * GET /healthcheck — liveness probe. Returns 200 with empty body when the service is running. No authentication required.
14
+ * @param {Object} [opts]
15
+ * @param {Object} [opts.headers] - Optional request headers
16
+ * @returns {Promise<import("axios").AxiosResponse<{ data: {} }>>}
17
+ * @throws {import("axios").AxiosError} 500 Service unhealthy or shutting down
18
+ */
19
+ function get() {
20
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
21
+ headers = _ref2.headers;
22
+
23
+ return client({
24
+ url: "/healthcheck",
25
+ method: "get",
26
+ headers: headers || {}
27
+ });
28
+ }
29
+
30
+ return {
31
+ get: get
32
+ };
33
+ }
34
+
35
+ module.exports = healthcheckFactory;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable max-len */
4
+ /**
5
+ * Factory for Coltrane info API (btrz-api-coltrane) — service and dependency status.
6
+ * @param {Object} deps
7
+ * @param {import("axios").AxiosInstance} deps.client
8
+ * @returns {{ get: function }}
9
+ */
10
+ function infoFactory(_ref) {
11
+ var client = _ref.client;
12
+
13
+ /**
14
+ * GET /info — get Coltrane API service status and dependency health. No authentication required.
15
+ * @param {Object} [opts]
16
+ * @param {Object} [opts.headers] - Optional request headers
17
+ * @returns {Promise<import("axios").AxiosResponse<{ data: { status: number, services: Array<{ name: string, status: number }>, build?: string, instanceId?: string, commit?: string } }>>}
18
+ * @throws {import("axios").AxiosError} 500 Internal server error or dependency check failure
19
+ */
20
+ function get() {
21
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
22
+ headers = _ref2.headers;
23
+
24
+ return client({
25
+ url: "/info",
26
+ headers: headers || {}
27
+ });
28
+ }
29
+
30
+ return {
31
+ get: get
32
+ };
33
+ }
34
+
35
+ module.exports = infoFactory;