/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the payment-cryptography-data-2022-02-03.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.PaymentCryptographyData.Model { /// /// Container for the parameters to the VerifyPinData operation. /// Verifies pin-related data such as PIN and PIN Offset using algorithms including VISA /// PVV and IBM3624. For more information, see Verify /// PIN data in the Amazon Web Services Payment Cryptography User Guide. /// /// /// /// This operation verifies PIN data for user payment card. A card holder PIN data is /// never transmitted in clear to or from Amazon Web Services Payment Cryptography. This /// operation uses PIN Verification Key (PVK) for PIN or PIN Offset generation and then /// encrypts it using PIN Encryption Key (PEK) to create an EncryptedPinBlock /// for transmission from Amazon Web Services Payment Cryptography. /// /// /// /// For information about valid keys for this operation, see Understanding /// key attributes and Key /// types for specific data operations in the Amazon Web Services Payment Cryptography /// User Guide. /// /// /// /// Cross-account use: This operation can't be used across different Amazon Web /// Services accounts. /// /// /// /// Related operations: /// /// /// public partial class VerifyPinDataRequest : AmazonPaymentCryptographyDataRequest { private DukptAttributes _dukptAttributes; private string _encryptedPinBlock; private string _encryptionKeyIdentifier; private PinBlockFormatForPinData _pinBlockFormat; private int? _pinDataLength; private string _primaryAccountNumber; private PinVerificationAttributes _verificationAttributes; private string _verificationKeyIdentifier; /// /// Gets and sets the property DukptAttributes. /// /// The attributes and values for the DUKPT encrypted PIN block data. /// /// public DukptAttributes DukptAttributes { get { return this._dukptAttributes; } set { this._dukptAttributes = value; } } // Check to see if DukptAttributes property is set internal bool IsSetDukptAttributes() { return this._dukptAttributes != null; } /// /// Gets and sets the property EncryptedPinBlock. /// /// The encrypted PIN block data that Amazon Web Services Payment Cryptography verifies. /// /// [AWSProperty(Required=true, Min=16, Max=32)] public string EncryptedPinBlock { get { return this._encryptedPinBlock; } set { this._encryptedPinBlock = value; } } // Check to see if EncryptedPinBlock property is set internal bool IsSetEncryptedPinBlock() { return this._encryptedPinBlock != null; } /// /// Gets and sets the property EncryptionKeyIdentifier. /// /// The keyARN of the encryption key under which the PIN block data is encrypted. /// This key type can be PEK or BDK. /// /// [AWSProperty(Required=true, Min=7, Max=322)] public string EncryptionKeyIdentifier { get { return this._encryptionKeyIdentifier; } set { this._encryptionKeyIdentifier = value; } } // Check to see if EncryptionKeyIdentifier property is set internal bool IsSetEncryptionKeyIdentifier() { return this._encryptionKeyIdentifier != null; } /// /// Gets and sets the property PinBlockFormat. /// /// The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web /// Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3. /// /// /// /// The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, /// and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports /// a PIN from 4 to 12 digits in length. /// /// /// /// The ISO_Format_3 PIN block format is the same as ISO_Format_0 /// except that the fill digits are random values from 10 to 15. /// /// [AWSProperty(Required=true)] public PinBlockFormatForPinData PinBlockFormat { get { return this._pinBlockFormat; } set { this._pinBlockFormat = value; } } // Check to see if PinBlockFormat property is set internal bool IsSetPinBlockFormat() { return this._pinBlockFormat != null; } /// /// Gets and sets the property PinDataLength. /// /// The length of PIN being verified. /// /// [AWSProperty(Min=4, Max=12)] public int PinDataLength { get { return this._pinDataLength.GetValueOrDefault(); } set { this._pinDataLength = value; } } // Check to see if PinDataLength property is set internal bool IsSetPinDataLength() { return this._pinDataLength.HasValue; } /// /// Gets and sets the property PrimaryAccountNumber. /// /// The Primary Account Number (PAN), a unique identifier for a payment credit or debit /// card that associates the card with a specific account holder. /// /// [AWSProperty(Required=true, Sensitive=true, Min=12, Max=19)] public string PrimaryAccountNumber { get { return this._primaryAccountNumber; } set { this._primaryAccountNumber = value; } } // Check to see if PrimaryAccountNumber property is set internal bool IsSetPrimaryAccountNumber() { return this._primaryAccountNumber != null; } /// /// Gets and sets the property VerificationAttributes. /// /// The attributes and values for PIN data verification. /// /// [AWSProperty(Required=true)] public PinVerificationAttributes VerificationAttributes { get { return this._verificationAttributes; } set { this._verificationAttributes = value; } } // Check to see if VerificationAttributes property is set internal bool IsSetVerificationAttributes() { return this._verificationAttributes != null; } /// /// Gets and sets the property VerificationKeyIdentifier. /// /// The keyARN of the PIN verification key. /// /// [AWSProperty(Required=true, Min=7, Max=322)] public string VerificationKeyIdentifier { get { return this._verificationKeyIdentifier; } set { this._verificationKeyIdentifier = value; } } // Check to see if VerificationKeyIdentifier property is set internal bool IsSetVerificationKeyIdentifier() { return this._verificationKeyIdentifier != null; } } }