aws-sdk-paymentcryptographydata 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2233 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::PaymentCryptographyData
11
+ module Types
12
+
13
+ # You do not have sufficient access to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # Card data parameters that are required to generate a Card Security
27
+ # Code (CSC2) for an AMEX payment card.
28
+ #
29
+ # @!attribute [rw] card_expiry_date
30
+ # The expiry date of a payment card.
31
+ # @return [String]
32
+ #
33
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/AmexCardSecurityCodeVersion1 AWS API Documentation
34
+ #
35
+ class AmexCardSecurityCodeVersion1 < Struct.new(
36
+ :card_expiry_date)
37
+ SENSITIVE = []
38
+ include Aws::Structure
39
+ end
40
+
41
+ # Card data parameters that are required to generate a Card Security
42
+ # Code (CSC2) for an AMEX payment card.
43
+ #
44
+ # @!attribute [rw] card_expiry_date
45
+ # The expiry date of a payment card.
46
+ # @return [String]
47
+ #
48
+ # @!attribute [rw] service_code
49
+ # The service code of the AMEX payment card. This is different from
50
+ # the Card Security Code (CSC).
51
+ # @return [String]
52
+ #
53
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/AmexCardSecurityCodeVersion2 AWS API Documentation
54
+ #
55
+ class AmexCardSecurityCodeVersion2 < Struct.new(
56
+ :card_expiry_date,
57
+ :service_code)
58
+ SENSITIVE = []
59
+ include Aws::Structure
60
+ end
61
+
62
+ # Parameters for plaintext encryption using asymmetric keys.
63
+ #
64
+ # @!attribute [rw] padding_type
65
+ # The padding to be included with the data.
66
+ # @return [String]
67
+ #
68
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/AsymmetricEncryptionAttributes AWS API Documentation
69
+ #
70
+ class AsymmetricEncryptionAttributes < Struct.new(
71
+ :padding_type)
72
+ SENSITIVE = []
73
+ include Aws::Structure
74
+ end
75
+
76
+ # Card data parameters that are required to generate Card Verification
77
+ # Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or
78
+ # Card Security Codes (CSC).
79
+ #
80
+ # @note CardGenerationAttributes is a union - when making an API calls you must set exactly one of the members.
81
+ #
82
+ # @!attribute [rw] amex_card_security_code_version_1
83
+ # Card data parameters that are required to generate a Card Security
84
+ # Code (CSC2) for an AMEX payment card.
85
+ # @return [Types::AmexCardSecurityCodeVersion1]
86
+ #
87
+ # @!attribute [rw] amex_card_security_code_version_2
88
+ # Card data parameters that are required to generate a Card Security
89
+ # Code (CSC2) for an AMEX payment card.
90
+ # @return [Types::AmexCardSecurityCodeVersion2]
91
+ #
92
+ # @!attribute [rw] card_holder_verification_value
93
+ # Card data parameters that are required to generate a cardholder
94
+ # verification value for the payment card.
95
+ # @return [Types::CardHolderVerificationValue]
96
+ #
97
+ # @!attribute [rw] card_verification_value_1
98
+ # Card data parameters that are required to generate Card Verification
99
+ # Value (CVV) for the payment card.
100
+ # @return [Types::CardVerificationValue1]
101
+ #
102
+ # @!attribute [rw] card_verification_value_2
103
+ # Card data parameters that are required to generate Card Verification
104
+ # Value (CVV2) for the payment card.
105
+ # @return [Types::CardVerificationValue2]
106
+ #
107
+ # @!attribute [rw] dynamic_card_verification_code
108
+ # Card data parameters that are required to generate CDynamic Card
109
+ # Verification Code (dCVC) for the payment card.
110
+ # @return [Types::DynamicCardVerificationCode]
111
+ #
112
+ # @!attribute [rw] dynamic_card_verification_value
113
+ # Card data parameters that are required to generate CDynamic Card
114
+ # Verification Value (dCVV) for the payment card.
115
+ # @return [Types::DynamicCardVerificationValue]
116
+ #
117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CardGenerationAttributes AWS API Documentation
118
+ #
119
+ class CardGenerationAttributes < Struct.new(
120
+ :amex_card_security_code_version_1,
121
+ :amex_card_security_code_version_2,
122
+ :card_holder_verification_value,
123
+ :card_verification_value_1,
124
+ :card_verification_value_2,
125
+ :dynamic_card_verification_code,
126
+ :dynamic_card_verification_value,
127
+ :unknown)
128
+ SENSITIVE = []
129
+ include Aws::Structure
130
+ include Aws::Structure::Union
131
+
132
+ class AmexCardSecurityCodeVersion1 < CardGenerationAttributes; end
133
+ class AmexCardSecurityCodeVersion2 < CardGenerationAttributes; end
134
+ class CardHolderVerificationValue < CardGenerationAttributes; end
135
+ class CardVerificationValue1 < CardGenerationAttributes; end
136
+ class CardVerificationValue2 < CardGenerationAttributes; end
137
+ class DynamicCardVerificationCode < CardGenerationAttributes; end
138
+ class DynamicCardVerificationValue < CardGenerationAttributes; end
139
+ class Unknown < CardGenerationAttributes; end
140
+ end
141
+
142
+ # Card data parameters that are required to generate a cardholder
143
+ # verification value for the payment card.
144
+ #
145
+ # @!attribute [rw] application_transaction_counter
146
+ # The transaction counter value that comes from a point of sale
147
+ # terminal.
148
+ # @return [String]
149
+ #
150
+ # @!attribute [rw] pan_sequence_number
151
+ # A number that identifies and differentiates payment cards with the
152
+ # same Primary Account Number (PAN).
153
+ # @return [String]
154
+ #
155
+ # @!attribute [rw] unpredictable_number
156
+ # A random number generated by the issuer.
157
+ # @return [String]
158
+ #
159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CardHolderVerificationValue AWS API Documentation
160
+ #
161
+ class CardHolderVerificationValue < Struct.new(
162
+ :application_transaction_counter,
163
+ :pan_sequence_number,
164
+ :unpredictable_number)
165
+ SENSITIVE = []
166
+ include Aws::Structure
167
+ end
168
+
169
+ # Card data parameters that are requried to verify Card Verification
170
+ # Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or
171
+ # Card Security Codes (CSC).
172
+ #
173
+ # @note CardVerificationAttributes is a union - when making an API calls you must set exactly one of the members.
174
+ #
175
+ # @!attribute [rw] amex_card_security_code_version_1
176
+ # Card data parameters that are required to generate a Card Security
177
+ # Code (CSC2) for an AMEX payment card.
178
+ # @return [Types::AmexCardSecurityCodeVersion1]
179
+ #
180
+ # @!attribute [rw] amex_card_security_code_version_2
181
+ # Card data parameters that are required to verify a Card Security
182
+ # Code (CSC2) for an AMEX payment card.
183
+ # @return [Types::AmexCardSecurityCodeVersion2]
184
+ #
185
+ # @!attribute [rw] card_holder_verification_value
186
+ # Card data parameters that are required to verify a cardholder
187
+ # verification value for the payment card.
188
+ # @return [Types::CardHolderVerificationValue]
189
+ #
190
+ # @!attribute [rw] card_verification_value_1
191
+ # Card data parameters that are required to verify Card Verification
192
+ # Value (CVV) for the payment card.
193
+ # @return [Types::CardVerificationValue1]
194
+ #
195
+ # @!attribute [rw] card_verification_value_2
196
+ # Card data parameters that are required to verify Card Verification
197
+ # Value (CVV2) for the payment card.
198
+ # @return [Types::CardVerificationValue2]
199
+ #
200
+ # @!attribute [rw] discover_dynamic_card_verification_code
201
+ # Card data parameters that are required to verify CDynamic Card
202
+ # Verification Code (dCVC) for the payment card.
203
+ # @return [Types::DiscoverDynamicCardVerificationCode]
204
+ #
205
+ # @!attribute [rw] dynamic_card_verification_code
206
+ # Card data parameters that are required to verify CDynamic Card
207
+ # Verification Code (dCVC) for the payment card.
208
+ # @return [Types::DynamicCardVerificationCode]
209
+ #
210
+ # @!attribute [rw] dynamic_card_verification_value
211
+ # Card data parameters that are required to verify CDynamic Card
212
+ # Verification Value (dCVV) for the payment card.
213
+ # @return [Types::DynamicCardVerificationValue]
214
+ #
215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CardVerificationAttributes AWS API Documentation
216
+ #
217
+ class CardVerificationAttributes < Struct.new(
218
+ :amex_card_security_code_version_1,
219
+ :amex_card_security_code_version_2,
220
+ :card_holder_verification_value,
221
+ :card_verification_value_1,
222
+ :card_verification_value_2,
223
+ :discover_dynamic_card_verification_code,
224
+ :dynamic_card_verification_code,
225
+ :dynamic_card_verification_value,
226
+ :unknown)
227
+ SENSITIVE = []
228
+ include Aws::Structure
229
+ include Aws::Structure::Union
230
+
231
+ class AmexCardSecurityCodeVersion1 < CardVerificationAttributes; end
232
+ class AmexCardSecurityCodeVersion2 < CardVerificationAttributes; end
233
+ class CardHolderVerificationValue < CardVerificationAttributes; end
234
+ class CardVerificationValue1 < CardVerificationAttributes; end
235
+ class CardVerificationValue2 < CardVerificationAttributes; end
236
+ class DiscoverDynamicCardVerificationCode < CardVerificationAttributes; end
237
+ class DynamicCardVerificationCode < CardVerificationAttributes; end
238
+ class DynamicCardVerificationValue < CardVerificationAttributes; end
239
+ class Unknown < CardVerificationAttributes; end
240
+ end
241
+
242
+ # Card data parameters that are required to verify CVV (Card
243
+ # Verification Value) for the payment card.
244
+ #
245
+ # @!attribute [rw] card_expiry_date
246
+ # The expiry date of a payment card.
247
+ # @return [String]
248
+ #
249
+ # @!attribute [rw] service_code
250
+ # The service code of the payment card. This is different from Card
251
+ # Security Code (CSC).
252
+ # @return [String]
253
+ #
254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CardVerificationValue1 AWS API Documentation
255
+ #
256
+ class CardVerificationValue1 < Struct.new(
257
+ :card_expiry_date,
258
+ :service_code)
259
+ SENSITIVE = []
260
+ include Aws::Structure
261
+ end
262
+
263
+ # Card data parameters that are required to verify Card Verification
264
+ # Value (CVV2) for the payment card.
265
+ #
266
+ # @!attribute [rw] card_expiry_date
267
+ # The expiry date of a payment card.
268
+ # @return [String]
269
+ #
270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CardVerificationValue2 AWS API Documentation
271
+ #
272
+ class CardVerificationValue2 < Struct.new(
273
+ :card_expiry_date)
274
+ SENSITIVE = []
275
+ include Aws::Structure
276
+ end
277
+
278
+ # Parameters that are required for Authorization Response Cryptogram
279
+ # (ARPC) generation after Authorization Request Cryptogram (ARQC)
280
+ # verification is successful.
281
+ #
282
+ # @note CryptogramAuthResponse is a union - when making an API calls you must set exactly one of the members.
283
+ #
284
+ # @!attribute [rw] arpc_method_1
285
+ # Parameters that are required for ARPC response generation using
286
+ # method1 after ARQC verification is successful.
287
+ # @return [Types::CryptogramVerificationArpcMethod1]
288
+ #
289
+ # @!attribute [rw] arpc_method_2
290
+ # Parameters that are required for ARPC response generation using
291
+ # method2 after ARQC verification is successful.
292
+ # @return [Types::CryptogramVerificationArpcMethod2]
293
+ #
294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CryptogramAuthResponse AWS API Documentation
295
+ #
296
+ class CryptogramAuthResponse < Struct.new(
297
+ :arpc_method_1,
298
+ :arpc_method_2,
299
+ :unknown)
300
+ SENSITIVE = []
301
+ include Aws::Structure
302
+ include Aws::Structure::Union
303
+
304
+ class ArpcMethod1 < CryptogramAuthResponse; end
305
+ class ArpcMethod2 < CryptogramAuthResponse; end
306
+ class Unknown < CryptogramAuthResponse; end
307
+ end
308
+
309
+ # Parameters that are required for ARPC response generation using
310
+ # method1 after ARQC verification is successful.
311
+ #
312
+ # @!attribute [rw] auth_response_code
313
+ # The auth code used to calculate APRC after ARQC verification is
314
+ # successful. This is the same auth code used for ARQC generation
315
+ # outside of Amazon Web Services Payment Cryptography.
316
+ # @return [String]
317
+ #
318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CryptogramVerificationArpcMethod1 AWS API Documentation
319
+ #
320
+ class CryptogramVerificationArpcMethod1 < Struct.new(
321
+ :auth_response_code)
322
+ SENSITIVE = []
323
+ include Aws::Structure
324
+ end
325
+
326
+ # Parameters that are required for ARPC response generation using
327
+ # method2 after ARQC verification is successful.
328
+ #
329
+ # @!attribute [rw] card_status_update
330
+ # The data indicating whether the issuer approves or declines an
331
+ # online transaction using an EMV chip card.
332
+ # @return [String]
333
+ #
334
+ # @!attribute [rw] proprietary_authentication_data
335
+ # The proprietary authentication data used by issuer for communication
336
+ # during online transaction using an EMV chip card.
337
+ # @return [String]
338
+ #
339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/CryptogramVerificationArpcMethod2 AWS API Documentation
340
+ #
341
+ class CryptogramVerificationArpcMethod2 < Struct.new(
342
+ :card_status_update,
343
+ :proprietary_authentication_data)
344
+ SENSITIVE = []
345
+ include Aws::Structure
346
+ end
347
+
348
+ # @!attribute [rw] cipher_text
349
+ # The ciphertext to decrypt.
350
+ # @return [String]
351
+ #
352
+ # @!attribute [rw] decryption_attributes
353
+ # The encryption key type and attributes for ciphertext decryption.
354
+ # @return [Types::EncryptionDecryptionAttributes]
355
+ #
356
+ # @!attribute [rw] key_identifier
357
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
358
+ # Cryptography uses for ciphertext decryption.
359
+ # @return [String]
360
+ #
361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DecryptDataInput AWS API Documentation
362
+ #
363
+ class DecryptDataInput < Struct.new(
364
+ :cipher_text,
365
+ :decryption_attributes,
366
+ :key_identifier)
367
+ SENSITIVE = [:cipher_text]
368
+ include Aws::Structure
369
+ end
370
+
371
+ # @!attribute [rw] key_arn
372
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
373
+ # Cryptography uses for ciphertext decryption.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] key_check_value
377
+ # The key check value (KCV) of the encryption key. The KCV is used to
378
+ # check if all parties holding a given key have the same key or to
379
+ # detect that a key has changed. Amazon Web Services Payment
380
+ # Cryptography calculates the KCV by using standard algorithms,
381
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
382
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
383
+ # resulting cryptogram.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] plain_text
387
+ # The decrypted plaintext data.
388
+ # @return [String]
389
+ #
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DecryptDataOutput AWS API Documentation
391
+ #
392
+ class DecryptDataOutput < Struct.new(
393
+ :key_arn,
394
+ :key_check_value,
395
+ :plain_text)
396
+ SENSITIVE = [:plain_text]
397
+ include Aws::Structure
398
+ end
399
+
400
+ # Parameters that are required to generate or verify dCVC (Dynamic Card
401
+ # Verification Code).
402
+ #
403
+ # @!attribute [rw] application_transaction_counter
404
+ # The transaction counter value that comes from the terminal.
405
+ # @return [String]
406
+ #
407
+ # @!attribute [rw] card_expiry_date
408
+ # The expiry date of a payment card.
409
+ # @return [String]
410
+ #
411
+ # @!attribute [rw] unpredictable_number
412
+ # A random number that is generated by the issuer.
413
+ # @return [String]
414
+ #
415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DiscoverDynamicCardVerificationCode AWS API Documentation
416
+ #
417
+ class DiscoverDynamicCardVerificationCode < Struct.new(
418
+ :application_transaction_counter,
419
+ :card_expiry_date,
420
+ :unpredictable_number)
421
+ SENSITIVE = []
422
+ include Aws::Structure
423
+ end
424
+
425
+ # Parameters that are used for Derived Unique Key Per Transaction
426
+ # (DUKPT) derivation algorithm.
427
+ #
428
+ # @!attribute [rw] dukpt_derivation_type
429
+ # The key type derived using DUKPT from a Base Derivation Key (BDK)
430
+ # and Key Serial Number (KSN). This must be less than or equal to the
431
+ # strength of the BDK. For example, you can't use `AES_128` as a
432
+ # derivation type for a BDK of `AES_128` or `TDES_2KEY`.
433
+ # @return [String]
434
+ #
435
+ # @!attribute [rw] key_serial_number
436
+ # The unique identifier known as Key Serial Number (KSN) that comes
437
+ # from an encrypting device using DUKPT encryption method. The KSN is
438
+ # derived from the encrypting device unique identifier and an internal
439
+ # transaction counter.
440
+ # @return [String]
441
+ #
442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DukptAttributes AWS API Documentation
443
+ #
444
+ class DukptAttributes < Struct.new(
445
+ :dukpt_derivation_type,
446
+ :key_serial_number)
447
+ SENSITIVE = []
448
+ include Aws::Structure
449
+ end
450
+
451
+ # Parameters required for encryption or decryption of data using DUKPT.
452
+ #
453
+ # @!attribute [rw] dukpt_key_derivation_type
454
+ # The key type derived using DUKPT from a Base Derivation Key (BDK)
455
+ # and Key Serial Number (KSN). This must be less than or equal to the
456
+ # strength of the BDK. For example, you can't use `AES_128` as a
457
+ # derivation type for a BDK of `AES_128` or `TDES_2KEY`
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] dukpt_key_variant
461
+ # The type of use of DUKPT, which can be for incoming data decryption,
462
+ # outgoing data encryption, or both.
463
+ # @return [String]
464
+ #
465
+ # @!attribute [rw] key_serial_number
466
+ # The unique identifier known as Key Serial Number (KSN) that comes
467
+ # from an encrypting device using DUKPT encryption method. The KSN is
468
+ # derived from the encrypting device unique identifier and an internal
469
+ # transaction counter.
470
+ # @return [String]
471
+ #
472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DukptDerivationAttributes AWS API Documentation
473
+ #
474
+ class DukptDerivationAttributes < Struct.new(
475
+ :dukpt_key_derivation_type,
476
+ :dukpt_key_variant,
477
+ :key_serial_number)
478
+ SENSITIVE = []
479
+ include Aws::Structure
480
+ end
481
+
482
+ # Parameters that are required to encrypt plaintext data using DUKPT.
483
+ #
484
+ # @!attribute [rw] dukpt_key_derivation_type
485
+ # The key type encrypted using DUKPT from a Base Derivation Key (BDK)
486
+ # and Key Serial Number (KSN). This must be less than or equal to the
487
+ # strength of the BDK. For example, you can't use `AES_128` as a
488
+ # derivation type for a BDK of `AES_128` or `TDES_2KEY`
489
+ # @return [String]
490
+ #
491
+ # @!attribute [rw] dukpt_key_variant
492
+ # The type of use of DUKPT, which can be incoming data decryption,
493
+ # outgoing data encryption, or both.
494
+ # @return [String]
495
+ #
496
+ # @!attribute [rw] initialization_vector
497
+ # An input to cryptographic primitive used to provide the intial
498
+ # state. Typically the `InitializationVector` must have a random or
499
+ # psuedo-random value, but sometimes it only needs to be unpredictable
500
+ # or unique. If you don't provide a value, Amazon Web Services
501
+ # Payment Cryptography generates a random value.
502
+ # @return [String]
503
+ #
504
+ # @!attribute [rw] key_serial_number
505
+ # The unique identifier known as Key Serial Number (KSN) that comes
506
+ # from an encrypting device using DUKPT encryption method. The KSN is
507
+ # derived from the encrypting device unique identifier and an internal
508
+ # transaction counter.
509
+ # @return [String]
510
+ #
511
+ # @!attribute [rw] mode
512
+ # The block cipher mode of operation. Block ciphers are designed to
513
+ # encrypt a block of data of fixed size, for example, 128 bits. The
514
+ # size of the input block is usually same as the size of the encrypted
515
+ # output block, while the key length can be different. A mode of
516
+ # operation describes how to repeatedly apply a cipher's single-block
517
+ # operation to securely transform amounts of data larger than a block.
518
+ #
519
+ # The default is CBC.
520
+ # @return [String]
521
+ #
522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DukptEncryptionAttributes AWS API Documentation
523
+ #
524
+ class DukptEncryptionAttributes < Struct.new(
525
+ :dukpt_key_derivation_type,
526
+ :dukpt_key_variant,
527
+ :initialization_vector,
528
+ :key_serial_number,
529
+ :mode)
530
+ SENSITIVE = [:initialization_vector]
531
+ include Aws::Structure
532
+ end
533
+
534
+ # Parameters that are required to generate or verify Dynamic Card
535
+ # Verification Value (dCVV).
536
+ #
537
+ # @!attribute [rw] application_transaction_counter
538
+ # The transaction counter value that comes from the terminal.
539
+ # @return [String]
540
+ #
541
+ # @!attribute [rw] pan_sequence_number
542
+ # A number that identifies and differentiates payment cards with the
543
+ # same Primary Account Number (PAN).
544
+ # @return [String]
545
+ #
546
+ # @!attribute [rw] track_data
547
+ # The data on the two tracks of magnetic cards used for financial
548
+ # transactions. This includes the cardholder name, PAN, expiration
549
+ # date, bank ID (BIN) and several other numbers the issuing bank uses
550
+ # to validate the data received.
551
+ # @return [String]
552
+ #
553
+ # @!attribute [rw] unpredictable_number
554
+ # A random number generated by the issuer.
555
+ # @return [String]
556
+ #
557
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DynamicCardVerificationCode AWS API Documentation
558
+ #
559
+ class DynamicCardVerificationCode < Struct.new(
560
+ :application_transaction_counter,
561
+ :pan_sequence_number,
562
+ :track_data,
563
+ :unpredictable_number)
564
+ SENSITIVE = []
565
+ include Aws::Structure
566
+ end
567
+
568
+ # Parameters that are required to generate or verify Dynamic Card
569
+ # Verification Value (dCVV).
570
+ #
571
+ # @!attribute [rw] application_transaction_counter
572
+ # The transaction counter value that comes from the terminal.
573
+ # @return [String]
574
+ #
575
+ # @!attribute [rw] card_expiry_date
576
+ # The expiry date of a payment card.
577
+ # @return [String]
578
+ #
579
+ # @!attribute [rw] pan_sequence_number
580
+ # A number that identifies and differentiates payment cards with the
581
+ # same Primary Account Number (PAN).
582
+ # @return [String]
583
+ #
584
+ # @!attribute [rw] service_code
585
+ # The service code of the payment card. This is different from Card
586
+ # Security Code (CSC).
587
+ # @return [String]
588
+ #
589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/DynamicCardVerificationValue AWS API Documentation
590
+ #
591
+ class DynamicCardVerificationValue < Struct.new(
592
+ :application_transaction_counter,
593
+ :card_expiry_date,
594
+ :pan_sequence_number,
595
+ :service_code)
596
+ SENSITIVE = []
597
+ include Aws::Structure
598
+ end
599
+
600
+ # @!attribute [rw] encryption_attributes
601
+ # The encryption key type and attributes for plaintext encryption.
602
+ # @return [Types::EncryptionDecryptionAttributes]
603
+ #
604
+ # @!attribute [rw] key_identifier
605
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
606
+ # Cryptography uses for plaintext encryption.
607
+ # @return [String]
608
+ #
609
+ # @!attribute [rw] plain_text
610
+ # The plaintext to be encrypted.
611
+ # @return [String]
612
+ #
613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/EncryptDataInput AWS API Documentation
614
+ #
615
+ class EncryptDataInput < Struct.new(
616
+ :encryption_attributes,
617
+ :key_identifier,
618
+ :plain_text)
619
+ SENSITIVE = [:plain_text]
620
+ include Aws::Structure
621
+ end
622
+
623
+ # @!attribute [rw] cipher_text
624
+ # The encrypted ciphertext.
625
+ # @return [String]
626
+ #
627
+ # @!attribute [rw] key_arn
628
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
629
+ # Cryptography uses for plaintext encryption.
630
+ # @return [String]
631
+ #
632
+ # @!attribute [rw] key_check_value
633
+ # The key check value (KCV) of the encryption key. The KCV is used to
634
+ # check if all parties holding a given key have the same key or to
635
+ # detect that a key has changed. Amazon Web Services Payment
636
+ # Cryptography calculates the KCV by using standard algorithms,
637
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
638
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
639
+ # resulting cryptogram.
640
+ # @return [String]
641
+ #
642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/EncryptDataOutput AWS API Documentation
643
+ #
644
+ class EncryptDataOutput < Struct.new(
645
+ :cipher_text,
646
+ :key_arn,
647
+ :key_check_value)
648
+ SENSITIVE = [:cipher_text]
649
+ include Aws::Structure
650
+ end
651
+
652
+ # Parameters that are required to perform encryption and decryption
653
+ # operations.
654
+ #
655
+ # @note EncryptionDecryptionAttributes is a union - when making an API calls you must set exactly one of the members.
656
+ #
657
+ # @!attribute [rw] asymmetric
658
+ # Parameters for plaintext encryption using asymmetric keys.
659
+ # @return [Types::AsymmetricEncryptionAttributes]
660
+ #
661
+ # @!attribute [rw] dukpt
662
+ # Parameters that are required to encrypt plaintext data using DUKPT.
663
+ # @return [Types::DukptEncryptionAttributes]
664
+ #
665
+ # @!attribute [rw] symmetric
666
+ # Parameters that are required to perform encryption and decryption
667
+ # using symmetric keys.
668
+ # @return [Types::SymmetricEncryptionAttributes]
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/EncryptionDecryptionAttributes AWS API Documentation
671
+ #
672
+ class EncryptionDecryptionAttributes < Struct.new(
673
+ :asymmetric,
674
+ :dukpt,
675
+ :symmetric,
676
+ :unknown)
677
+ SENSITIVE = []
678
+ include Aws::Structure
679
+ include Aws::Structure::Union
680
+
681
+ class Asymmetric < EncryptionDecryptionAttributes; end
682
+ class Dukpt < EncryptionDecryptionAttributes; end
683
+ class Symmetric < EncryptionDecryptionAttributes; end
684
+ class Unknown < EncryptionDecryptionAttributes; end
685
+ end
686
+
687
+ # @!attribute [rw] generation_attributes
688
+ # The algorithm for generating CVV or CSC values for the card within
689
+ # Amazon Web Services Payment Cryptography.
690
+ # @return [Types::CardGenerationAttributes]
691
+ #
692
+ # @!attribute [rw] key_identifier
693
+ # The `keyARN` of the CVK encryption key that Amazon Web Services
694
+ # Payment Cryptography uses to generate card data.
695
+ # @return [String]
696
+ #
697
+ # @!attribute [rw] primary_account_number
698
+ # The Primary Account Number (PAN), a unique identifier for a payment
699
+ # credit or debit card that associates the card with a specific
700
+ # account holder.
701
+ # @return [String]
702
+ #
703
+ # @!attribute [rw] validation_data_length
704
+ # The length of the CVV or CSC to be generated. The default value is
705
+ # 3.
706
+ # @return [Integer]
707
+ #
708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateCardValidationDataInput AWS API Documentation
709
+ #
710
+ class GenerateCardValidationDataInput < Struct.new(
711
+ :generation_attributes,
712
+ :key_identifier,
713
+ :primary_account_number,
714
+ :validation_data_length)
715
+ SENSITIVE = [:primary_account_number]
716
+ include Aws::Structure
717
+ end
718
+
719
+ # @!attribute [rw] key_arn
720
+ # The `keyARN` of the CVK encryption key that Amazon Web Services
721
+ # Payment Cryptography uses to generate CVV or CSC.
722
+ # @return [String]
723
+ #
724
+ # @!attribute [rw] key_check_value
725
+ # The key check value (KCV) of the encryption key. The KCV is used to
726
+ # check if all parties holding a given key have the same key or to
727
+ # detect that a key has changed. Amazon Web Services Payment
728
+ # Cryptography calculates the KCV by using standard algorithms,
729
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
730
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
731
+ # resulting cryptogram.
732
+ # @return [String]
733
+ #
734
+ # @!attribute [rw] validation_data
735
+ # The CVV or CSC value that Amazon Web Services Payment Cryptography
736
+ # generates for the card.
737
+ # @return [String]
738
+ #
739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateCardValidationDataOutput AWS API Documentation
740
+ #
741
+ class GenerateCardValidationDataOutput < Struct.new(
742
+ :key_arn,
743
+ :key_check_value,
744
+ :validation_data)
745
+ SENSITIVE = []
746
+ include Aws::Structure
747
+ end
748
+
749
+ # @!attribute [rw] generation_attributes
750
+ # The attributes and data values to use for MAC generation within
751
+ # Amazon Web Services Payment Cryptography.
752
+ # @return [Types::MacAttributes]
753
+ #
754
+ # @!attribute [rw] key_identifier
755
+ # The `keyARN` of the MAC generation encryption key.
756
+ # @return [String]
757
+ #
758
+ # @!attribute [rw] mac_length
759
+ # The length of a MAC under generation.
760
+ # @return [Integer]
761
+ #
762
+ # @!attribute [rw] message_data
763
+ # The data for which a MAC is under generation.
764
+ # @return [String]
765
+ #
766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateMacInput AWS API Documentation
767
+ #
768
+ class GenerateMacInput < Struct.new(
769
+ :generation_attributes,
770
+ :key_identifier,
771
+ :mac_length,
772
+ :message_data)
773
+ SENSITIVE = []
774
+ include Aws::Structure
775
+ end
776
+
777
+ # @!attribute [rw] key_arn
778
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
779
+ # Cryptography uses for MAC generation.
780
+ # @return [String]
781
+ #
782
+ # @!attribute [rw] key_check_value
783
+ # The key check value (KCV) of the encryption key. The KCV is used to
784
+ # check if all parties holding a given key have the same key or to
785
+ # detect that a key has changed. Amazon Web Services Payment
786
+ # Cryptography calculates the KCV by using standard algorithms,
787
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
788
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
789
+ # resulting cryptogram.
790
+ # @return [String]
791
+ #
792
+ # @!attribute [rw] mac
793
+ # The MAC cryptogram generated within Amazon Web Services Payment
794
+ # Cryptography.
795
+ # @return [String]
796
+ #
797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GenerateMacOutput AWS API Documentation
798
+ #
799
+ class GenerateMacOutput < Struct.new(
800
+ :key_arn,
801
+ :key_check_value,
802
+ :mac)
803
+ SENSITIVE = []
804
+ include Aws::Structure
805
+ end
806
+
807
+ # @!attribute [rw] encryption_key_identifier
808
+ # The `keyARN` of the PEK that Amazon Web Services Payment
809
+ # Cryptography uses to encrypt the PIN Block.
810
+ # @return [String]
811
+ #
812
+ # @!attribute [rw] generation_attributes
813
+ # The attributes and values to use for PIN, PVV, or PIN Offset
814
+ # generation.
815
+ # @return [Types::PinGenerationAttributes]
816
+ #
817
+ # @!attribute [rw] generation_key_identifier
818
+ # The `keyARN` of the PEK that Amazon Web Services Payment
819
+ # Cryptography uses for pin data generation.
820
+ # @return [String]
821
+ #
822
+ # @!attribute [rw] pin_block_format
823
+ # The PIN encoding format for pin data generation as specified in ISO
824
+ # 9564. Amazon Web Services Payment Cryptography supports
825
+ # `ISO_Format_0` and `ISO_Format_3`.
826
+ #
827
+ # The `ISO_Format_0` PIN block format is equivalent to the ANSI X9.8,
828
+ # VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN
829
+ # block format. It supports a PIN from 4 to 12 digits in length.
830
+ #
831
+ # The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
832
+ # except that the fill digits are random values from 10 to 15.
833
+ # @return [String]
834
+ #
835
+ # @!attribute [rw] pin_data_length
836
+ # The length of PIN under generation.
837
+ # @return [Integer]
838
+ #
839
+ # @!attribute [rw] primary_account_number
840
+ # The Primary Account Number (PAN), a unique identifier for a payment
841
+ # credit or debit card that associates the card with a specific
842
+ # account holder.
843
+ # @return [String]
844
+ #
845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GeneratePinDataInput AWS API Documentation
846
+ #
847
+ class GeneratePinDataInput < Struct.new(
848
+ :encryption_key_identifier,
849
+ :generation_attributes,
850
+ :generation_key_identifier,
851
+ :pin_block_format,
852
+ :pin_data_length,
853
+ :primary_account_number)
854
+ SENSITIVE = [:primary_account_number]
855
+ include Aws::Structure
856
+ end
857
+
858
+ # @!attribute [rw] encrypted_pin_block
859
+ # The PIN block encrypted under PEK from Amazon Web Services Payment
860
+ # Cryptography. The encrypted PIN block is a composite of PAN (Primary
861
+ # Account Number) and PIN (Personal Identification Number), generated
862
+ # in accordance with ISO 9564 standard.
863
+ # @return [String]
864
+ #
865
+ # @!attribute [rw] encryption_key_arn
866
+ # The `keyARN` of the PEK that Amazon Web Services Payment
867
+ # Cryptography uses for encrypted pin block generation.
868
+ # @return [String]
869
+ #
870
+ # @!attribute [rw] encryption_key_check_value
871
+ # The key check value (KCV) of the encryption key. The KCV is used to
872
+ # check if all parties holding a given key have the same key or to
873
+ # detect that a key has changed. Amazon Web Services Payment
874
+ # Cryptography calculates the KCV by using standard algorithms,
875
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
876
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
877
+ # resulting cryptogram.
878
+ # @return [String]
879
+ #
880
+ # @!attribute [rw] generation_key_arn
881
+ # The `keyARN` of the pin data generation key that Amazon Web Services
882
+ # Payment Cryptography uses for PIN, PVV or PIN Offset generation.
883
+ # @return [String]
884
+ #
885
+ # @!attribute [rw] generation_key_check_value
886
+ # The key check value (KCV) of the encryption key. The KCV is used to
887
+ # check if all parties holding a given key have the same key or to
888
+ # detect that a key has changed. Amazon Web Services Payment
889
+ # Cryptography calculates the KCV by using standard algorithms,
890
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
891
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
892
+ # resulting cryptogram.
893
+ # @return [String]
894
+ #
895
+ # @!attribute [rw] pin_data
896
+ # The attributes and values Amazon Web Services Payment Cryptography
897
+ # uses for pin data generation.
898
+ # @return [Types::PinData]
899
+ #
900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/GeneratePinDataOutput AWS API Documentation
901
+ #
902
+ class GeneratePinDataOutput < Struct.new(
903
+ :encrypted_pin_block,
904
+ :encryption_key_arn,
905
+ :encryption_key_check_value,
906
+ :generation_key_arn,
907
+ :generation_key_check_value,
908
+ :pin_data)
909
+ SENSITIVE = []
910
+ include Aws::Structure
911
+ end
912
+
913
+ # Parameters that are required to generate or verify Ibm3624 natural
914
+ # PIN.
915
+ #
916
+ # @!attribute [rw] decimalization_table
917
+ # The decimalization table to use for IBM 3624 PIN algorithm. The
918
+ # table is used to convert the algorithm intermediate result from
919
+ # hexadecimal characters to decimal.
920
+ # @return [String]
921
+ #
922
+ # @!attribute [rw] pin_validation_data
923
+ # The unique data for cardholder identification.
924
+ # @return [String]
925
+ #
926
+ # @!attribute [rw] pin_validation_data_pad_character
927
+ # The padding character for validation data.
928
+ # @return [String]
929
+ #
930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/Ibm3624NaturalPin AWS API Documentation
931
+ #
932
+ class Ibm3624NaturalPin < Struct.new(
933
+ :decimalization_table,
934
+ :pin_validation_data,
935
+ :pin_validation_data_pad_character)
936
+ SENSITIVE = []
937
+ include Aws::Structure
938
+ end
939
+
940
+ # Parameters that are required to generate or verify Ibm3624 PIN from
941
+ # offset PIN.
942
+ #
943
+ # @!attribute [rw] decimalization_table
944
+ # The decimalization table to use for IBM 3624 PIN algorithm. The
945
+ # table is used to convert the algorithm intermediate result from
946
+ # hexadecimal characters to decimal.
947
+ # @return [String]
948
+ #
949
+ # @!attribute [rw] pin_offset
950
+ # The PIN offset value.
951
+ # @return [String]
952
+ #
953
+ # @!attribute [rw] pin_validation_data
954
+ # The unique data for cardholder identification.
955
+ # @return [String]
956
+ #
957
+ # @!attribute [rw] pin_validation_data_pad_character
958
+ # The padding character for validation data.
959
+ # @return [String]
960
+ #
961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/Ibm3624PinFromOffset AWS API Documentation
962
+ #
963
+ class Ibm3624PinFromOffset < Struct.new(
964
+ :decimalization_table,
965
+ :pin_offset,
966
+ :pin_validation_data,
967
+ :pin_validation_data_pad_character)
968
+ SENSITIVE = []
969
+ include Aws::Structure
970
+ end
971
+
972
+ # Pparameters that are required to generate or verify Ibm3624 PIN offset
973
+ # PIN.
974
+ #
975
+ # @!attribute [rw] decimalization_table
976
+ # The decimalization table to use for IBM 3624 PIN algorithm. The
977
+ # table is used to convert the algorithm intermediate result from
978
+ # hexadecimal characters to decimal.
979
+ # @return [String]
980
+ #
981
+ # @!attribute [rw] encrypted_pin_block
982
+ # The encrypted PIN block data. According to ISO 9564 standard, a PIN
983
+ # Block is an encoded representation of a payment card Personal
984
+ # Account Number (PAN) and the cardholder Personal Identification
985
+ # Number (PIN).
986
+ # @return [String]
987
+ #
988
+ # @!attribute [rw] pin_validation_data
989
+ # The unique data for cardholder identification.
990
+ # @return [String]
991
+ #
992
+ # @!attribute [rw] pin_validation_data_pad_character
993
+ # The padding character for validation data.
994
+ # @return [String]
995
+ #
996
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/Ibm3624PinOffset AWS API Documentation
997
+ #
998
+ class Ibm3624PinOffset < Struct.new(
999
+ :decimalization_table,
1000
+ :encrypted_pin_block,
1001
+ :pin_validation_data,
1002
+ :pin_validation_data_pad_character)
1003
+ SENSITIVE = []
1004
+ include Aws::Structure
1005
+ end
1006
+
1007
+ # Parameters that are required to generate or verify Ibm3624 PIN
1008
+ # verification PIN.
1009
+ #
1010
+ # @!attribute [rw] decimalization_table
1011
+ # The decimalization table to use for IBM 3624 PIN algorithm. The
1012
+ # table is used to convert the algorithm intermediate result from
1013
+ # hexadecimal characters to decimal.
1014
+ # @return [String]
1015
+ #
1016
+ # @!attribute [rw] pin_offset
1017
+ # The PIN offset value.
1018
+ # @return [String]
1019
+ #
1020
+ # @!attribute [rw] pin_validation_data
1021
+ # The unique data for cardholder identification.
1022
+ # @return [String]
1023
+ #
1024
+ # @!attribute [rw] pin_validation_data_pad_character
1025
+ # The padding character for validation data.
1026
+ # @return [String]
1027
+ #
1028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/Ibm3624PinVerification AWS API Documentation
1029
+ #
1030
+ class Ibm3624PinVerification < Struct.new(
1031
+ :decimalization_table,
1032
+ :pin_offset,
1033
+ :pin_validation_data,
1034
+ :pin_validation_data_pad_character)
1035
+ SENSITIVE = []
1036
+ include Aws::Structure
1037
+ end
1038
+
1039
+ # Parameters that are required to generate or verify Ibm3624 random PIN.
1040
+ #
1041
+ # @!attribute [rw] decimalization_table
1042
+ # The decimalization table to use for IBM 3624 PIN algorithm. The
1043
+ # table is used to convert the algorithm intermediate result from
1044
+ # hexadecimal characters to decimal.
1045
+ # @return [String]
1046
+ #
1047
+ # @!attribute [rw] pin_validation_data
1048
+ # The unique data for cardholder identification.
1049
+ # @return [String]
1050
+ #
1051
+ # @!attribute [rw] pin_validation_data_pad_character
1052
+ # The padding character for validation data.
1053
+ # @return [String]
1054
+ #
1055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/Ibm3624RandomPin AWS API Documentation
1056
+ #
1057
+ class Ibm3624RandomPin < Struct.new(
1058
+ :decimalization_table,
1059
+ :pin_validation_data,
1060
+ :pin_validation_data_pad_character)
1061
+ SENSITIVE = []
1062
+ include Aws::Structure
1063
+ end
1064
+
1065
+ # The request processing has failed because of an unknown error,
1066
+ # exception, or failure.
1067
+ #
1068
+ # @!attribute [rw] message
1069
+ # @return [String]
1070
+ #
1071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/InternalServerException AWS API Documentation
1072
+ #
1073
+ class InternalServerException < Struct.new(
1074
+ :message)
1075
+ SENSITIVE = []
1076
+ include Aws::Structure
1077
+ end
1078
+
1079
+ # Parameters required for DUKPT MAC generation and verification.
1080
+ #
1081
+ # @!attribute [rw] dukpt_derivation_type
1082
+ # The key type derived using DUKPT from a Base Derivation Key (BDK)
1083
+ # and Key Serial Number (KSN). This must be less than or equal to the
1084
+ # strength of the BDK. For example, you can't use `AES_128` as a
1085
+ # derivation type for a BDK of `AES_128` or `TDES_2KEY`.
1086
+ # @return [String]
1087
+ #
1088
+ # @!attribute [rw] dukpt_key_variant
1089
+ # The type of use of DUKPT, which can be MAC generation, MAC
1090
+ # verification, or both.
1091
+ # @return [String]
1092
+ #
1093
+ # @!attribute [rw] key_serial_number
1094
+ # The unique identifier known as Key Serial Number (KSN) that comes
1095
+ # from an encrypting device using DUKPT encryption method. The KSN is
1096
+ # derived from the encrypting device unique identifier and an internal
1097
+ # transaction counter.
1098
+ # @return [String]
1099
+ #
1100
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/MacAlgorithmDukpt AWS API Documentation
1101
+ #
1102
+ class MacAlgorithmDukpt < Struct.new(
1103
+ :dukpt_derivation_type,
1104
+ :dukpt_key_variant,
1105
+ :key_serial_number)
1106
+ SENSITIVE = []
1107
+ include Aws::Structure
1108
+ end
1109
+
1110
+ # Parameters that are required for EMV MAC generation and verification.
1111
+ #
1112
+ # @!attribute [rw] major_key_derivation_mode
1113
+ # The method to use when deriving the master key for EMV MAC
1114
+ # generation or verification.
1115
+ # @return [String]
1116
+ #
1117
+ # @!attribute [rw] pan_sequence_number
1118
+ # A number that identifies and differentiates payment cards with the
1119
+ # same Primary Account Number (PAN).
1120
+ # @return [String]
1121
+ #
1122
+ # @!attribute [rw] primary_account_number
1123
+ # The Primary Account Number (PAN), a unique identifier for a payment
1124
+ # credit or debit card and associates the card to a specific account
1125
+ # holder.
1126
+ # @return [String]
1127
+ #
1128
+ # @!attribute [rw] session_key_derivation_mode
1129
+ # The method of deriving a session key for EMV MAC generation or
1130
+ # verification.
1131
+ # @return [String]
1132
+ #
1133
+ # @!attribute [rw] session_key_derivation_value
1134
+ # Parameters that are required to generate session key for EMV
1135
+ # generation and verification.
1136
+ # @return [Types::SessionKeyDerivationValue]
1137
+ #
1138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/MacAlgorithmEmv AWS API Documentation
1139
+ #
1140
+ class MacAlgorithmEmv < Struct.new(
1141
+ :major_key_derivation_mode,
1142
+ :pan_sequence_number,
1143
+ :primary_account_number,
1144
+ :session_key_derivation_mode,
1145
+ :session_key_derivation_value)
1146
+ SENSITIVE = [:primary_account_number]
1147
+ include Aws::Structure
1148
+ end
1149
+
1150
+ # Parameters that are required for DUKPT, HMAC, or EMV MAC generation or
1151
+ # verification.
1152
+ #
1153
+ # @note MacAttributes is a union - when making an API calls you must set exactly one of the members.
1154
+ #
1155
+ # @!attribute [rw] algorithm
1156
+ # The encryption algorithm for MAC generation or verification.
1157
+ # @return [String]
1158
+ #
1159
+ # @!attribute [rw] dukpt_cmac
1160
+ # Parameters that are required for MAC generation or verification
1161
+ # using DUKPT CMAC algorithm.
1162
+ # @return [Types::MacAlgorithmDukpt]
1163
+ #
1164
+ # @!attribute [rw] dukpt_iso_9797_algorithm_1
1165
+ # Parameters that are required for MAC generation or verification
1166
+ # using DUKPT ISO 9797 algorithm1.
1167
+ # @return [Types::MacAlgorithmDukpt]
1168
+ #
1169
+ # @!attribute [rw] dukpt_iso_9797_algorithm_3
1170
+ # Parameters that are required for MAC generation or verification
1171
+ # using DUKPT ISO 9797 algorithm2.
1172
+ # @return [Types::MacAlgorithmDukpt]
1173
+ #
1174
+ # @!attribute [rw] emv_mac
1175
+ # Parameters that are required for MAC generation or verification
1176
+ # using EMV MAC algorithm.
1177
+ # @return [Types::MacAlgorithmEmv]
1178
+ #
1179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/MacAttributes AWS API Documentation
1180
+ #
1181
+ class MacAttributes < Struct.new(
1182
+ :algorithm,
1183
+ :dukpt_cmac,
1184
+ :dukpt_iso_9797_algorithm_1,
1185
+ :dukpt_iso_9797_algorithm_3,
1186
+ :emv_mac,
1187
+ :unknown)
1188
+ SENSITIVE = []
1189
+ include Aws::Structure
1190
+ include Aws::Structure::Union
1191
+
1192
+ class Algorithm < MacAttributes; end
1193
+ class DukptCmac < MacAttributes; end
1194
+ class DukptIso9797Algorithm1 < MacAttributes; end
1195
+ class DukptIso9797Algorithm3 < MacAttributes; end
1196
+ class EmvMac < MacAttributes; end
1197
+ class Unknown < MacAttributes; end
1198
+ end
1199
+
1200
+ # Parameters that are required to generate, translate, or verify PIN
1201
+ # data.
1202
+ #
1203
+ # @note PinData is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of PinData corresponding to the set member.
1204
+ #
1205
+ # @!attribute [rw] pin_offset
1206
+ # The PIN offset value.
1207
+ # @return [String]
1208
+ #
1209
+ # @!attribute [rw] verification_value
1210
+ # The unique data to identify a cardholder. In most cases, this is the
1211
+ # same as cardholder's Primary Account Number (PAN). If a value is
1212
+ # not provided, it defaults to PAN.
1213
+ # @return [String]
1214
+ #
1215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/PinData AWS API Documentation
1216
+ #
1217
+ class PinData < Struct.new(
1218
+ :pin_offset,
1219
+ :verification_value,
1220
+ :unknown)
1221
+ SENSITIVE = []
1222
+ include Aws::Structure
1223
+ include Aws::Structure::Union
1224
+
1225
+ class PinOffset < PinData; end
1226
+ class VerificationValue < PinData; end
1227
+ class Unknown < PinData; end
1228
+ end
1229
+
1230
+ # Parameters that are required for PIN data generation.
1231
+ #
1232
+ # @note PinGenerationAttributes is a union - when making an API calls you must set exactly one of the members.
1233
+ #
1234
+ # @!attribute [rw] ibm_3624_natural_pin
1235
+ # Parameters that are required to generate or verify Ibm3624 natural
1236
+ # PIN.
1237
+ # @return [Types::Ibm3624NaturalPin]
1238
+ #
1239
+ # @!attribute [rw] ibm_3624_pin_from_offset
1240
+ # Parameters that are required to generate or verify Ibm3624 PIN from
1241
+ # offset PIN.
1242
+ # @return [Types::Ibm3624PinFromOffset]
1243
+ #
1244
+ # @!attribute [rw] ibm_3624_pin_offset
1245
+ # Parameters that are required to generate or verify Ibm3624 PIN
1246
+ # offset PIN.
1247
+ # @return [Types::Ibm3624PinOffset]
1248
+ #
1249
+ # @!attribute [rw] ibm_3624_random_pin
1250
+ # Parameters that are required to generate or verify Ibm3624 random
1251
+ # PIN.
1252
+ # @return [Types::Ibm3624RandomPin]
1253
+ #
1254
+ # @!attribute [rw] visa_pin
1255
+ # Parameters that are required to generate or verify Visa PIN.
1256
+ # @return [Types::VisaPin]
1257
+ #
1258
+ # @!attribute [rw] visa_pin_verification_value
1259
+ # Parameters that are required to generate or verify Visa PIN
1260
+ # Verification Value (PVV).
1261
+ # @return [Types::VisaPinVerificationValue]
1262
+ #
1263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/PinGenerationAttributes AWS API Documentation
1264
+ #
1265
+ class PinGenerationAttributes < Struct.new(
1266
+ :ibm_3624_natural_pin,
1267
+ :ibm_3624_pin_from_offset,
1268
+ :ibm_3624_pin_offset,
1269
+ :ibm_3624_random_pin,
1270
+ :visa_pin,
1271
+ :visa_pin_verification_value,
1272
+ :unknown)
1273
+ SENSITIVE = []
1274
+ include Aws::Structure
1275
+ include Aws::Structure::Union
1276
+
1277
+ class Ibm3624NaturalPin < PinGenerationAttributes; end
1278
+ class Ibm3624PinFromOffset < PinGenerationAttributes; end
1279
+ class Ibm3624PinOffset < PinGenerationAttributes; end
1280
+ class Ibm3624RandomPin < PinGenerationAttributes; end
1281
+ class VisaPin < PinGenerationAttributes; end
1282
+ class VisaPinVerificationValue < PinGenerationAttributes; end
1283
+ class Unknown < PinGenerationAttributes; end
1284
+ end
1285
+
1286
+ # Parameters that are required for PIN data verification.
1287
+ #
1288
+ # @note PinVerificationAttributes is a union - when making an API calls you must set exactly one of the members.
1289
+ #
1290
+ # @!attribute [rw] ibm_3624_pin
1291
+ # Parameters that are required to generate or verify Ibm3624 PIN.
1292
+ # @return [Types::Ibm3624PinVerification]
1293
+ #
1294
+ # @!attribute [rw] visa_pin
1295
+ # Parameters that are required to generate or verify Visa PIN.
1296
+ # @return [Types::VisaPinVerification]
1297
+ #
1298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/PinVerificationAttributes AWS API Documentation
1299
+ #
1300
+ class PinVerificationAttributes < Struct.new(
1301
+ :ibm_3624_pin,
1302
+ :visa_pin,
1303
+ :unknown)
1304
+ SENSITIVE = []
1305
+ include Aws::Structure
1306
+ include Aws::Structure::Union
1307
+
1308
+ class Ibm3624Pin < PinVerificationAttributes; end
1309
+ class VisaPin < PinVerificationAttributes; end
1310
+ class Unknown < PinVerificationAttributes; end
1311
+ end
1312
+
1313
+ # @!attribute [rw] cipher_text
1314
+ # Ciphertext to be encrypted. The minimum allowed length is 16 bytes
1315
+ # and maximum allowed length is 4096 bytes.
1316
+ # @return [String]
1317
+ #
1318
+ # @!attribute [rw] incoming_encryption_attributes
1319
+ # The attributes and values for incoming ciphertext.
1320
+ # @return [Types::ReEncryptionAttributes]
1321
+ #
1322
+ # @!attribute [rw] incoming_key_identifier
1323
+ # The `keyARN` of the encryption key of incoming ciphertext data.
1324
+ # @return [String]
1325
+ #
1326
+ # @!attribute [rw] outgoing_encryption_attributes
1327
+ # The attributes and values for outgoing ciphertext data after
1328
+ # encryption by Amazon Web Services Payment Cryptography.
1329
+ # @return [Types::ReEncryptionAttributes]
1330
+ #
1331
+ # @!attribute [rw] outgoing_key_identifier
1332
+ # The `keyARN` of the encryption key of outgoing ciphertext data after
1333
+ # encryption by Amazon Web Services Payment Cryptography.
1334
+ # @return [String]
1335
+ #
1336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ReEncryptDataInput AWS API Documentation
1337
+ #
1338
+ class ReEncryptDataInput < Struct.new(
1339
+ :cipher_text,
1340
+ :incoming_encryption_attributes,
1341
+ :incoming_key_identifier,
1342
+ :outgoing_encryption_attributes,
1343
+ :outgoing_key_identifier)
1344
+ SENSITIVE = [:cipher_text]
1345
+ include Aws::Structure
1346
+ end
1347
+
1348
+ # @!attribute [rw] cipher_text
1349
+ # The encrypted ciphertext.
1350
+ # @return [String]
1351
+ #
1352
+ # @!attribute [rw] key_arn
1353
+ # The keyARN (Amazon Resource Name) of the encryption key that Amazon
1354
+ # Web Services Payment Cryptography uses for plaintext encryption.
1355
+ # @return [String]
1356
+ #
1357
+ # @!attribute [rw] key_check_value
1358
+ # The key check value (KCV) of the encryption key. The KCV is used to
1359
+ # check if all parties holding a given key have the same key or to
1360
+ # detect that a key has changed. Amazon Web Services Payment
1361
+ # Cryptography calculates the KCV by using standard algorithms,
1362
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
1363
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
1364
+ # resulting cryptogram.
1365
+ # @return [String]
1366
+ #
1367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ReEncryptDataOutput AWS API Documentation
1368
+ #
1369
+ class ReEncryptDataOutput < Struct.new(
1370
+ :cipher_text,
1371
+ :key_arn,
1372
+ :key_check_value)
1373
+ SENSITIVE = [:cipher_text]
1374
+ include Aws::Structure
1375
+ end
1376
+
1377
+ # Parameters that are required to perform reencryption operation.
1378
+ #
1379
+ # @note ReEncryptionAttributes is a union - when making an API calls you must set exactly one of the members.
1380
+ #
1381
+ # @!attribute [rw] dukpt
1382
+ # Parameters that are required to encrypt plaintext data using DUKPT.
1383
+ # @return [Types::DukptEncryptionAttributes]
1384
+ #
1385
+ # @!attribute [rw] symmetric
1386
+ # Parameters that are required to encrypt data using symmetric keys.
1387
+ # @return [Types::SymmetricEncryptionAttributes]
1388
+ #
1389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ReEncryptionAttributes AWS API Documentation
1390
+ #
1391
+ class ReEncryptionAttributes < Struct.new(
1392
+ :dukpt,
1393
+ :symmetric,
1394
+ :unknown)
1395
+ SENSITIVE = []
1396
+ include Aws::Structure
1397
+ include Aws::Structure::Union
1398
+
1399
+ class Dukpt < ReEncryptionAttributes; end
1400
+ class Symmetric < ReEncryptionAttributes; end
1401
+ class Unknown < ReEncryptionAttributes; end
1402
+ end
1403
+
1404
+ # The request was denied due to an invalid resource error.
1405
+ #
1406
+ # @!attribute [rw] resource_id
1407
+ # The resource that is missing.
1408
+ # @return [String]
1409
+ #
1410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ResourceNotFoundException AWS API Documentation
1411
+ #
1412
+ class ResourceNotFoundException < Struct.new(
1413
+ :resource_id)
1414
+ SENSITIVE = []
1415
+ include Aws::Structure
1416
+ end
1417
+
1418
+ # Parameters to derive session key for an Amex payment card.
1419
+ #
1420
+ # @!attribute [rw] pan_sequence_number
1421
+ # A number that identifies and differentiates payment cards with the
1422
+ # same Primary Account Number (PAN).
1423
+ # @return [String]
1424
+ #
1425
+ # @!attribute [rw] primary_account_number
1426
+ # The Primary Account Number (PAN) of the cardholder. A PAN is a
1427
+ # unique identifier for a payment credit or debit card and associates
1428
+ # the card to a specific account holder.
1429
+ # @return [String]
1430
+ #
1431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SessionKeyAmex AWS API Documentation
1432
+ #
1433
+ class SessionKeyAmex < Struct.new(
1434
+ :pan_sequence_number,
1435
+ :primary_account_number)
1436
+ SENSITIVE = [:primary_account_number]
1437
+ include Aws::Structure
1438
+ end
1439
+
1440
+ # Parameters to derive a session key for Authorization Response
1441
+ # Cryptogram (ARQC) verification.
1442
+ #
1443
+ # @note SessionKeyDerivation is a union - when making an API calls you must set exactly one of the members.
1444
+ #
1445
+ # @!attribute [rw] amex
1446
+ # Parameters to derive session key for an Amex payment card for ARQC
1447
+ # verification.
1448
+ # @return [Types::SessionKeyAmex]
1449
+ #
1450
+ # @!attribute [rw] emv_2000
1451
+ # Parameters to derive session key for an Emv2000 payment card for
1452
+ # ARQC verification.
1453
+ # @return [Types::SessionKeyEmv2000]
1454
+ #
1455
+ # @!attribute [rw] emv_common
1456
+ # Parameters to derive session key for an Emv common payment card for
1457
+ # ARQC verification.
1458
+ # @return [Types::SessionKeyEmvCommon]
1459
+ #
1460
+ # @!attribute [rw] mastercard
1461
+ # Parameters to derive session key for a Mastercard payment card for
1462
+ # ARQC verification.
1463
+ # @return [Types::SessionKeyMastercard]
1464
+ #
1465
+ # @!attribute [rw] visa
1466
+ # Parameters to derive session key for a Visa payment cardfor ARQC
1467
+ # verification.
1468
+ # @return [Types::SessionKeyVisa]
1469
+ #
1470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SessionKeyDerivation AWS API Documentation
1471
+ #
1472
+ class SessionKeyDerivation < Struct.new(
1473
+ :amex,
1474
+ :emv_2000,
1475
+ :emv_common,
1476
+ :mastercard,
1477
+ :visa,
1478
+ :unknown)
1479
+ SENSITIVE = []
1480
+ include Aws::Structure
1481
+ include Aws::Structure::Union
1482
+
1483
+ class Amex < SessionKeyDerivation; end
1484
+ class Emv2000 < SessionKeyDerivation; end
1485
+ class EmvCommon < SessionKeyDerivation; end
1486
+ class Mastercard < SessionKeyDerivation; end
1487
+ class Visa < SessionKeyDerivation; end
1488
+ class Unknown < SessionKeyDerivation; end
1489
+ end
1490
+
1491
+ # Parameters to derive session key value using a MAC EMV algorithm.
1492
+ #
1493
+ # @note SessionKeyDerivationValue is a union - when making an API calls you must set exactly one of the members.
1494
+ #
1495
+ # @!attribute [rw] application_cryptogram
1496
+ # The cryptogram provided by the terminal during transaction
1497
+ # processing.
1498
+ # @return [String]
1499
+ #
1500
+ # @!attribute [rw] application_transaction_counter
1501
+ # The transaction counter that is provided by the terminal during
1502
+ # transaction processing.
1503
+ # @return [String]
1504
+ #
1505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SessionKeyDerivationValue AWS API Documentation
1506
+ #
1507
+ class SessionKeyDerivationValue < Struct.new(
1508
+ :application_cryptogram,
1509
+ :application_transaction_counter,
1510
+ :unknown)
1511
+ SENSITIVE = []
1512
+ include Aws::Structure
1513
+ include Aws::Structure::Union
1514
+
1515
+ class ApplicationCryptogram < SessionKeyDerivationValue; end
1516
+ class ApplicationTransactionCounter < SessionKeyDerivationValue; end
1517
+ class Unknown < SessionKeyDerivationValue; end
1518
+ end
1519
+
1520
+ # Parameters to derive session key for an Emv2000 payment card for ARQC
1521
+ # verification.
1522
+ #
1523
+ # @!attribute [rw] application_transaction_counter
1524
+ # The transaction counter that is provided by the terminal during
1525
+ # transaction processing.
1526
+ # @return [String]
1527
+ #
1528
+ # @!attribute [rw] pan_sequence_number
1529
+ # A number that identifies and differentiates payment cards with the
1530
+ # same Primary Account Number (PAN).
1531
+ # @return [String]
1532
+ #
1533
+ # @!attribute [rw] primary_account_number
1534
+ # The Primary Account Number (PAN) of the cardholder. A PAN is a
1535
+ # unique identifier for a payment credit or debit card and associates
1536
+ # the card to a specific account holder.
1537
+ # @return [String]
1538
+ #
1539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SessionKeyEmv2000 AWS API Documentation
1540
+ #
1541
+ class SessionKeyEmv2000 < Struct.new(
1542
+ :application_transaction_counter,
1543
+ :pan_sequence_number,
1544
+ :primary_account_number)
1545
+ SENSITIVE = [:primary_account_number]
1546
+ include Aws::Structure
1547
+ end
1548
+
1549
+ # Parameters to derive session key for an Emv common payment card for
1550
+ # ARQC verification.
1551
+ #
1552
+ # @!attribute [rw] application_transaction_counter
1553
+ # The transaction counter that is provided by the terminal during
1554
+ # transaction processing.
1555
+ # @return [String]
1556
+ #
1557
+ # @!attribute [rw] pan_sequence_number
1558
+ # A number that identifies and differentiates payment cards with the
1559
+ # same Primary Account Number (PAN).
1560
+ # @return [String]
1561
+ #
1562
+ # @!attribute [rw] primary_account_number
1563
+ # The Primary Account Number (PAN) of the cardholder. A PAN is a
1564
+ # unique identifier for a payment credit or debit card and associates
1565
+ # the card to a specific account holder.
1566
+ # @return [String]
1567
+ #
1568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SessionKeyEmvCommon AWS API Documentation
1569
+ #
1570
+ class SessionKeyEmvCommon < Struct.new(
1571
+ :application_transaction_counter,
1572
+ :pan_sequence_number,
1573
+ :primary_account_number)
1574
+ SENSITIVE = [:primary_account_number]
1575
+ include Aws::Structure
1576
+ end
1577
+
1578
+ # Parameters to derive session key for Mastercard payment card for ARQC
1579
+ # verification.
1580
+ #
1581
+ # @!attribute [rw] application_transaction_counter
1582
+ # The transaction counter that is provided by the terminal during
1583
+ # transaction processing.
1584
+ # @return [String]
1585
+ #
1586
+ # @!attribute [rw] pan_sequence_number
1587
+ # A number that identifies and differentiates payment cards with the
1588
+ # same Primary Account Number (PAN).
1589
+ # @return [String]
1590
+ #
1591
+ # @!attribute [rw] primary_account_number
1592
+ # The Primary Account Number (PAN) of the cardholder. A PAN is a
1593
+ # unique identifier for a payment credit or debit card and associates
1594
+ # the card to a specific account holder.
1595
+ # @return [String]
1596
+ #
1597
+ # @!attribute [rw] unpredictable_number
1598
+ # A random number generated by the issuer.
1599
+ # @return [String]
1600
+ #
1601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SessionKeyMastercard AWS API Documentation
1602
+ #
1603
+ class SessionKeyMastercard < Struct.new(
1604
+ :application_transaction_counter,
1605
+ :pan_sequence_number,
1606
+ :primary_account_number,
1607
+ :unpredictable_number)
1608
+ SENSITIVE = [:primary_account_number]
1609
+ include Aws::Structure
1610
+ end
1611
+
1612
+ # Parameters to derive session key for Visa payment card for ARQC
1613
+ # verification.
1614
+ #
1615
+ # @!attribute [rw] pan_sequence_number
1616
+ # A number that identifies and differentiates payment cards with the
1617
+ # same Primary Account Number (PAN).
1618
+ # @return [String]
1619
+ #
1620
+ # @!attribute [rw] primary_account_number
1621
+ # The Primary Account Number (PAN) of the cardholder. A PAN is a
1622
+ # unique identifier for a payment credit or debit card and associates
1623
+ # the card to a specific account holder.
1624
+ # @return [String]
1625
+ #
1626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SessionKeyVisa AWS API Documentation
1627
+ #
1628
+ class SessionKeyVisa < Struct.new(
1629
+ :pan_sequence_number,
1630
+ :primary_account_number)
1631
+ SENSITIVE = [:primary_account_number]
1632
+ include Aws::Structure
1633
+ end
1634
+
1635
+ # Parameters requried to encrypt plaintext data using symmetric keys.
1636
+ #
1637
+ # @!attribute [rw] initialization_vector
1638
+ # An input to cryptographic primitive used to provide the intial
1639
+ # state. The `InitializationVector` is typically required have a
1640
+ # random or psuedo-random value, but sometimes it only needs to be
1641
+ # unpredictable or unique. If a value is not provided, Amazon Web
1642
+ # Services Payment Cryptography generates a random value.
1643
+ # @return [String]
1644
+ #
1645
+ # @!attribute [rw] mode
1646
+ # The block cipher mode of operation. Block ciphers are designed to
1647
+ # encrypt a block of data of fixed size (for example, 128 bits). The
1648
+ # size of the input block is usually same as the size of the encrypted
1649
+ # output block, while the key length can be different. A mode of
1650
+ # operation describes how to repeatedly apply a cipher's single-block
1651
+ # operation to securely transform amounts of data larger than a block.
1652
+ # @return [String]
1653
+ #
1654
+ # @!attribute [rw] padding_type
1655
+ # The padding to be included with the data.
1656
+ # @return [String]
1657
+ #
1658
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/SymmetricEncryptionAttributes AWS API Documentation
1659
+ #
1660
+ class SymmetricEncryptionAttributes < Struct.new(
1661
+ :initialization_vector,
1662
+ :mode,
1663
+ :padding_type)
1664
+ SENSITIVE = [:initialization_vector]
1665
+ include Aws::Structure
1666
+ end
1667
+
1668
+ # The request was denied due to request throttling.
1669
+ #
1670
+ # @!attribute [rw] message
1671
+ # @return [String]
1672
+ #
1673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ThrottlingException AWS API Documentation
1674
+ #
1675
+ class ThrottlingException < Struct.new(
1676
+ :message)
1677
+ SENSITIVE = []
1678
+ include Aws::Structure
1679
+ end
1680
+
1681
+ # @!attribute [rw] encrypted_pin_block
1682
+ # The encrypted PIN block data that Amazon Web Services Payment
1683
+ # Cryptography translates.
1684
+ # @return [String]
1685
+ #
1686
+ # @!attribute [rw] incoming_dukpt_attributes
1687
+ # The attributes and values to use for incoming DUKPT encryption key
1688
+ # for PIN block tranlation.
1689
+ # @return [Types::DukptDerivationAttributes]
1690
+ #
1691
+ # @!attribute [rw] incoming_key_identifier
1692
+ # The `keyARN` of the encryption key under which incoming PIN block
1693
+ # data is encrypted. This key type can be PEK or BDK.
1694
+ # @return [String]
1695
+ #
1696
+ # @!attribute [rw] incoming_translation_attributes
1697
+ # The format of the incoming PIN block data for tranlation within
1698
+ # Amazon Web Services Payment Cryptography.
1699
+ # @return [Types::TranslationIsoFormats]
1700
+ #
1701
+ # @!attribute [rw] outgoing_dukpt_attributes
1702
+ # The attributes and values to use for outgoing DUKPT encryption key
1703
+ # after PIN block translation.
1704
+ # @return [Types::DukptDerivationAttributes]
1705
+ #
1706
+ # @!attribute [rw] outgoing_key_identifier
1707
+ # The `keyARN` of the encryption key for encrypting outgoing PIN block
1708
+ # data. This key type can be PEK or BDK.
1709
+ # @return [String]
1710
+ #
1711
+ # @!attribute [rw] outgoing_translation_attributes
1712
+ # The format of the outgoing PIN block data after tranlation by Amazon
1713
+ # Web Services Payment Cryptography.
1714
+ # @return [Types::TranslationIsoFormats]
1715
+ #
1716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslatePinDataInput AWS API Documentation
1717
+ #
1718
+ class TranslatePinDataInput < Struct.new(
1719
+ :encrypted_pin_block,
1720
+ :incoming_dukpt_attributes,
1721
+ :incoming_key_identifier,
1722
+ :incoming_translation_attributes,
1723
+ :outgoing_dukpt_attributes,
1724
+ :outgoing_key_identifier,
1725
+ :outgoing_translation_attributes)
1726
+ SENSITIVE = []
1727
+ include Aws::Structure
1728
+ end
1729
+
1730
+ # @!attribute [rw] key_arn
1731
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
1732
+ # Cryptography uses to encrypt outgoing PIN block data after
1733
+ # translation.
1734
+ # @return [String]
1735
+ #
1736
+ # @!attribute [rw] key_check_value
1737
+ # The key check value (KCV) of the encryption key. The KCV is used to
1738
+ # check if all parties holding a given key have the same key or to
1739
+ # detect that a key has changed. Amazon Web Services Payment
1740
+ # Cryptography calculates the KCV by using standard algorithms,
1741
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
1742
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
1743
+ # resulting cryptogram.
1744
+ # @return [String]
1745
+ #
1746
+ # @!attribute [rw] pin_block
1747
+ # The ougoing encrypted PIN block data after tranlation.
1748
+ # @return [String]
1749
+ #
1750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslatePinDataOutput AWS API Documentation
1751
+ #
1752
+ class TranslatePinDataOutput < Struct.new(
1753
+ :key_arn,
1754
+ :key_check_value,
1755
+ :pin_block)
1756
+ SENSITIVE = []
1757
+ include Aws::Structure
1758
+ end
1759
+
1760
+ # Parameters that are required for translation between ISO9564 PIN block
1761
+ # formats 0,1,3,4.
1762
+ #
1763
+ # @note TranslationIsoFormats is a union - when making an API calls you must set exactly one of the members.
1764
+ #
1765
+ # @!attribute [rw] iso_format_0
1766
+ # Parameters that are required for ISO9564 PIN format 0 tranlation.
1767
+ # @return [Types::TranslationPinDataIsoFormat034]
1768
+ #
1769
+ # @!attribute [rw] iso_format_1
1770
+ # Parameters that are required for ISO9564 PIN format 1 tranlation.
1771
+ # @return [Types::TranslationPinDataIsoFormat1]
1772
+ #
1773
+ # @!attribute [rw] iso_format_3
1774
+ # Parameters that are required for ISO9564 PIN format 3 tranlation.
1775
+ # @return [Types::TranslationPinDataIsoFormat034]
1776
+ #
1777
+ # @!attribute [rw] iso_format_4
1778
+ # Parameters that are required for ISO9564 PIN format 4 tranlation.
1779
+ # @return [Types::TranslationPinDataIsoFormat034]
1780
+ #
1781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslationIsoFormats AWS API Documentation
1782
+ #
1783
+ class TranslationIsoFormats < Struct.new(
1784
+ :iso_format_0,
1785
+ :iso_format_1,
1786
+ :iso_format_3,
1787
+ :iso_format_4,
1788
+ :unknown)
1789
+ SENSITIVE = []
1790
+ include Aws::Structure
1791
+ include Aws::Structure::Union
1792
+
1793
+ class IsoFormat0 < TranslationIsoFormats; end
1794
+ class IsoFormat1 < TranslationIsoFormats; end
1795
+ class IsoFormat3 < TranslationIsoFormats; end
1796
+ class IsoFormat4 < TranslationIsoFormats; end
1797
+ class Unknown < TranslationIsoFormats; end
1798
+ end
1799
+
1800
+ # Parameters that are required for tranlation between ISO9564 PIN format
1801
+ # 0,3,4 tranlation.
1802
+ #
1803
+ # @!attribute [rw] primary_account_number
1804
+ # The Primary Account Number (PAN) of the cardholder. A PAN is a
1805
+ # unique identifier for a payment credit or debit card and associates
1806
+ # the card to a specific account holder.
1807
+ # @return [String]
1808
+ #
1809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslationPinDataIsoFormat034 AWS API Documentation
1810
+ #
1811
+ class TranslationPinDataIsoFormat034 < Struct.new(
1812
+ :primary_account_number)
1813
+ SENSITIVE = [:primary_account_number]
1814
+ include Aws::Structure
1815
+ end
1816
+
1817
+ # Parameters that are required for ISO9564 PIN format 1 tranlation.
1818
+ #
1819
+ # @api private
1820
+ #
1821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/TranslationPinDataIsoFormat1 AWS API Documentation
1822
+ #
1823
+ class TranslationPinDataIsoFormat1 < Aws::EmptyStructure; end
1824
+
1825
+ # The request was denied due to an invalid request error.
1826
+ #
1827
+ # @!attribute [rw] field_list
1828
+ # The request was denied due to an invalid request error.
1829
+ # @return [Array<Types::ValidationExceptionField>]
1830
+ #
1831
+ # @!attribute [rw] message
1832
+ # @return [String]
1833
+ #
1834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ValidationException AWS API Documentation
1835
+ #
1836
+ class ValidationException < Struct.new(
1837
+ :field_list,
1838
+ :message)
1839
+ SENSITIVE = []
1840
+ include Aws::Structure
1841
+ end
1842
+
1843
+ # The request was denied due to an invalid request error.
1844
+ #
1845
+ # @!attribute [rw] message
1846
+ # The request was denied due to an invalid request error.
1847
+ # @return [String]
1848
+ #
1849
+ # @!attribute [rw] path
1850
+ # The request was denied due to an invalid request error.
1851
+ # @return [String]
1852
+ #
1853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/ValidationExceptionField AWS API Documentation
1854
+ #
1855
+ class ValidationExceptionField < Struct.new(
1856
+ :message,
1857
+ :path)
1858
+ SENSITIVE = []
1859
+ include Aws::Structure
1860
+ end
1861
+
1862
+ # This request failed verification.
1863
+ #
1864
+ # @!attribute [rw] message
1865
+ # @return [String]
1866
+ #
1867
+ # @!attribute [rw] reason
1868
+ # The reason for the exception.
1869
+ # @return [String]
1870
+ #
1871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerificationFailedException AWS API Documentation
1872
+ #
1873
+ class VerificationFailedException < Struct.new(
1874
+ :message,
1875
+ :reason)
1876
+ SENSITIVE = []
1877
+ include Aws::Structure
1878
+ end
1879
+
1880
+ # @!attribute [rw] auth_request_cryptogram
1881
+ # The auth request cryptogram imported into Amazon Web Services
1882
+ # Payment Cryptography for ARQC verification using a major encryption
1883
+ # key and transaction data.
1884
+ # @return [String]
1885
+ #
1886
+ # @!attribute [rw] auth_response_attributes
1887
+ # The attributes and values for auth request cryptogram verification.
1888
+ # These parameters are required in case using ARPC Method 1 or Method
1889
+ # 2 for ARQC verification.
1890
+ # @return [Types::CryptogramAuthResponse]
1891
+ #
1892
+ # @!attribute [rw] key_identifier
1893
+ # The `keyARN` of the major encryption key that Amazon Web Services
1894
+ # Payment Cryptography uses for ARQC verification.
1895
+ # @return [String]
1896
+ #
1897
+ # @!attribute [rw] major_key_derivation_mode
1898
+ # The method to use when deriving the major encryption key for ARQC
1899
+ # verification within Amazon Web Services Payment Cryptography. The
1900
+ # same key derivation mode was used for ARQC generation outside of
1901
+ # Amazon Web Services Payment Cryptography.
1902
+ # @return [String]
1903
+ #
1904
+ # @!attribute [rw] session_key_derivation_attributes
1905
+ # The attributes and values to use for deriving a session key for ARQC
1906
+ # verification within Amazon Web Services Payment Cryptography. The
1907
+ # same attributes were used for ARQC generation outside of Amazon Web
1908
+ # Services Payment Cryptography.
1909
+ # @return [Types::SessionKeyDerivation]
1910
+ #
1911
+ # @!attribute [rw] transaction_data
1912
+ # The transaction data that Amazon Web Services Payment Cryptography
1913
+ # uses for ARQC verification. The same transaction is used for ARQC
1914
+ # generation outside of Amazon Web Services Payment Cryptography.
1915
+ # @return [String]
1916
+ #
1917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyAuthRequestCryptogramInput AWS API Documentation
1918
+ #
1919
+ class VerifyAuthRequestCryptogramInput < Struct.new(
1920
+ :auth_request_cryptogram,
1921
+ :auth_response_attributes,
1922
+ :key_identifier,
1923
+ :major_key_derivation_mode,
1924
+ :session_key_derivation_attributes,
1925
+ :transaction_data)
1926
+ SENSITIVE = []
1927
+ include Aws::Structure
1928
+ end
1929
+
1930
+ # @!attribute [rw] auth_response_value
1931
+ # The result for ARQC verification or ARPC generation within Amazon
1932
+ # Web Services Payment Cryptography.
1933
+ # @return [String]
1934
+ #
1935
+ # @!attribute [rw] key_arn
1936
+ # The `keyARN` of the major encryption key that Amazon Web Services
1937
+ # Payment Cryptography uses for ARQC verification.
1938
+ # @return [String]
1939
+ #
1940
+ # @!attribute [rw] key_check_value
1941
+ # The key check value (KCV) of the encryption key. The KCV is used to
1942
+ # check if all parties holding a given key have the same key or to
1943
+ # detect that a key has changed. Amazon Web Services Payment
1944
+ # Cryptography calculates the KCV by using standard algorithms,
1945
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
1946
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
1947
+ # resulting cryptogram.
1948
+ # @return [String]
1949
+ #
1950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyAuthRequestCryptogramOutput AWS API Documentation
1951
+ #
1952
+ class VerifyAuthRequestCryptogramOutput < Struct.new(
1953
+ :auth_response_value,
1954
+ :key_arn,
1955
+ :key_check_value)
1956
+ SENSITIVE = []
1957
+ include Aws::Structure
1958
+ end
1959
+
1960
+ # @!attribute [rw] key_identifier
1961
+ # The `keyARN` of the CVK encryption key that Amazon Web Services
1962
+ # Payment Cryptography uses to verify card data.
1963
+ # @return [String]
1964
+ #
1965
+ # @!attribute [rw] primary_account_number
1966
+ # The Primary Account Number (PAN), a unique identifier for a payment
1967
+ # credit or debit card that associates the card with a specific
1968
+ # account holder.
1969
+ # @return [String]
1970
+ #
1971
+ # @!attribute [rw] validation_data
1972
+ # The CVV or CSC value for use for card data verification within
1973
+ # Amazon Web Services Payment Cryptography.
1974
+ # @return [String]
1975
+ #
1976
+ # @!attribute [rw] verification_attributes
1977
+ # The algorithm to use for verification of card data within Amazon Web
1978
+ # Services Payment Cryptography.
1979
+ # @return [Types::CardVerificationAttributes]
1980
+ #
1981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyCardValidationDataInput AWS API Documentation
1982
+ #
1983
+ class VerifyCardValidationDataInput < Struct.new(
1984
+ :key_identifier,
1985
+ :primary_account_number,
1986
+ :validation_data,
1987
+ :verification_attributes)
1988
+ SENSITIVE = [:primary_account_number]
1989
+ include Aws::Structure
1990
+ end
1991
+
1992
+ # @!attribute [rw] key_arn
1993
+ # The `keyARN` of the CVK encryption key that Amazon Web Services
1994
+ # Payment Cryptography uses to verify CVV or CSC.
1995
+ # @return [String]
1996
+ #
1997
+ # @!attribute [rw] key_check_value
1998
+ # The key check value (KCV) of the encryption key. The KCV is used to
1999
+ # check if all parties holding a given key have the same key or to
2000
+ # detect that a key has changed. Amazon Web Services Payment
2001
+ # Cryptography calculates the KCV by using standard algorithms,
2002
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
2003
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
2004
+ # resulting cryptogram.
2005
+ # @return [String]
2006
+ #
2007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyCardValidationDataOutput AWS API Documentation
2008
+ #
2009
+ class VerifyCardValidationDataOutput < Struct.new(
2010
+ :key_arn,
2011
+ :key_check_value)
2012
+ SENSITIVE = []
2013
+ include Aws::Structure
2014
+ end
2015
+
2016
+ # @!attribute [rw] key_identifier
2017
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
2018
+ # Cryptography uses to verify MAC data.
2019
+ # @return [String]
2020
+ #
2021
+ # @!attribute [rw] mac
2022
+ # The MAC being verified.
2023
+ # @return [String]
2024
+ #
2025
+ # @!attribute [rw] mac_length
2026
+ # The length of the MAC.
2027
+ # @return [Integer]
2028
+ #
2029
+ # @!attribute [rw] message_data
2030
+ # The data on for which MAC is under verification.
2031
+ # @return [String]
2032
+ #
2033
+ # @!attribute [rw] verification_attributes
2034
+ # The attributes and data values to use for MAC verification within
2035
+ # Amazon Web Services Payment Cryptography.
2036
+ # @return [Types::MacAttributes]
2037
+ #
2038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyMacInput AWS API Documentation
2039
+ #
2040
+ class VerifyMacInput < Struct.new(
2041
+ :key_identifier,
2042
+ :mac,
2043
+ :mac_length,
2044
+ :message_data,
2045
+ :verification_attributes)
2046
+ SENSITIVE = []
2047
+ include Aws::Structure
2048
+ end
2049
+
2050
+ # @!attribute [rw] key_arn
2051
+ # The `keyARN` of the encryption key that Amazon Web Services Payment
2052
+ # Cryptography uses for MAC verification.
2053
+ # @return [String]
2054
+ #
2055
+ # @!attribute [rw] key_check_value
2056
+ # The key check value (KCV) of the encryption key. The KCV is used to
2057
+ # check if all parties holding a given key have the same key or to
2058
+ # detect that a key has changed. Amazon Web Services Payment
2059
+ # Cryptography calculates the KCV by using standard algorithms,
2060
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
2061
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
2062
+ # resulting cryptogram.
2063
+ # @return [String]
2064
+ #
2065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyMacOutput AWS API Documentation
2066
+ #
2067
+ class VerifyMacOutput < Struct.new(
2068
+ :key_arn,
2069
+ :key_check_value)
2070
+ SENSITIVE = []
2071
+ include Aws::Structure
2072
+ end
2073
+
2074
+ # @!attribute [rw] dukpt_attributes
2075
+ # The attributes and values for the DUKPT encrypted PIN block data.
2076
+ # @return [Types::DukptAttributes]
2077
+ #
2078
+ # @!attribute [rw] encrypted_pin_block
2079
+ # The encrypted PIN block data that Amazon Web Services Payment
2080
+ # Cryptography verifies.
2081
+ # @return [String]
2082
+ #
2083
+ # @!attribute [rw] encryption_key_identifier
2084
+ # The `keyARN` of the encryption key under which the PIN block data is
2085
+ # encrypted. This key type can be PEK or BDK.
2086
+ # @return [String]
2087
+ #
2088
+ # @!attribute [rw] pin_block_format
2089
+ # The PIN encoding format for pin data generation as specified in ISO
2090
+ # 9564. Amazon Web Services Payment Cryptography supports
2091
+ # `ISO_Format_0` and `ISO_Format_3`.
2092
+ #
2093
+ # The `ISO_Format_0` PIN block format is equivalent to the ANSI X9.8,
2094
+ # VISA-1, and ECI-1 PIN block formats. It is similar to a VISA-4 PIN
2095
+ # block format. It supports a PIN from 4 to 12 digits in length.
2096
+ #
2097
+ # The `ISO_Format_3` PIN block format is the same as `ISO_Format_0`
2098
+ # except that the fill digits are random values from 10 to 15.
2099
+ # @return [String]
2100
+ #
2101
+ # @!attribute [rw] pin_data_length
2102
+ # The length of PIN being verified.
2103
+ # @return [Integer]
2104
+ #
2105
+ # @!attribute [rw] primary_account_number
2106
+ # The Primary Account Number (PAN), a unique identifier for a payment
2107
+ # credit or debit card that associates the card with a specific
2108
+ # account holder.
2109
+ # @return [String]
2110
+ #
2111
+ # @!attribute [rw] verification_attributes
2112
+ # The attributes and values for PIN data verification.
2113
+ # @return [Types::PinVerificationAttributes]
2114
+ #
2115
+ # @!attribute [rw] verification_key_identifier
2116
+ # The `keyARN` of the PIN verification key.
2117
+ # @return [String]
2118
+ #
2119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyPinDataInput AWS API Documentation
2120
+ #
2121
+ class VerifyPinDataInput < Struct.new(
2122
+ :dukpt_attributes,
2123
+ :encrypted_pin_block,
2124
+ :encryption_key_identifier,
2125
+ :pin_block_format,
2126
+ :pin_data_length,
2127
+ :primary_account_number,
2128
+ :verification_attributes,
2129
+ :verification_key_identifier)
2130
+ SENSITIVE = [:primary_account_number]
2131
+ include Aws::Structure
2132
+ end
2133
+
2134
+ # @!attribute [rw] encryption_key_arn
2135
+ # The `keyARN` of the PEK that Amazon Web Services Payment
2136
+ # Cryptography uses for encrypted pin block generation.
2137
+ # @return [String]
2138
+ #
2139
+ # @!attribute [rw] encryption_key_check_value
2140
+ # The key check value (KCV) of the encryption key. The KCV is used to
2141
+ # check if all parties holding a given key have the same key or to
2142
+ # detect that a key has changed. Amazon Web Services Payment
2143
+ # Cryptography calculates the KCV by using standard algorithms,
2144
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
2145
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
2146
+ # resulting cryptogram.
2147
+ # @return [String]
2148
+ #
2149
+ # @!attribute [rw] verification_key_arn
2150
+ # The `keyARN` of the PIN encryption key that Amazon Web Services
2151
+ # Payment Cryptography uses for PIN or PIN Offset verification.
2152
+ # @return [String]
2153
+ #
2154
+ # @!attribute [rw] verification_key_check_value
2155
+ # The key check value (KCV) of the encryption key. The KCV is used to
2156
+ # check if all parties holding a given key have the same key or to
2157
+ # detect that a key has changed. Amazon Web Services Payment
2158
+ # Cryptography calculates the KCV by using standard algorithms,
2159
+ # typically by encrypting 8 or 16 bytes or "00" or "01" and then
2160
+ # truncating the result to the first 3 bytes, or 6 hex digits, of the
2161
+ # resulting cryptogram.
2162
+ # @return [String]
2163
+ #
2164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VerifyPinDataOutput AWS API Documentation
2165
+ #
2166
+ class VerifyPinDataOutput < Struct.new(
2167
+ :encryption_key_arn,
2168
+ :encryption_key_check_value,
2169
+ :verification_key_arn,
2170
+ :verification_key_check_value)
2171
+ SENSITIVE = []
2172
+ include Aws::Structure
2173
+ end
2174
+
2175
+ # Parameters that are required to generate or verify Visa PIN.
2176
+ #
2177
+ # @!attribute [rw] pin_verification_key_index
2178
+ # The value for PIN verification index. It is used in the Visa PIN
2179
+ # algorithm to calculate the PVV (PIN Verification Value).
2180
+ # @return [Integer]
2181
+ #
2182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VisaPin AWS API Documentation
2183
+ #
2184
+ class VisaPin < Struct.new(
2185
+ :pin_verification_key_index)
2186
+ SENSITIVE = []
2187
+ include Aws::Structure
2188
+ end
2189
+
2190
+ # Parameters that are required to generate or verify Visa PIN.
2191
+ #
2192
+ # @!attribute [rw] pin_verification_key_index
2193
+ # The value for PIN verification index. It is used in the Visa PIN
2194
+ # algorithm to calculate the PVV (PIN Verification Value).
2195
+ # @return [Integer]
2196
+ #
2197
+ # @!attribute [rw] verification_value
2198
+ # Parameters that are required to generate or verify Visa PVV (PIN
2199
+ # Verification Value).
2200
+ # @return [String]
2201
+ #
2202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VisaPinVerification AWS API Documentation
2203
+ #
2204
+ class VisaPinVerification < Struct.new(
2205
+ :pin_verification_key_index,
2206
+ :verification_value)
2207
+ SENSITIVE = []
2208
+ include Aws::Structure
2209
+ end
2210
+
2211
+ # Parameters that are required to generate or verify Visa PVV (PIN
2212
+ # Verification Value).
2213
+ #
2214
+ # @!attribute [rw] encrypted_pin_block
2215
+ # The encrypted PIN block data to verify.
2216
+ # @return [String]
2217
+ #
2218
+ # @!attribute [rw] pin_verification_key_index
2219
+ # The value for PIN verification index. It is used in the Visa PIN
2220
+ # algorithm to calculate the PVV (PIN Verification Value).
2221
+ # @return [Integer]
2222
+ #
2223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-data-2022-02-03/VisaPinVerificationValue AWS API Documentation
2224
+ #
2225
+ class VisaPinVerificationValue < Struct.new(
2226
+ :encrypted_pin_block,
2227
+ :pin_verification_key_index)
2228
+ SENSITIVE = []
2229
+ include Aws::Structure
2230
+ end
2231
+
2232
+ end
2233
+ end