/*
* 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 VerifyCardValidationData operation.
/// Verifies card-related validation data using algorithms such as Card Verification Values
/// (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2) and Card Security Codes
/// (CSC). For more information, see Verify
/// card data in the Amazon Web Services Payment Cryptography User Guide.
///
///
///
/// This operation validates the CVV or CSC codes that is printed on a payment credit
/// or debit card during card payment transaction. The input values are typically provided
/// as part of an inbound transaction to an issuer or supporting platform partner. Amazon
/// Web Services Payment Cryptography uses CVV or CSC, PAN (Primary Account Number) and
/// expiration date of the card to check its validity during transaction processing. In
/// this operation, the CVK (Card Verification Key) encryption key for use with card data
/// verification is same as the one in used for GenerateCardValidationData.
///
///
///
/// 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 VerifyCardValidationDataRequest : AmazonPaymentCryptographyDataRequest
{
private string _keyIdentifier;
private string _primaryAccountNumber;
private string _validationData;
private CardVerificationAttributes _verificationAttributes;
///
/// Gets and sets the property KeyIdentifier.
///
/// The keyARN
of the CVK encryption key that Amazon Web Services Payment
/// Cryptography uses to verify card data.
///
///
[AWSProperty(Required=true, Min=7, Max=322)]
public string KeyIdentifier
{
get { return this._keyIdentifier; }
set { this._keyIdentifier = value; }
}
// Check to see if KeyIdentifier property is set
internal bool IsSetKeyIdentifier()
{
return this._keyIdentifier != null;
}
///
/// 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 ValidationData.
///
/// The CVV or CSC value for use for card data verification within Amazon Web Services
/// Payment Cryptography.
///
///
[AWSProperty(Required=true, Min=3, Max=5)]
public string ValidationData
{
get { return this._validationData; }
set { this._validationData = value; }
}
// Check to see if ValidationData property is set
internal bool IsSetValidationData()
{
return this._validationData != null;
}
///
/// Gets and sets the property VerificationAttributes.
///
/// The algorithm to use for verification of card data within Amazon Web Services Payment
/// Cryptography.
///
///
[AWSProperty(Required=true)]
public CardVerificationAttributes VerificationAttributes
{
get { return this._verificationAttributes; }
set { this._verificationAttributes = value; }
}
// Check to see if VerificationAttributes property is set
internal bool IsSetVerificationAttributes()
{
return this._verificationAttributes != null;
}
}
}