@checkdigit/eslint-plugin 7.17.1 → 7.18.0-PR.143-8290
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-mjs/athena/api-locator.mjs +30 -0
- package/dist-mjs/athena/api-matcher.mjs +108 -0
- package/dist-mjs/athena/athena.mjs +331 -0
- package/dist-mjs/athena/column.mjs +1 -0
- package/dist-mjs/athena/context.mjs +21 -0
- package/dist-mjs/athena/index.mjs +1 -0
- package/dist-mjs/athena/service-table.mjs +32 -0
- package/dist-mjs/athena/types.mjs +1 -0
- package/dist-mjs/athena/visitor.mjs +258 -0
- package/dist-mjs/index.mjs +8 -4
- package/dist-mjs/no-status-code-assert.mjs +1 -1
- package/dist-mjs/openapi/deref-schema.mjs +14 -0
- package/dist-mjs/openapi/generate-schema.mjs +273 -0
- package/dist-mjs/openapi/service-schema-generator.mjs +147 -0
- package/dist-mjs/peggy/athena-peggy.mjs +20629 -0
- package/dist-types/athena/api-locator.d.ts +2 -0
- package/dist-types/athena/api-matcher.d.ts +14 -0
- package/dist-types/athena/athena.d.ts +6 -0
- package/dist-types/athena/column.d.ts +1 -0
- package/dist-types/athena/context.d.ts +21 -0
- package/dist-types/athena/index.d.ts +8 -0
- package/dist-types/athena/service-table.d.ts +8 -0
- package/dist-types/athena/types.d.ts +474 -0
- package/dist-types/athena/visitor.d.ts +63 -0
- package/dist-types/no-status-code-assert.d.ts +1 -1
- package/dist-types/openapi/deref-schema.d.ts +1 -0
- package/dist-types/openapi/generate-schema.d.ts +33 -0
- package/dist-types/openapi/service-schema-generator.d.ts +5 -0
- package/dist-types/peggy/athena-peggy.d.ts +13 -0
- package/package.json +1 -96
- package/src/athena/ATHENA.md +387 -0
- package/src/athena/PLAN.md +355 -0
- package/src/athena/api-locator.ts +39 -0
- package/src/athena/api-matcher.ts +169 -0
- package/src/athena/athena.ts +491 -0
- package/src/athena/column.ts +2 -0
- package/src/athena/context.ts +47 -0
- package/src/athena/index.ts +11 -0
- package/src/athena/service-table.ts +55 -0
- package/src/athena/types.ts +526 -0
- package/src/athena/visitor.ts +365 -0
- package/src/index.ts +4 -0
- package/src/no-side-effects.ts +1 -1
- package/src/no-status-code-assert.ts +2 -2
- package/src/openapi/deref-schema.ts +14 -0
- package/src/openapi/generate-schema.ts +422 -0
- package/src/openapi/service-schema-generator.ts +189 -0
- package/src/peggy/athena-chat.peggy +608 -0
- package/src/peggy/athena-peggy.ts +22078 -0
- package/src/peggy/athena.peggy +2967 -0
- package/src/require-service-call-response-declaration.ts +2 -2
- package/src/services/interchange/v1/swagger.schema.deref.json +849 -0
- package/src/services/interchange/v1/swagger.schema.json +473 -0
- package/src/services/interchange/v1/swagger.yml +414 -0
- package/src/services/ledger/v1/swagger.schema.deref.json +6694 -0
- package/src/services/ledger/v1/swagger.schema.json +1820 -0
- package/src/services/ledger/v1/swagger.yml +1094 -0
- package/src/services/link/v1/swagger.schema.deref.json +648 -0
- package/src/services/link/v1/swagger.schema.json +444 -0
- package/src/services/link/v1/swagger.yml +343 -0
- package/src/services/message/v1/swagger.schema.deref.json +22049 -0
- package/src/services/message/v1/swagger.schema.json +3470 -0
- package/src/services/message/v1/swagger.yml +2798 -0
- package/src/services/message/v2/swagger.schema.deref.json +72221 -0
- package/src/services/message/v2/swagger.schema.json +3558 -0
- package/src/services/message/v2/swagger.yml +3009 -0
- package/src/services/paymentCard/v1/swagger.schema.deref.json +4346 -0
- package/src/services/paymentCard/v1/swagger.schema.json +2181 -0
- package/src/services/paymentCard/v1/swagger.yml +1161 -0
- package/src/services/paymentCard/v2/swagger.schema.deref.json +4336 -0
- package/src/services/paymentCard/v2/swagger.schema.json +2155 -0
- package/src/services/paymentCard/v2/swagger.yml +1149 -0
- package/src/services/person/v1/swagger.schema.deref.json +6786 -0
- package/src/services/person/v1/swagger.schema.json +1445 -0
- package/src/services/person/v1/swagger.yml +1157 -0
- package/src/services/teampayApproval/v1/swagger.schema.deref.json +9898 -0
- package/src/services/teampayCardManagement/v1/swagger.schema.deref.json +6187 -0
- package/src/services/teampayClientManagement/v1/swagger.schema.deref.json +4914 -0
- package/src/services/teampayClientManagement/v1/swagger.schema.json +1964 -0
- package/src/services/teampayClientManagement/v1/swagger.yml +1376 -0
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
{
|
|
2
|
+
"apis": {
|
|
3
|
+
"/interchange/v1/ping": {
|
|
4
|
+
"get": {
|
|
5
|
+
"request": {
|
|
6
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
7
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/api/PingGetRequestContext",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"headers": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"additionalProperties": true
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": [],
|
|
16
|
+
"additionalProperties": false
|
|
17
|
+
},
|
|
18
|
+
"responses": {
|
|
19
|
+
"200": {
|
|
20
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
21
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/api/PingGetResponseOK",
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"headers": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"additionalProperties": true
|
|
27
|
+
},
|
|
28
|
+
"body": {
|
|
29
|
+
"$ref": "/interchange/v1/schemas/definitions/Ping"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": ["body"],
|
|
33
|
+
"additionalProperties": false
|
|
34
|
+
},
|
|
35
|
+
"default": {
|
|
36
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
37
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/api/PingGetResponseDefault",
|
|
38
|
+
"type": "object",
|
|
39
|
+
"properties": {
|
|
40
|
+
"headers": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"additionalProperties": true
|
|
43
|
+
},
|
|
44
|
+
"body": {
|
|
45
|
+
"$ref": "/interchange/v1/schemas/definitions/Error"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"required": ["body"],
|
|
49
|
+
"additionalProperties": false
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"/interchange/v1/interchange/:interchangeId": {
|
|
55
|
+
"put": {
|
|
56
|
+
"request": {
|
|
57
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
58
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/api/InterchangePutRequestContext",
|
|
59
|
+
"type": "object",
|
|
60
|
+
"properties": {
|
|
61
|
+
"params": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"additionalProperties": false,
|
|
64
|
+
"properties": {
|
|
65
|
+
"interchangeId": {
|
|
66
|
+
"type": "string"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"required": ["interchangeId"]
|
|
70
|
+
},
|
|
71
|
+
"headers": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"additionalProperties": true,
|
|
74
|
+
"properties": {
|
|
75
|
+
"created-on": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"format": "date-time"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"required": ["Created-On"]
|
|
81
|
+
},
|
|
82
|
+
"body": {
|
|
83
|
+
"$ref": "/interchange/v1/schemas/definitions/Interchange"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"required": ["params", "headers"],
|
|
87
|
+
"additionalProperties": false
|
|
88
|
+
},
|
|
89
|
+
"responses": {
|
|
90
|
+
"204": {
|
|
91
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
92
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/api/InterchangePutResponseNoContent",
|
|
93
|
+
"type": "object",
|
|
94
|
+
"properties": {
|
|
95
|
+
"headers": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"properties": {
|
|
98
|
+
"created-on": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"format": "date-time"
|
|
101
|
+
},
|
|
102
|
+
"updated-on": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"format": "date-time"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"required": [],
|
|
110
|
+
"additionalProperties": false
|
|
111
|
+
},
|
|
112
|
+
"default": {
|
|
113
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
114
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/api/InterchangePutResponseDefault",
|
|
115
|
+
"type": "object",
|
|
116
|
+
"properties": {
|
|
117
|
+
"headers": {
|
|
118
|
+
"type": "object",
|
|
119
|
+
"additionalProperties": true
|
|
120
|
+
},
|
|
121
|
+
"body": {
|
|
122
|
+
"$ref": "/interchange/v1/schemas/definitions/Error"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"required": ["body"],
|
|
126
|
+
"additionalProperties": false
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"definitions": {
|
|
133
|
+
"Ping": {
|
|
134
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
135
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/definitions/Ping",
|
|
136
|
+
"type": "object",
|
|
137
|
+
"additionalProperties": false,
|
|
138
|
+
"required": ["serverTime"],
|
|
139
|
+
"properties": {
|
|
140
|
+
"serverTime": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"format": "date-time",
|
|
143
|
+
"description": "Current server time"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"Error": {
|
|
148
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
149
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/definitions/Error",
|
|
150
|
+
"type": "object",
|
|
151
|
+
"additionalProperties": false,
|
|
152
|
+
"properties": {
|
|
153
|
+
"message": {
|
|
154
|
+
"type": "string"
|
|
155
|
+
},
|
|
156
|
+
"code": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"minLength": 1,
|
|
159
|
+
"enum": ["CREATED ON TOO FAR IN FUTURE"]
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"Interchange": {
|
|
164
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
165
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/definitions/Interchange",
|
|
166
|
+
"type": "object",
|
|
167
|
+
"additionalProperties": false,
|
|
168
|
+
"description": "Data that describes an interchange record.",
|
|
169
|
+
"required": [
|
|
170
|
+
"file",
|
|
171
|
+
"cardId",
|
|
172
|
+
"transmissionDateTime",
|
|
173
|
+
"categorization",
|
|
174
|
+
"adviceResponse",
|
|
175
|
+
"merchant",
|
|
176
|
+
"settlementAmount",
|
|
177
|
+
"isCrossBorder",
|
|
178
|
+
"interchangeFeeAmount",
|
|
179
|
+
"interchangeDebitCredit",
|
|
180
|
+
"interchangeFeeAmountExtended"
|
|
181
|
+
],
|
|
182
|
+
"properties": {
|
|
183
|
+
"file": {
|
|
184
|
+
"type": "object",
|
|
185
|
+
"additionalProperties": false,
|
|
186
|
+
"required": ["fileIdentifier", "fileDescription", "recordIdentifier", "fileDateTime"],
|
|
187
|
+
"properties": {
|
|
188
|
+
"fileIdentifier": {
|
|
189
|
+
"type": "string",
|
|
190
|
+
"minLength": 1,
|
|
191
|
+
"description": "A unique identifier for the file in which this message exists. Often will be the name of the file."
|
|
192
|
+
},
|
|
193
|
+
"fileDescription": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"minLength": 1,
|
|
196
|
+
"description": "A description of the file whose usage depends on the type of file that was processed."
|
|
197
|
+
},
|
|
198
|
+
"recordIdentifier": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"minLength": 1,
|
|
201
|
+
"description": "A unique identifier for this message in the processed file. Often this will be the record number."
|
|
202
|
+
},
|
|
203
|
+
"fileDateTime": {
|
|
204
|
+
"type": "string",
|
|
205
|
+
"minLength": 1,
|
|
206
|
+
"format": "date-time",
|
|
207
|
+
"description": "A timestamp associated with the whole file not the individual message."
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
"matchedMessageId": {
|
|
212
|
+
"description": "Identifies the Check Digit Message Service message the interchange data applies to.\n",
|
|
213
|
+
"type": "string"
|
|
214
|
+
},
|
|
215
|
+
"cardId": {
|
|
216
|
+
"description": "Identifies the card involved in the transaction.",
|
|
217
|
+
"type": "string"
|
|
218
|
+
},
|
|
219
|
+
"transmissionDateTime": {
|
|
220
|
+
"description": "The transmission date-time in UTC ISO format.",
|
|
221
|
+
"type": "string",
|
|
222
|
+
"format": "date-time"
|
|
223
|
+
},
|
|
224
|
+
"referenceNumber": {
|
|
225
|
+
"description": "A unique ID assigned by network to a transaction. This could be Banknet reference number for MC DMS, Retrieval Reference Number, or a Transaction ID for Visa transactions. This field is undefined if not present in the file from network or in case of offline authorizations. When present, it is used as one of the fields to match the original transaction",
|
|
226
|
+
"type": "string"
|
|
227
|
+
},
|
|
228
|
+
"categorization": {
|
|
229
|
+
"type": "object",
|
|
230
|
+
"additionalProperties": false,
|
|
231
|
+
"required": ["debitCredit", "category"],
|
|
232
|
+
"properties": {
|
|
233
|
+
"debitCredit": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"description": "Indicates whether the transaction was a debit or credit to the receiver.",
|
|
236
|
+
"enum": ["DEBIT", "CREDIT", "NEITHER"]
|
|
237
|
+
},
|
|
238
|
+
"category": {
|
|
239
|
+
"description": "Describes the effect of a transaction on a customer account.",
|
|
240
|
+
"type": "string",
|
|
241
|
+
"enum": [
|
|
242
|
+
"SIGNATURE",
|
|
243
|
+
"PIN",
|
|
244
|
+
"PINLESS",
|
|
245
|
+
"ATM",
|
|
246
|
+
"OTC",
|
|
247
|
+
"AFD",
|
|
248
|
+
"QUASICASH",
|
|
249
|
+
"SCRIP",
|
|
250
|
+
"BALANCE INQUIRY",
|
|
251
|
+
"ACCOUNT INQUIRY",
|
|
252
|
+
"FUNDS TRANSFER",
|
|
253
|
+
"BILL PAYMENT",
|
|
254
|
+
"ADJUSTMENT",
|
|
255
|
+
"RETURN",
|
|
256
|
+
"LOAD",
|
|
257
|
+
"UNLOAD",
|
|
258
|
+
"ACTIVATION",
|
|
259
|
+
"ACTIVATION AND LOAD",
|
|
260
|
+
"DEACTIVATION",
|
|
261
|
+
"DEACTIVATION AND UNLOAD",
|
|
262
|
+
"TOKENIZATION",
|
|
263
|
+
"REQUEST ACTIVATION METHODS",
|
|
264
|
+
"DELIVER ACTIVATION CODE",
|
|
265
|
+
"NOTIFY TOKEN ACTIVATED",
|
|
266
|
+
"NOTIFY TOKEN UPDATED",
|
|
267
|
+
"NOTIFY SUSPICIOUS EVENTS",
|
|
268
|
+
"UNSUPPORTED"
|
|
269
|
+
]
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
"systemTraceAuditNumber": {
|
|
274
|
+
"description": "A number assigned by the message initiator to uniquely identify a transaction. This field is undefined if not present in the file from network or in case of offline authorizations. When present, it is used as one of the fields ot match the original transaction",
|
|
275
|
+
"type": "number"
|
|
276
|
+
},
|
|
277
|
+
"merchant": {
|
|
278
|
+
"description": "Contains information about the merchant and the method by which the transaction was accepted.",
|
|
279
|
+
"type": "object",
|
|
280
|
+
"additionalProperties": false,
|
|
281
|
+
"required": ["type", "panEntryMethod"],
|
|
282
|
+
"properties": {
|
|
283
|
+
"type": {
|
|
284
|
+
"description": "Also known as MCC. Classifies the type of business applicable to card acceptor.",
|
|
285
|
+
"type": "string"
|
|
286
|
+
},
|
|
287
|
+
"panEntryMethod": {
|
|
288
|
+
"description": "(Aka. POS Entry Mode) Indicates method by which the PAN was entered into the system.",
|
|
289
|
+
"type": "string",
|
|
290
|
+
"enum": [
|
|
291
|
+
"NOT PROVIDED",
|
|
292
|
+
"UNSPECIFIED",
|
|
293
|
+
"MANUAL",
|
|
294
|
+
"MAGNETIC STRIPE",
|
|
295
|
+
"BAR CODE",
|
|
296
|
+
"OCR",
|
|
297
|
+
"INTEGRATED CIRCUIT CARD",
|
|
298
|
+
"MANUAL KEY ENTERED",
|
|
299
|
+
"CONTACTLESS EMV RULES",
|
|
300
|
+
"CHIP CARD UNABLE MANUAL ENTRY",
|
|
301
|
+
"CHIP CARD UNABLE MAGNETIC STRIPE",
|
|
302
|
+
"ELECTRONIC COMMERCE",
|
|
303
|
+
"PAN AUTO ENTRY VIA SERVER",
|
|
304
|
+
"FULL MAGNETIC STRIPE",
|
|
305
|
+
"CONTACTLESS MAG STRIPE RULES",
|
|
306
|
+
"INTEGRATED CIRCUIT CARD CVV UNRELIABLE",
|
|
307
|
+
"STORED VALUE PREREGISTERED CHECKOUT",
|
|
308
|
+
"ON FILE",
|
|
309
|
+
"SECURE ENTRY"
|
|
310
|
+
]
|
|
311
|
+
},
|
|
312
|
+
"strategicMerchant": {
|
|
313
|
+
"description": "Indicates if the transaction originated from a strategic merchant.",
|
|
314
|
+
"type": "boolean"
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"adviceResponse": {
|
|
319
|
+
"additionalProperties": false,
|
|
320
|
+
"required": ["responseCode"],
|
|
321
|
+
"properties": {
|
|
322
|
+
"authorizationIdResponse": {
|
|
323
|
+
"description": "A value created by the authorizer to indicate approval and used to match to messages in the same transaction lifecycle.",
|
|
324
|
+
"type": "string"
|
|
325
|
+
},
|
|
326
|
+
"responseCode": {
|
|
327
|
+
"description": "A code that defines the disposition of the message.",
|
|
328
|
+
"type": "string",
|
|
329
|
+
"enum": [
|
|
330
|
+
"APPROVED",
|
|
331
|
+
"REFER TO ISSUER",
|
|
332
|
+
"REFER TO ISSUER SPECIAL CONDITION",
|
|
333
|
+
"INVALID MERCHANT",
|
|
334
|
+
"PICKUP",
|
|
335
|
+
"DO NOT HONOR",
|
|
336
|
+
"SYSTEM ERROR",
|
|
337
|
+
"PICKUP CARD",
|
|
338
|
+
"HONOR WITH ID",
|
|
339
|
+
"REQUEST IN PROGRESS",
|
|
340
|
+
"PARTIAL APPROVAL",
|
|
341
|
+
"INVALID TRANSACTION",
|
|
342
|
+
"INVALID AMOUNT",
|
|
343
|
+
"CARD NOT FOUND",
|
|
344
|
+
"REENTER TRANSACTION",
|
|
345
|
+
"INVALID RESPONSE",
|
|
346
|
+
"UNACCEPTABLE TRANSACTION FEE",
|
|
347
|
+
"FILE UPDATE NOT SUPPORTED",
|
|
348
|
+
"UNABLE TO LOCATE RECORD",
|
|
349
|
+
"DUPLICATE FILE UPDATE",
|
|
350
|
+
"FILE UPDATE EDIT ERROR",
|
|
351
|
+
"FILE UPDATE FILE LOCKED",
|
|
352
|
+
"FILE UPDATE FAILED",
|
|
353
|
+
"FORMAT ERROR",
|
|
354
|
+
"NO CREDIT ACCOUNT",
|
|
355
|
+
"REQUESTED FUNCTION NOT SUPPORTED",
|
|
356
|
+
"LOST CARD CAPTURE",
|
|
357
|
+
"NO UNIVERSAL ACCOUNT",
|
|
358
|
+
"STOLEN CARD CAPTURE",
|
|
359
|
+
"NO INVESTMENT ACCOUNT",
|
|
360
|
+
"INSUFFICIENT FUNDS",
|
|
361
|
+
"NO CHECKING ACCOUNT",
|
|
362
|
+
"NO SAVINGS ACCOUNT",
|
|
363
|
+
"EXPIRED CARD",
|
|
364
|
+
"INCORRECT PIN",
|
|
365
|
+
"NO CARD RECORD",
|
|
366
|
+
"TRANSACTION NOT PERMITTED TO CARDHOLDER",
|
|
367
|
+
"TRANSACTION NOT PERMITTED TO TERMINAL",
|
|
368
|
+
"SUSPECTED FRAUD",
|
|
369
|
+
"EXCEEDS WITHDRAWAL LIMIT",
|
|
370
|
+
"RESTRICTED CARD",
|
|
371
|
+
"SECURITY VIOLATION",
|
|
372
|
+
"EXCEEDS WITHDRAWAL FREQUENCY LIMIT",
|
|
373
|
+
"HARD CAPTURE",
|
|
374
|
+
"LATE RESPONSE",
|
|
375
|
+
"PIN TRIES EXCEEDED",
|
|
376
|
+
"KEY SYNC ERROR",
|
|
377
|
+
"CARDHOLDER NOT ELIGIBLE FOR POS",
|
|
378
|
+
"ISSUER NOT AVAILABLE",
|
|
379
|
+
"DUPLICATE",
|
|
380
|
+
"INFORMATION NOT ON FILE",
|
|
381
|
+
"CARD VERIFICATION FAILURE",
|
|
382
|
+
"CUTOFF IN PROGRESS",
|
|
383
|
+
"ISSUER INOPERATIVE",
|
|
384
|
+
"TRANSACTION CANNOT COMPLETE LAW VIOLATION",
|
|
385
|
+
"DUPLICATE TRANSMISSION",
|
|
386
|
+
"RECONCILE ERROR",
|
|
387
|
+
"SYSTEM MALFUNCTION",
|
|
388
|
+
"CARD VERIFICATION2 FAILURE",
|
|
389
|
+
"CARD VERIFICATION3 FAILURE",
|
|
390
|
+
"EXPIRATION DATE MISMATCH",
|
|
391
|
+
"INACTIVE CARD",
|
|
392
|
+
"ITEM SUSPECTED FOR STOP PAY",
|
|
393
|
+
"ACCOUNT CLOSED",
|
|
394
|
+
"INELIGIBLE ACCOUNT",
|
|
395
|
+
"ITEM SUBMITTED MORE THAN TWO TIMES",
|
|
396
|
+
"NO ACCT ON FILE",
|
|
397
|
+
"UNABLE TO LOCATE",
|
|
398
|
+
"GENERAL DENIAL",
|
|
399
|
+
"SPECIAL CONDITIONS",
|
|
400
|
+
"PIN REQUIRED",
|
|
401
|
+
"PAN TRANSFORMATION ERROR",
|
|
402
|
+
"RISK BLOCK",
|
|
403
|
+
"INVALID ARQC",
|
|
404
|
+
"REQUIRE ADDITIONAL AUTHENTICATION",
|
|
405
|
+
"OTHER"
|
|
406
|
+
]
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
"settlementAmount": {
|
|
411
|
+
"description": "The amount and currency of the transaction incurring the interchange fee.",
|
|
412
|
+
"allOf": [
|
|
413
|
+
{
|
|
414
|
+
"$ref": "/interchange/v1/schemas/definitions/Amount"
|
|
415
|
+
}
|
|
416
|
+
]
|
|
417
|
+
},
|
|
418
|
+
"isCrossBorder": {
|
|
419
|
+
"description": "Identifies whether the transaction is a cross-border transaction for the message receiver.",
|
|
420
|
+
"type": "boolean"
|
|
421
|
+
},
|
|
422
|
+
"issuerInterchangeGroupId": {
|
|
423
|
+
"description": "Indicates the network interchange program applied to the transaction. This is used to determine the interchange rate and editing rules applied to the transaction."
|
|
424
|
+
},
|
|
425
|
+
"interchangeFeeAmount": {
|
|
426
|
+
"description": "The amount and currency of the interchange fee incurred for the transaction.",
|
|
427
|
+
"allOf": [
|
|
428
|
+
{
|
|
429
|
+
"$ref": "/interchange/v1/schemas/definitions/Amount"
|
|
430
|
+
}
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
"interchangeDebitCredit": {
|
|
434
|
+
"description": "Indicates whether the fee is a debit or credit to the receiver.",
|
|
435
|
+
"type": "string",
|
|
436
|
+
"enum": ["DEBIT", "CREDIT"]
|
|
437
|
+
},
|
|
438
|
+
"interchangeFeeAmountExtended": {
|
|
439
|
+
"type": "object",
|
|
440
|
+
"description": "The amount and currency of the interchange fee incurred for the transaction in a format that allows for up to 6 decimal points of precision.",
|
|
441
|
+
"required": ["amountDecimalPosition", "amount", "currency"],
|
|
442
|
+
"properties": {
|
|
443
|
+
"amountDecimalPosition": {
|
|
444
|
+
"description": "This number represents the position the decimal point should be placed, starting from right.",
|
|
445
|
+
"type": "number"
|
|
446
|
+
},
|
|
447
|
+
"amount": {
|
|
448
|
+
"type": "string"
|
|
449
|
+
},
|
|
450
|
+
"currency": {
|
|
451
|
+
"type": "string"
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
},
|
|
457
|
+
"Amount": {
|
|
458
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
459
|
+
"$id": "https://eslint-plugin.checkdigit/interchange/v1/schemas/definitions/Amount",
|
|
460
|
+
"type": "object",
|
|
461
|
+
"additionalProperties": false,
|
|
462
|
+
"required": ["amount", "currency"],
|
|
463
|
+
"properties": {
|
|
464
|
+
"amount": {
|
|
465
|
+
"type": "string"
|
|
466
|
+
},
|
|
467
|
+
"currency": {
|
|
468
|
+
"type": "string"
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|