產生或驗證特定卡片的 CVV2 - AWS 付款密碼編譯

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

產生或驗證特定卡片的 CVV2

CVV2 是傳統上在卡片背面提供的值,用於線上購買。對於虛擬卡,它也可能顯示在應用程式或螢幕上。密碼編譯方式與 CVV1 相同,但具有不同的服務代碼值。

建立金鑰

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_C0_CARD_VERIFICATION_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVV2"},{"Key":"CARD_BIN","Value":"12345678"}]'

回應會回傳請求參數,包括後續呼叫的 ARN 以及金鑰檢查值 (KCV)。

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/7f7g4spf3xcklhzu", "KeyAttributes": { "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": true, "Sign": false, "Verify": true, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "AEA5CD", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2023-06-05T06:41:46.648000-07:00", "UsageStartTimestamp": "2023-06-05T06:41:46.626000-07:00" } }

請記下代表金鑰KeyArn的 ,例如 arn:aws:payment-cryptography:us-east-2::key/7f7g4spf3xcklhzu。在下一個步驟中,您需要用到。

產生 CVV2

在此範例中,我們將為輸入 PAN和卡片過期日期的指定 PAN 產生 CVV2

如需所有可用的參數,請參閱 API 參考指南中的 CardVerificationValue2

$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::key/7f7g4spf3xcklhzu --primary-account-number=171234567890123 --generation-attributes CardVerificationValue2='{CardExpiryDate=1127}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/7f7g4spf3xcklhzu", "KeyCheckValue": "AEA5CD", "ValidationData": "321" }

驗證 CVV2

在此範例中,我們將使用 CVK 的輸入、PAN卡片過期日期和交易期間提供的 CVV 來驗證指定 PAN 的 CVVCVV2

如需所有可用的參數,請參閱《 API 參考指南》中的 CardVerificationValue2

注意

CVV2 和其他輸入是使用者輸入的值。因此,這不一定是定期無法驗證問題的跡象。

$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::key/7f7g4spf3xcklhzu --primary-account-number=171234567890123 --verification-attributes CardVerificationValue2='{CardExpiryDate=1127} --validation-data 321
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/7f7g4spf3xcklhzu", "KeyCheckValue": "AEA5CD", "ValidationData": "801" }