Skip to content

Generate Pin Data

paymentcryptographydataplane_generate_pin_data R Documentation

Description

Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and PIN Offset during new card issuance or reissuance. For more information, see Generate PIN data in the Amazon Web Services Payment Cryptography User Guide.

PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption Key (PEK) to create an EncryptedPinBlock for transmission from Amazon Web Services Payment Cryptography. This operation uses a separate Pin Verification Key (PVK) for VISA PVV generation.

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:

  • generate_card_validation_data

  • translate_pin_data

  • verify_pin_data

Usage

paymentcryptographydataplane_generate_pin_data(GenerationKeyIdentifier,
  EncryptionKeyIdentifier, GenerationAttributes, PinDataLength,
  PrimaryAccountNumber, PinBlockFormat)

Arguments

GenerationKeyIdentifier

[required] The keyARN of the PEK that Amazon Web Services Payment Cryptography uses for pin data generation.

EncryptionKeyIdentifier

[required] The keyARN of the PEK that Amazon Web Services Payment Cryptography uses to encrypt the PIN Block.

GenerationAttributes

[required] The attributes and values to use for PIN, PVV, or PIN Offset generation.

PinDataLength

The length of PIN under generation.

PrimaryAccountNumber

[required] The Primary Account Number (PAN), a unique identifier for a payment credit or debit card that associates the card with a specific account holder.

PinBlockFormat

[required] 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.

Value

A list with the following syntax:

list(
  GenerationKeyArn = "string",
  GenerationKeyCheckValue = "string",
  EncryptionKeyArn = "string",
  EncryptionKeyCheckValue = "string",
  EncryptedPinBlock = "string",
  PinData = list(
    PinOffset = "string",
    VerificationValue = "string"
  )
)

Request syntax

svc$generate_pin_data(
  GenerationKeyIdentifier = "string",
  EncryptionKeyIdentifier = "string",
  GenerationAttributes = list(
    VisaPin = list(
      PinVerificationKeyIndex = 123
    ),
    VisaPinVerificationValue = list(
      EncryptedPinBlock = "string",
      PinVerificationKeyIndex = 123
    ),
    Ibm3624PinOffset = list(
      EncryptedPinBlock = "string",
      DecimalizationTable = "string",
      PinValidationDataPadCharacter = "string",
      PinValidationData = "string"
    ),
    Ibm3624NaturalPin = list(
      DecimalizationTable = "string",
      PinValidationDataPadCharacter = "string",
      PinValidationData = "string"
    ),
    Ibm3624RandomPin = list(
      DecimalizationTable = "string",
      PinValidationDataPadCharacter = "string",
      PinValidationData = "string"
    ),
    Ibm3624PinFromOffset = list(
      DecimalizationTable = "string",
      PinValidationDataPadCharacter = "string",
      PinValidationData = "string",
      PinOffset = "string"
    )
  ),
  PinDataLength = 123,
  PrimaryAccountNumber = "string",
  PinBlockFormat = "ISO_FORMAT_0"|"ISO_FORMAT_3"
)