aws-sdk-paymentcryptographydata 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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