issuer_response_codes 0.2.5 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.5'
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."