/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace PaymentCryptographyData { namespace Model { /** *

Parameters that are required to generate or verify Visa PVV (PIN Verification * Value).

See Also:

AWS * API Reference

*/ class VisaPinVerificationValue { public: AWS_PAYMENTCRYPTOGRAPHYDATA_API VisaPinVerificationValue(); AWS_PAYMENTCRYPTOGRAPHYDATA_API VisaPinVerificationValue(Aws::Utils::Json::JsonView jsonValue); AWS_PAYMENTCRYPTOGRAPHYDATA_API VisaPinVerificationValue& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The encrypted PIN block data to verify.

*/ inline const Aws::String& GetEncryptedPinBlock() const{ return m_encryptedPinBlock; } /** *

The encrypted PIN block data to verify.

*/ inline bool EncryptedPinBlockHasBeenSet() const { return m_encryptedPinBlockHasBeenSet; } /** *

The encrypted PIN block data to verify.

*/ inline void SetEncryptedPinBlock(const Aws::String& value) { m_encryptedPinBlockHasBeenSet = true; m_encryptedPinBlock = value; } /** *

The encrypted PIN block data to verify.

*/ inline void SetEncryptedPinBlock(Aws::String&& value) { m_encryptedPinBlockHasBeenSet = true; m_encryptedPinBlock = std::move(value); } /** *

The encrypted PIN block data to verify.

*/ inline void SetEncryptedPinBlock(const char* value) { m_encryptedPinBlockHasBeenSet = true; m_encryptedPinBlock.assign(value); } /** *

The encrypted PIN block data to verify.

*/ inline VisaPinVerificationValue& WithEncryptedPinBlock(const Aws::String& value) { SetEncryptedPinBlock(value); return *this;} /** *

The encrypted PIN block data to verify.

*/ inline VisaPinVerificationValue& WithEncryptedPinBlock(Aws::String&& value) { SetEncryptedPinBlock(std::move(value)); return *this;} /** *

The encrypted PIN block data to verify.

*/ inline VisaPinVerificationValue& WithEncryptedPinBlock(const char* value) { SetEncryptedPinBlock(value); return *this;} /** *

The value for PIN verification index. It is used in the Visa PIN algorithm to * calculate the PVV (PIN Verification Value).

*/ inline int GetPinVerificationKeyIndex() const{ return m_pinVerificationKeyIndex; } /** *

The value for PIN verification index. It is used in the Visa PIN algorithm to * calculate the PVV (PIN Verification Value).

*/ inline bool PinVerificationKeyIndexHasBeenSet() const { return m_pinVerificationKeyIndexHasBeenSet; } /** *

The value for PIN verification index. It is used in the Visa PIN algorithm to * calculate the PVV (PIN Verification Value).

*/ inline void SetPinVerificationKeyIndex(int value) { m_pinVerificationKeyIndexHasBeenSet = true; m_pinVerificationKeyIndex = value; } /** *

The value for PIN verification index. It is used in the Visa PIN algorithm to * calculate the PVV (PIN Verification Value).

*/ inline VisaPinVerificationValue& WithPinVerificationKeyIndex(int value) { SetPinVerificationKeyIndex(value); return *this;} private: Aws::String m_encryptedPinBlock; bool m_encryptedPinBlockHasBeenSet = false; int m_pinVerificationKeyIndex; bool m_pinVerificationKeyIndexHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws