In order to simulate a CVV2 response in the demo/test environment, you can set the first character of the verification value as follows:
First Character | Example Verification Value | CVV2 Response | CVV2 Filter Name in RPM Terminal Administration |
1 | 123 | M | Card is authentic |
2 | 234 | N | CVV2 does not match |
3 | 345 | P | Card expiration not provided or card does not have valid CVD code |
4 | 456 | S | Merchant indicated that CVV2 is not present on card |
5 | 567 | U | Card issuer is not certified and/or has not provided visa encryption keys |
6 | 678 | I | CVV2 code is invalid or empty |
For example, setting the verification value to "234" for a transaction would simulate the CVV2 Response "N". If the transaction is processed under a terminal that has the "CVV2 does not match" filter checked, the transaction will be declined due to failed CVV2 verification.
For a First Data Payeezy Gateway Payment Page transaction, the verification value should be set in the Security Code field of the payment collection form.
For a First Data Payeezy Gateway web service API transaction, the verification value should be set in the VerificationStr2 attribute of the request. The CVD_Presence_Ind property must also be set, please see CVV/CVV2/CVD Hotsheet for more details.