Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Authorize.net lets you configure the Card Code Validation Settings through the web interface as follows:</p> <pre><code>Select the conditions for which the Payment Gateway should reject a transaction when the Card Code submitted does not match the value on file with the customer's credit card company. Reject Transaction If Card Code value... _ Does NOT Match (N) _ Is NOT Processed (P) _ Should be on card, but is not indicated (S) _ Issuer is not certified or has not provided encryption key (U) </code></pre> <p>Card Code Verification (like Address Verification) only actually occurs if a card code is submitted. Enabling the Card Code Verification filters will not affect transactions submitted without a card code.</p> <p>There is also a separate page called 'Payment Form - Fields' where you can specify which fields can be viewed, edited, and <em>required</em> on the payment form. If you check off that CVV2 is required on this form, it will also require CVV2 to be specified every time you use AIM/CIM. Note, it seems more sane to just implement this requirement in your code, if you want it, rather than checking the box on Authorize.net and then trying to debug the errors.</p> <p>If you keep the CVV2 on the 'Payment Form - Fields' as <em>not</em> required, if you have a saved Payment Profile, you can submit a new Transaction Request on the saved PaymentID without any CVV2 and it won't be rejected.</p> <p>Now some sites I'm sure you've seen will show the saved card to the user (masked of course), and ask them to type in the CVV2 again -- just the CVV2, without re-entering a card number.</p> <p>If you want to actually do the re-validation of just the CVV2 on an existing Payment Profile in Authorize.NET CIM, you can't use updateCustomerPaymentProfileRequest because it needs the card number.</p> <p>What you do is inside the TransactionRequest there is a profileTransAuthCaptureType object, which takes the ProfileID and PaymentID. It also has a field for cardCode where you can put the CVV2! This lets you re-validate the CVV2 without asking for the whole card number / expiration date over again. In this case, even if 'Is NOT Processed' is checked, and CVV2 is marked as required on your 'Payment Form - Fields' you will not get a reject.</p> <p>There's method to the madness, but it sure is complicated since you control all the settings, and they need to be in sync in multiple places for it to work how you want.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload