issuer_response_codes 0.2.4 → 0.3.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.
@@ -1,26 +1,43 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IssuerResponseCodes
4
+ # 3D Secure reject reason code.
4
5
  class TdsCode < Code
6
+ # @return [String]
5
7
  def humanize
6
8
  "#{reason} #{behaviour}"
7
9
  end
8
10
 
9
11
  alias description humanize
10
12
 
13
+ # @return [String]
11
14
  def reason
12
- LOCALE_LIBRARY.dig(path: id, scope: "tds_status_codes.targeted.#{target}", locale: locale, default: :unknown)
15
+ LOCALE_LIBRARY[
16
+ path: id,
17
+ scope: "tds_status_codes.targeted.#{target}",
18
+ locale: locale,
19
+ default: :unknown
20
+ ]
13
21
  end
14
22
 
23
+ # @return [String]
15
24
  def behaviour
16
- behaviour_str = LOCALE_LIBRARY.dig(path: id, scope: "tds_status_codes.behaviour", locale: locale, default: :unknown)
25
+ behaviour_str = LOCALE_LIBRARY[
26
+ path: id,
27
+ scope: 'tds_status_codes.behaviour',
28
+ locale: locale,
29
+ default: :unknown
30
+ ]
31
+
17
32
  return behaviour_str unless fraud_notice && fraudulent_code?
18
33
 
19
- "#{behaviour_str} #{LOCALE_LIBRARY.dig(path: 'tds_status_codes.fraud_notice')}"
34
+ "#{behaviour_str} #{LOCALE_LIBRARY[path: 'tds_status_codes.fraud_notice']}"
20
35
  end
21
36
 
37
+ # @return [Boolean]
22
38
  def fraudulent_code?
23
- @fraudulent_code ||= LOCALE_LIBRARY.dig(path: id, scope: "tds_status_codes.fraudulent_codes", locale: locale)
39
+ @fraudulent_code ||= LOCALE_LIBRARY[path: id, scope: 'tds_status_codes.fraudulent_codes', locale: locale]
24
40
  end
41
+
25
42
  end
26
43
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IssuerResponseCodes
4
- VERSION = '0.2.4'
4
+ # @return [String]
5
+ VERSION = '0.3.0'
5
6
  end
@@ -1,17 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "issuer_response_codes/version"
4
- require "issuer_response_codes/locale_library"
5
- require "issuer_response_codes/context"
6
- require "issuer_response_codes/code"
7
- require "issuer_response_codes/tds_code"
3
+ require 'set'
4
+
5
+ require_relative 'issuer_response_codes/version'
6
+ require_relative 'issuer_response_codes/locale_library'
7
+ require_relative 'issuer_response_codes/context'
8
+ require_relative 'issuer_response_codes/code'
9
+ require_relative 'issuer_response_codes/tds_code'
8
10
 
9
11
  module IssuerResponseCodes
10
12
  class IllegalTarget < StandardError; end
11
13
  class IllegalLocale < StandardError; end
12
14
 
13
- AVAILABLE_TARGETS = %i[merchant cardholder].freeze
14
- AVAILABLE_LOCALES = %i[en pl da de ee it lt lv sv].freeze
15
+ # @return [Set<Symbol>]
16
+ AVAILABLE_TARGETS = ::Set.new(%i[merchant cardholder]).freeze
17
+ # @return [Set<Symbol>]
18
+ AVAILABLE_LOCALES = ::Set.new(%i[en pl da de ee it lt lv sv es fi fr hr nl pt]).freeze
15
19
 
20
+ # @return [LocaleLibrary]
16
21
  LOCALE_LIBRARY = LocaleLibrary.new
17
22
  end
data/lib/locale/es.yml ADDED
@@ -0,0 +1,300 @@
1
+ es:
2
+ tds_status_codes:
3
+ fraudulent_codes:
4
+ '09': verdadero
5
+ '10': verdadero
6
+ '11': verdadero
7
+ behaviour:
8
+ unknown: 'Póngase en contacto con nuestro servicio de asistencia.'
9
+ '01': Inténtelo otra vez.
10
+ '02': Utilice otro dispositivo.
11
+ '03': Utilice otro dispositivo.
12
+ '04': Utilice otra tarjeta o póngase en contacto con su banco.
13
+ '05': Utilice otra tarjeta.
14
+ '06': Utilice otra tarjeta o compruebe que los datos que ha introducido son correctos.
15
+ '07': Utilice otra tarjeta.
16
+ '08': Utilice otra tarjeta.
17
+ '09': Utilice otra tarjeta o póngase en contacto con su banco.
18
+ '10': Utilice otra tarjeta o póngase en contacto con su banco.
19
+ '11': Utilice otra tarjeta o póngase en contacto con su banco.
20
+ '12': Utilice otra tarjeta o póngase en contacto con su banco.
21
+ '13': Utilice otra tarjeta o póngase en contacto con su banco.
22
+ '14': Vuelva a intentarlo más tarde o utilice otra tarjeta.
23
+ '15': Utilice otra tarjeta o póngase en contacto con su banco.
24
+ '16': Utilice otra tarjeta o póngase en contacto con su banco.
25
+ '17': Utilice otra tarjeta o póngase en contacto con su banco.
26
+ '18': Utilice otra tarjeta o póngase en contacto con su banco.
27
+ '19': Utilice otra tarjeta o póngase en contacto con su banco.
28
+ '20': Utilice otra tarjeta.
29
+ '21': Utilice otra tarjeta.
30
+ '22': Vuelva a intentarlo más tarde o utilice otra tarjeta.
31
+ '23': Utilice otra tarjeta o póngase en contacto con su banco.
32
+ '24': Vuelva a intentarlo más tarde o utilice otra tarjeta.
33
+ '25': Vuelva a intentarlo más tarde o utilice otra tarjeta.
34
+ '26': Vuelva a intentarlo más tarde o utilice otra tarjeta.
35
+ '80': Utilice otra tarjeta.
36
+ '81': Vuelva a intentarlo más tarde o utilice otra tarjeta.
37
+ '82': Utilice otra tarjeta.
38
+ '83': Utilice otra tarjeta.
39
+ '84': Vuelva a intentarlo más tarde o utilice otra tarjeta.
40
+ '85': Utilice otra tarjeta.
41
+ '86': Utilice otra tarjeta.
42
+ '87': Utilice otra tarjeta...
43
+ '88': Utilice otra tarjeta.
44
+ universal: &universal_tds_status_codes
45
+ unknown: "Motivo desconocido."
46
+ targeted:
47
+ merchant:
48
+ <<: *universal_tds_status_codes
49
+ '01': Ha fallado la autenticación de la tarjeta.
50
+ '02': Dispositivo desconocido.
51
+ '03': Dispositivo no compatible.
52
+ '04': Supera el límite de frecuencia de autenticación.
53
+ '05': Tarjeta caducada.
54
+ '06': Número de tarjeta no válido.
55
+ '07': Transacción no válida.
56
+ '08': Sin registro de tarjeta.
57
+ '09': Fallo de seguridad.
58
+ '10': Tarjeta robada.
59
+ '11': Sospecha de fraude.
60
+ '12': Transacción no permitida al titular de la tarjeta.
61
+ '13': Titular no inscrito en el servicio.
62
+ '14': Transacción agotada en el ACS.
63
+ '15': Confianza baja.
64
+ '16': Confianza media.
65
+ '17': Confianza alta.
66
+ '18': Confianza muy alta.
67
+ '19': Supera los retos máximos ACS.
68
+ '20': Transacción de no pago no admitida.
69
+ '21': Transacción 3RI no admitida.
70
+ '22': Problema técnico ACS.
71
+ '23': Autenticación desacoplada requerida por ACS pero no solicitada por el solicitante 3DS.
72
+ '24': Tiempo de caducidad máximo desacoplado del solicitante de 3DS excedido.
73
+ '25': Autenticación desacoplada no tuvo tiempo suficiente para autenticar al titular de la tarjeta. ACS no hará intentos.
74
+ '26': Autenticación intentada pero no realizada por el titular de la tarjeta.
75
+ '80': Error al conectar con ACS.
76
+ '81': Tiempo de espera de ACS agotado.
77
+ '82': Respuesta no válida de ACS.
78
+ '83': Respuesta de error del sistema ACS.
79
+ '84': Error interno al generar CAVV.
80
+ '85': VMID no elegible para el programa solicitado.
81
+ '86': Versión del protocolo no compatible con ACS.
82
+ '87': La transacción está excluida del procesamiento de intentos (incluye tarjetas de prepago no recargables y no pagos (NPA)).
83
+ '88': Programa solicitado no soportado por la ACS.
84
+ cardholder:
85
+ <<: *universal_tds_status_codes
86
+ '01': Resultado negativo de la autenticación fuerte en el sistema del banco.
87
+ '02': El dispositivo en el que se realizó el intento de autenticación no fue reconocido por el sistema de verificación del banco.
88
+ '03': El dispositivo en el que se realizó el intento de autenticación no es compatible con el sistema de verificación del banco.
89
+ '04': Se ha superado el límite de intentos de autenticación en el banco.
90
+ '05': Tarjeta caducada.
91
+ '06': Número de tarjeta incorrecto.
92
+ '07': Tipo de transacción incorrecto.
93
+ '08': No hay tarjeta en el sistema del banco.
94
+ '09': Resultado negativo de la autenticación fuerte en el sistema del banco.
95
+ '10': Resultado negativo de la autenticación fuerte en el sistema del banco.
96
+ '11': Resultado negativo de la autenticación fuerte en el sistema del banco.
97
+ '12': Transacción no permitida para esta tarjeta.
98
+ '13': No hay tarjeta en el sistema del banco.
99
+ '14': Autenticación fuerte fallida.
100
+ '15': Resultado negativo de la autenticación fuerte en el sistema del banco.
101
+ '16': Resultado negativo de la autenticación fuerte en el sistema del banco.
102
+ '17': Resultado negativo de la autenticación fuerte en el sistema del banco.
103
+ '18': Resultado negativo de la autenticación fuerte en el sistema del banco.
104
+ '19': Resultado negativo de la autenticación fuerte en el sistema del banco.
105
+ '20': La transacción de falta de pago no es compatible con esta tarjeta.
106
+ '21': Autenticación fuerte fallida.
107
+ '22': Hubo un problema técnico en el sistema de verificación del banco.
108
+ '23': Autenticación fuerte fallida.
109
+ '24': Autenticación fuerte fallida.
110
+ '25': Autenticación fuerte fallida.
111
+ '26': Autenticación fuerte fallida.
112
+ '80': Autenticación fuerte fallida.
113
+ '81': Autenticación fuerte fallida.
114
+ '82': Autenticación fuerte fallida.
115
+ '83': Autenticación fuerte fallida.
116
+ '84': Autenticación fuerte fallida.
117
+ '85': Autenticación fuerte fallida.
118
+ '86': Autenticación fuerte fallida.
119
+ '87': Autenticación fuerte fallida.
120
+ '88': Autenticación fuerte fallida.
121
+
122
+ issuer_response_codes:
123
+ suggestion: 'Sugerencia'
124
+ fraud_notice: 'NOTA: ¡No repita las cargas para esta tarjeta! ¡Esto puede considerarse un intento de fraude!'
125
+ fraudulent_codes:
126
+ '04': verdadero
127
+ '07': verdadero
128
+ '12': verdadero
129
+ '14': verdadero
130
+ '15': verdadero
131
+ '41': verdadero
132
+ '43': verdadero
133
+ '54': verdadero
134
+ '57': verdadero
135
+ '59': verdadero
136
+ '63': verdadero
137
+ 'R0': verdadero
138
+ 'R1': verdadero
139
+ 'R3': verdadero
140
+ behaviour:
141
+ unknown: Póngase en contacto con nuestro servicio de asistencia.
142
+ '00': "Vuelva a intentarlo más tarde o póngase en contacto con el vendedor."
143
+ '1A': "Inténtelo de nuevo o póngase en contacto con su banco para verificar su configuración de pago en línea."
144
+ '01': "Utilice otra tarjeta o póngase en contacto con su banco."
145
+ '02': "Utilice otra tarjeta o póngase en contacto con su banco."
146
+ '03': "Utilice otra tarjeta o póngase en contacto con su banco."
147
+ '04': "Utilice otra tarjeta o póngase en contacto con su banco."
148
+ '05': "Utilice otra tarjeta o póngase en contacto con su banco para verificar la configuración del pago en línea."
149
+ '06': "Utilice otra tarjeta o póngase en contacto con su banco para verificar la configuración del pago en línea."
150
+ '07': "Utilice otra tarjeta o póngase en contacto con su banco."
151
+ '12': "Utilice otra tarjeta o póngase en contacto con su banco."
152
+ '13': "Utilice otra tarjeta o póngase en contacto con su banco para verificar sus límites de pago en línea."
153
+ '14': "Utilice otra tarjeta."
154
+ '15': "Utilice otra tarjeta."
155
+ '19': "Utilice otra tarjeta o póngase en contacto con su banco."
156
+ '21': "Utilice otra tarjeta o póngase en contacto con su banco."
157
+ '30': "Utilice otra tarjeta o póngase en contacto con su banco."
158
+ '39': "Utilice otra tarjeta o póngase en contacto con su banco."
159
+ '41': "Utilice otra tarjeta o póngase en contacto con su banco."
160
+ '43': "Utilice otra tarjeta o póngase en contacto con su banco."
161
+ '51': "Utilice otra tarjeta, compruebe la disponibilidad de fondos o póngase en contacto con su banco para verificar los límites de pago en línea."
162
+ '52': "Utilice otra tarjeta o póngase en contacto con su banco."
163
+ '53': "Utilice otra tarjeta o póngase en contacto con su banco."
164
+ '54': "Utilice otra tarjeta."
165
+ '55': "Utilice otra tarjeta, compruebe que el código CVV/CVC es correcto o póngase en contacto con su banco."
166
+ '57': "Utilice otra tarjeta o póngase en contacto con su banco para verificar la configuración del pago en línea."
167
+ '58': "Utilice otra tarjeta o póngase en contacto con su banco para verificar la configuración del pago en línea."
168
+ '59': "Utilice otra tarjeta o póngase en contacto con su banco."
169
+ '61': "Utilice otra tarjeta o póngase en contacto con su banco para verificar sus límites de pago en línea."
170
+ '62': "Utilice otra tarjeta o póngase en contacto con su banco."
171
+ '63': "Utilice otra tarjeta o póngase en contacto con su banco."
172
+ '65': "Utilice otra tarjeta o póngase en contacto con su banco."
173
+ '70': "Inténtelo de nuevo o póngase en contacto con su banco para verificar su configuración de pago en línea."
174
+ '76': "Utilice otra tarjeta o póngase en contacto con su banco."
175
+ '77': "Utilice otra tarjeta o póngase en contacto con su banco."
176
+ '78': "Utilice otra tarjeta o póngase en contacto con su banco para activarla."
177
+ '82': "Utilice otra tarjeta o póngase en contacto con su banco."
178
+ 'N7': "Utilice otra tarjeta, compruebe que el código CVV/CVC es correcto o póngase en contacto con su banco."
179
+ 'R0': "Utilice otra tarjeta o póngase en contacto con su banco."
180
+ 'R1': "Utilice otra tarjeta o póngase en contacto con su banco."
181
+ 'R3': "Utilice otra tarjeta o póngase en contacto con su banco."
182
+ 'E3': "Vuelva a intentarlo más tarde o póngase en contacto con su banco."
183
+ 'E4': "Vuelva a intentarlo más tarde o póngase en contacto con su banco."
184
+ 'E5': "Vuelva a intentarlo más tarde o póngase en contacto con su banco."
185
+ '75': "Utilice otra tarjeta, compruebe que el código CVV/CVC es correcto o póngase en contacto con su banco."
186
+ '85': "El banco ha confirmado la autorización."
187
+ '86': "Utilice otra tarjeta o póngase en contacto con su banco."
188
+ '91': "Utilice otra tarjeta o inténtelo más tarde."
189
+ '92': "Utilice otra tarjeta o póngase en contacto con su banco."
190
+ '93': "Utilice otra tarjeta o póngase en contacto con su banco."
191
+ '94': "Utilice otra tarjeta o póngase en contacto con su banco."
192
+ '96': "Utilice otra tarjeta o póngase en contacto con su banco."
193
+ '98': "Utilice otra tarjeta o póngase en contacto con su banco."
194
+ 'N3': "Utilice otra tarjeta o póngase en contacto con su banco."
195
+ 'P5': "Utilice otra tarjeta o póngase en contacto con su banco."
196
+ 'R2': "Utilice otra tarjeta o póngase en contacto con su banco."
197
+ universal: &issuer_response_code
198
+ unknown: Causa desconocida
199
+ '75': "Se ha superado el límite de intentos de introducción de CVV/CVC/PIN incorrectos."
200
+ '85': "La autorización se ha realizado correctamente"
201
+ '86': "Pago rechazado por el banco - No se puede verificar el PIN"
202
+ '91': "Pago rechazado - el sistema de autorización bancaria no está disponible temporalmente."
203
+ '92': "No se puede procesar el pago - emisor de tarjeta no identificado."
204
+ '93': "Pago rechazado por el banco."
205
+ '94': "Error temporal por parte del banco."
206
+ '96': "Error temporal por parte del banco."
207
+ '98': "Error temporal por parte del banco."
208
+ 'N3': "Pago rechazado por el banco."
209
+ 'P5': "Pago rechazado por el banco."
210
+ 'R2': "Pago rechazado por el banco."
211
+ 'E3': "Verificación 3D-Secure incorrecta: error del banco."
212
+ 'E4': "Verificación 3D-Secure incorrecta: Transacción rechazada por el banco por fallo de autorización."
213
+ 'E5': "Error temporal con la verificación 3D-Secure."
214
+ targeted:
215
+ merchant:
216
+ <<: *issuer_response_code
217
+ '00': "Rechazo de transacción a nivel del operador. El pago fue rechazado debido a: 1) falta de respuesta del banco; 2) bloqueo de la cuenta del vendedor; 3) uso de un tipo de tarjeta no admitido o datos de tarjeta incorrectos.
218
+
219
+ Compruebe que la cuenta del vendedor con el agente de facturación está activa y configurada correctamente en Espago."
220
+ '1A': "Se requiere autenticación fuerte (SCA)."
221
+ '01': "Código propio del emisor de la tarjeta."
222
+ '02': "Código propio del emisor de la tarjeta."
223
+ '03': "Detalles del destinatario no válidos/incompletos o cuenta inactiva."
224
+ '04': "Tarjeta restringida (por motivos distintos del robo/pérdida)."
225
+ '05': "El banco ha rechazado el pago sin dar una razón específica. El cliente debe ponerse en contacto con el banco para obtener aclaraciones. Probablemente los pagos tipo MOTO/eCommerce/de suscripción estén inactivos o no sean compatibles. "
226
+ '06': "El banco ha informado de un error al procesar el pago."
227
+ '07': "Tarjeta restringida (sospecha de fraude)."
228
+ '12': "Transacción no válida o no disponible para esta tarjeta."
229
+ '13': "Importe de transacción incorrecto (límite excedido) o conversión de moneda incorrecta."
230
+ '14': "Número de tarjeta o de cuenta incorrecto."
231
+ '15': "No se ha identificado ningún emisor de tarjeta."
232
+ '19': "El banco ha rechazado el pago con un mensaje que sugería volver a intentarlo."
233
+ '21': "El banco no ha aceptado la solicitud de cargo."
234
+ '30': "Formato de datos de mensaje de autorización incorrecto."
235
+ '39': "La tarjeta no está vinculada a una cuenta de crédito."
236
+ '41': "Tarjeta marcada como perdida."
237
+ '43': "Tarjeta marcada como robada"
238
+ '51': "Insuficiencia de fondos en la cuenta o superación del límite correspondiente al tipo de pago."
239
+ '52': "La tarjeta no está vinculada a la cuenta en la que se puedan hacer cargos."
240
+ '53': "La tarjeta no está vinculada a la cuenta en la que se puedan hacer cargos."
241
+ '54': "Tarjeta caducada o sin fecha de caducidad."
242
+ '55': "Código CVV incorrecto."
243
+ '57': "Tipo de transacción no permitida para la tarjeta."
244
+ '58': "Tipo de transacción no permitida en este terminal."
245
+ '59': "Sospecha de fraude."
246
+ '61': "Superación del límite para un tipo de pago determinado."
247
+ '62': "Restricción de tarjeta, exclusión por el país del emisor."
248
+ '63': "El banco ha rechazado el pago debido a una brecha de seguridad detectada."
249
+ '65': "Se ha superado el límite diario de transacciones de esta tarjeta."
250
+ '70': "Se requiere una autenticación fuerte."
251
+ '76': "Los datos del pago indicado no coinciden con los del banco."
252
+ '77': "Reembolso doble o pago doble."
253
+ '78': "Tarjeta nueva, desactivada."
254
+ '82': "Código CVV incorrecto."
255
+ 'N7': "Código CVV incorrecto."
256
+ 'R0': "Ha habido una solicitud para retener más pagos."
257
+ 'R1': "Ha habido una solicitud para retener más pagos."
258
+ 'R3': "Ha habido una solicitud para retener todos los pagos."
259
+ cardholder:
260
+ <<: *issuer_response_code
261
+ '00': "El pago ha fallado."
262
+ '1A': "Se requiere autenticación fuerte (SCA)."
263
+ '01': "Pago rechazado por el banco."
264
+ '02': "Pago rechazado por el banco."
265
+ '03': "No se puede pagar con esta tarjeta con este vendedor."
266
+ '04': "Pago rechazado por el banco."
267
+ '05': "Pago rechazado por el banco."
268
+ '06': "Pago rechazado por el banco."
269
+ '07': "Pago rechazado por el banco."
270
+ '12': "Pago rechazado: la transacción es incorrecta."
271
+ '13': "Pago rechazado: el importe es incorrecto o se ha producido una conversión de moneda incorrecta."
272
+ '14': "Pago rechazado: los datos de la tarjeta son incorrectos."
273
+ '15': "Pago rechazado - emisor de tarjeta desconocido."
274
+ '19': "Pago rechazado por el banco."
275
+ '21': "Pago rechazado por el banco."
276
+ '30': "Pago rechazado - formato incorrecto del mensaje de autorización."
277
+ '39': "Pago rechazado por el banco."
278
+ '41': "Pago rechazado por el banco."
279
+ '43': "Pago rechazado por el banco."
280
+ '51': "Pago rechazado: no hay fondos o se ha excedido el límite."
281
+ '52': "Pago rechazado por el banco."
282
+ '53': "Pago rechazado por el banco."
283
+ '54': "Pago rechazado - Tarjeta caducada."
284
+ '55': "Pago rechazado - PIN incorrecto o faltante."
285
+ '57': "Pago rechazado - Tipo de transacción no permitida."
286
+ '58': "Pago rechazado - Tipo de transacción no permitida."
287
+ '59': "Pago rechazado por el banco."
288
+ '61': "Pago rechazado: se ha superado el límite de pago."
289
+ '62': "Pago rechazado por el banco: la tarjeta no se puede utilizar en esta región o país."
290
+ '63': "Pago rechazado por el banco por motivos de seguridad."
291
+ '65': "Pago rechazado: se ha superado el límite del número de usos."
292
+ '70': "Se requiere autenticación fuerte (SCA)."
293
+ '76': "El pago no puede retirarse."
294
+ '77': "La transacción no puede completarse."
295
+ '78': "Pago rechazado - tarjeta no activada."
296
+ '82': "Pago rechazado por el banco - verificación negativa de CAM, dCVV, iCVV o CVV."
297
+ 'N7': "Pago rechazado por el banco - verificación CVV negativa."
298
+ 'R0': "Pago rechazado por el banco: se solicitó la retención de la autorización."
299
+ 'R1': "Pago rechazado por el banco: se solicitó la retención de la autorización."
300
+ 'R3': "Pago rechazado por el banco: se solicitó la retención de la autorización."