/AWS1/IF_PCD=>VERIFYPINDATA()¶
About VerifyPinData¶
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:
Method Signature¶
METHODS /AWS1/IF_PCD~VERIFYPINDATA
IMPORTING
!IV_VERIFICATIONKEYIDENTIFIER TYPE /AWS1/PCDKEYARNORKEYALIASTYPE OPTIONAL
!IV_ENCRYPTIONKEYIDENTIFIER TYPE /AWS1/PCDKEYARNORKEYALIASTYPE OPTIONAL
!IO_VERIFICATIONATTRIBUTES TYPE REF TO /AWS1/CL_PCDPINVERIFICATIONA00 OPTIONAL
!IV_ENCRYPTEDPINBLOCK TYPE /AWS1/PCDENCRYPTEDPINBLOCKTYPE OPTIONAL
!IV_PRIMARYACCOUNTNUMBER TYPE /AWS1/PCDPRIMARYACCTNUMBERTYPE OPTIONAL
!IV_PINBLOCKFORMAT TYPE /AWS1/PCDPINBLOCKFMTFORPINDATA OPTIONAL
!IV_PINDATALENGTH TYPE /AWS1/PCDINTEGERRANGEBETWEEN03 OPTIONAL
!IO_DUKPTATTRIBUTES TYPE REF TO /AWS1/CL_PCDDUKPTATTRIBUTES OPTIONAL
!IO_ENCRYPTIONWRAPPEDKEY TYPE REF TO /AWS1/CL_PCDWRAPPEDKEY OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_pcdverifypindataout
RAISING
/AWS1/CX_PCDACCESSDENIEDEX
/AWS1/CX_PCDINTERNALSERVEREX
/AWS1/CX_PCDRESOURCENOTFOUNDEX
/AWS1/CX_PCDTHROTTLINGEX
/AWS1/CX_PCDVALIDATIONEX
/AWS1/CX_PCDVERIFICATIONFAIL00
/AWS1/CX_PCDCLIENTEXC
/AWS1/CX_PCDSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_verificationkeyidentifier TYPE /AWS1/PCDKEYARNORKEYALIASTYPE /AWS1/PCDKEYARNORKEYALIASTYPE¶
The
keyARNof the PIN verification key.
iv_encryptionkeyidentifier TYPE /AWS1/PCDKEYARNORKEYALIASTYPE /AWS1/PCDKEYARNORKEYALIASTYPE¶
The
keyARNof the encryption key under which the PIN block data is encrypted. This key type can be PEK or BDK.
io_verificationattributes TYPE REF TO /AWS1/CL_PCDPINVERIFICATIONA00 /AWS1/CL_PCDPINVERIFICATIONA00¶
The attributes and values for PIN data verification.
iv_encryptedpinblock TYPE /AWS1/PCDENCRYPTEDPINBLOCKTYPE /AWS1/PCDENCRYPTEDPINBLOCKTYPE¶
The encrypted PIN block data that Amazon Web Services Payment Cryptography verifies.
iv_pinblockformat TYPE /AWS1/PCDPINBLOCKFMTFORPINDATA /AWS1/PCDPINBLOCKFMTFORPINDATA¶
The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web Services Payment Cryptography supports
ISO_Format_0andISO_Format_3.The
ISO_Format_0PIN 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_3PIN block format is the same asISO_Format_0except that the fill digits are random values from 10 to 15.
Optional arguments:¶
iv_primaryaccountnumber TYPE /AWS1/PCDPRIMARYACCTNUMBERTYPE /AWS1/PCDPRIMARYACCTNUMBERTYPE¶
The Primary Account Number (PAN), a unique identifier for a payment credit or debit card that associates the card with a specific account holder.
iv_pindatalength TYPE /AWS1/PCDINTEGERRANGEBETWEEN03 /AWS1/PCDINTEGERRANGEBETWEEN03¶
The length of PIN being verified.
io_dukptattributes TYPE REF TO /AWS1/CL_PCDDUKPTATTRIBUTES /AWS1/CL_PCDDUKPTATTRIBUTES¶
The attributes and values for the DUKPT encrypted PIN block data.
io_encryptionwrappedkey TYPE REF TO /AWS1/CL_PCDWRAPPEDKEY /AWS1/CL_PCDWRAPPEDKEY¶
EncryptionWrappedKey
RETURNING¶
oo_output TYPE REF TO /aws1/cl_pcdverifypindataout /AWS1/CL_PCDVERIFYPINDATAOUT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->verifypindata(
io_dukptattributes = new /aws1/cl_pcddukptattributes(
iv_dukptderivationtype = |string|
iv_keyserialnumber = |string|
)
io_encryptionwrappedkey = new /aws1/cl_pcdwrappedkey(
io_wrappedkeymaterial = new /aws1/cl_pcdwrappedkeymaterial(
io_diffiehellmansymmetrickey = new /aws1/cl_pcdecdhderivationat00(
iv_certauthoritypublickeyid = |string|
iv_keyalgorithm = |string|
iv_keyderivationfunction = |string|
iv_keyderivationhashalg = |string|
iv_publickeycertificate = |string|
iv_sharedinformation = |string|
)
iv_tr31keyblock = |string|
)
iv_keycheckvaluealgorithm = |string|
)
io_verificationattributes = new /aws1/cl_pcdpinverificationa00(
io_ibm3624pin = new /aws1/cl_pcdibm3624pinverifi00(
iv_decimalizationtable = |string|
iv_pinoffset = |string|
iv_pinvalidationdata = |string|
iv_pinvationdatapadcharacter = |string|
)
io_visapin = new /aws1/cl_pcdvisapinverificat01(
iv_pinverificationkeyindex = 123
iv_verificationvalue = |string|
)
)
iv_encryptedpinblock = |string|
iv_encryptionkeyidentifier = |string|
iv_pinblockformat = |string|
iv_pindatalength = 123
iv_primaryaccountnumber = |string|
iv_verificationkeyidentifier = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_keyarn = lo_result->get_verificationkeyarn( ).
lv_keycheckvalue = lo_result->get_verificationkeycheckval( ).
lv_keyarn = lo_result->get_encryptionkeyarn( ).
lv_keycheckvalue = lo_result->get_encryptionkeycheckvalue( ).
ENDIF.