Class EmvCommonAttributes

java.lang.Object
software.amazon.awssdk.services.paymentcryptographydata.model.EmvCommonAttributes
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<EmvCommonAttributes.Builder,EmvCommonAttributes>

@Generated("software.amazon.awssdk:codegen") public final class EmvCommonAttributes extends Object implements SdkPojo, Serializable, ToCopyableBuilder<EmvCommonAttributes.Builder,EmvCommonAttributes>

Parameters to derive the confidentiality and integrity keys for an Emv common payment card.

See Also:
  • Method Details

    • majorKeyDerivationMode

      public final MajorKeyDerivationMode majorKeyDerivationMode()

      The method to use when deriving the master key for the payment card.

      If the service returns an enum value that is not available in the current SDK version, majorKeyDerivationMode will return MajorKeyDerivationMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from majorKeyDerivationModeAsString().

      Returns:
      The method to use when deriving the master key for the payment card.
      See Also:
    • majorKeyDerivationModeAsString

      public final String majorKeyDerivationModeAsString()

      The method to use when deriving the master key for the payment card.

      If the service returns an enum value that is not available in the current SDK version, majorKeyDerivationMode will return MajorKeyDerivationMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from majorKeyDerivationModeAsString().

      Returns:
      The method to use when deriving the master key for the payment card.
      See Also:
    • primaryAccountNumber

      public final String primaryAccountNumber()

      The Primary Account Number (PAN) of the cardholder.

      Returns:
      The Primary Account Number (PAN) of the cardholder.
    • panSequenceNumber

      public final String panSequenceNumber()

      A number that identifies and differentiates payment cards with the same Primary Account Number (PAN). Typically 00 is used, if no value is provided by the terminal.

      Returns:
      A number that identifies and differentiates payment cards with the same Primary Account Number (PAN). Typically 00 is used, if no value is provided by the terminal.
    • applicationCryptogram

      public final String applicationCryptogram()

      The application cryptogram for the current transaction that is provided by the terminal during transaction processing.

      Returns:
      The application cryptogram for the current transaction that is provided by the terminal during transaction processing.
    • mode

      public final EmvEncryptionMode mode()

      The block cipher method to use for encryption.

      If the service returns an enum value that is not available in the current SDK version, mode will return EmvEncryptionMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

      Returns:
      The block cipher method to use for encryption.
      See Also:
    • modeAsString

      public final String modeAsString()

      The block cipher method to use for encryption.

      If the service returns an enum value that is not available in the current SDK version, mode will return EmvEncryptionMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

      Returns:
      The block cipher method to use for encryption.
      See Also:
    • pinBlockPaddingType

      public final PinBlockPaddingType pinBlockPaddingType()

      The padding to be added to the PIN block prior to encryption.

      Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

      If the service returns an enum value that is not available in the current SDK version, pinBlockPaddingType will return PinBlockPaddingType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from pinBlockPaddingTypeAsString().

      Returns:
      The padding to be added to the PIN block prior to encryption.

      Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

      See Also:
    • pinBlockPaddingTypeAsString

      public final String pinBlockPaddingTypeAsString()

      The padding to be added to the PIN block prior to encryption.

      Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

      If the service returns an enum value that is not available in the current SDK version, pinBlockPaddingType will return PinBlockPaddingType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from pinBlockPaddingTypeAsString().

      Returns:
      The padding to be added to the PIN block prior to encryption.

      Padding type should be ISO_IEC_7816_4, if PinBlockLengthPosition is set to FRONT_OF_PIN_BLOCK. No padding is required, if PinBlockLengthPosition is set to NONE.

      See Also:
    • pinBlockLengthPosition

      public final PinBlockLengthPosition pinBlockLengthPosition()

      Specifies if PIN block length should be added to front of the pin block.

      If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

      If the service returns an enum value that is not available in the current SDK version, pinBlockLengthPosition will return PinBlockLengthPosition.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from pinBlockLengthPositionAsString().

      Returns:
      Specifies if PIN block length should be added to front of the pin block.

      If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

      See Also:
    • pinBlockLengthPositionAsString

      public final String pinBlockLengthPositionAsString()

      Specifies if PIN block length should be added to front of the pin block.

      If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

      If the service returns an enum value that is not available in the current SDK version, pinBlockLengthPosition will return PinBlockLengthPosition.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from pinBlockLengthPositionAsString().

      Returns:
      Specifies if PIN block length should be added to front of the pin block.

      If value is set to FRONT_OF_PIN_BLOCK, then PIN block padding type should be ISO_IEC_7816_4.

      See Also:
    • toBuilder

      public EmvCommonAttributes.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<EmvCommonAttributes.Builder,EmvCommonAttributes>
      Returns:
      a builder for type T
    • builder

      public static EmvCommonAttributes.Builder builder()
    • serializableBuilderClass

      public static Class<? extends EmvCommonAttributes.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.