I am using the DPM method for proccessing payements via Authorize.net, everything is working fine other than the CVV field, in out merchant terminal we have it set to decline transactions if the number does not match with the card company (Does NOT Match (N)). I am also sending it a field x_card_code.
However after numerous conversations with authorize they say they are not recieving the field?
<form id='cardpayment' method='post' action='https://secure.authorize.net/gateway/transact.dll' > <input type='hidden' name='x_login' value='<?=$loginID?>' /> <input type='hidden' name='x_amount' value='<?=$amount?>' /> <input type='hidden' name='x_description' value='<?=$description?>' /> <input type='hidden' name='x_invoice_num' value='<?=$order_id?>' /> <input type='hidden' name='x_fp_sequence' value='<?=$sequence?>' /> <input type='hidden' name='x_fp_timestamp' value='<?=$timeStamp?>' /> <input type='hidden' name='x_fp_hash' value='<?=$fingerprint?>' /> <input type='hidden' name='x_test_request' value='FALSE' /> <!-- <input type='hidden' name='x_show_form' value='PAYMENT_FORM' /> --> <label for="card_num">Card Number</label> <input type="text" name='x_card_num' value='' id='card_num'> <label for="expiry">Expiry Date</label> <input type="text" name='x_exp_date' placeholder='mm/dd' id='expiry'> <label for="cvv">Security Code (CVV)</label> <input type="text" name="x_card_code" placeholder="CVV" id='cvv'> <input type="hidden" name="x_first_name" value='<?=$basket['billing_f_name']?>'> <input type="hidden" name="x_last_name" value='<?=$basket['billing_s_name']?>'> <input type="hidden" name="x_address" value="<?=$basket['billing_address_1'].' '.$basket['billing_address_2']?>"> <input type="hidden" name="x_city" value="<?=$basket['billing_towncity']?>"> <? if($basket['billing_country_id'] == 237){?> <input type="hidden" name="x_state" value="<?=state($basket['billing_state_id'])?>"> <? }else{ ?> <input type="hidden" name="x_state" value="<?=$basket['billing_county']?>"> <? } ?> <input type="hidden" name="x_zip" value="<?=$basket['shipping_postcode']?>"> <input type="hidden" name="x_country" value="<?=country($basket['shipping_country_id'])?>"> <input type="hidden" name="x_phone" value="<?=country($basket['telephone'])?>"> <input type="hidden" name="x_cust_id" value="<?=$_user['id']?>"> <input type="hidden" name="x_ship_to_first_name" value='<?=$basket['shipping_f_name']?>'> <input type="hidden" name="x_ship_to_last_name" value='<?=$basket['shipping_s_name']?>'> <input type="hidden" name="x_ship_to_address" value="<?=$basket['shipping_address_1'].' '.$basket['shipping_address_2']?>"> <input type="hidden" name="x_ship_to_city" value="<?=$basket['shipping_towncity']?>"> <? if($basket['shipping_country_id'] == 237){?> <input type="hidden" name="x_ship_to_state" value="<?=state($basket['shipping_state_id'])?>"> <? }else{ ?> <input type="hidden" name="x_ship_to_state" value="<?=$basket['shipping_county']?>"> <? } ?> <input type="hidden" name="x_ship_to_zip" value="<?=$basket['shipping_postcode']?>"> <input type="hidden" name="x_ship_to_country" value="<?=country($basket['shipping_country_id'])?>"> <input type="hidden" name="x_ship_to_phone" value="<?=country($basket['telephone'])?>"> <input type="hidden" name="x_relay_response" value="TRUE"> <input type="hidden" name="x_relay_always" value="TRUE"> <input type="hidden" name="x_relay_url" value="https://www.mywebsite.com/cardpaymentresponse.php"> <input type='submit' class='btn-red' value='Pay Now' /> </form>
Any help would be much appreciated.
Tom
05-20-2015 10:58 AM
what was the CVV response?
Read http://developer.authorize.net/tools/datavalidation/
temporary change the form post location to http://developer.authorize.net/tools/datavalidation/
and see if it getting post.
05-20-2015 11:27 AM
Thankyou for your reply,
I have never recived a CVV response it just authorizes the payment.
I have used the URL you provided and as i expected the x_card_code field is posting.
05-21-2015 03:15 AM
I have never recived a CVV response it just authorizes the payment.
It would be in the relay response. http://developer.authorize.net/guides/SIM/wwhelp/wwhimpl/js/html/wwhelp.htm#href=SIM_Trans_response....
x_cvv2_resp_code | Value: The card code verification (CCV) response code Format: M—Match N—No Match P—Not Processed S—Should have been present U—Issuer unable to process request |
And it also on the merchant account settled/unsettled transaction detail.
05-21-2015 04:12 AM - edited 05-21-2015 04:15 AM
I can check if a get a response on the relay URL, although this doesn't stop the successful transaction happening?
05-21-2015 06:27 AM
Depend of what the response was. you said to reject on 'N', but it might be 'P', 'S', or 'U'
05-21-2015 06:42 AM
For our testing we are making sure it's the incorrect CVV code, surely this shoudl return N ? ( i am doing a test now too see the code)
05-21-2015 08:08 AM
I just ran a test to see the value of thex_cvv2_resp_code however the field was either blank or not present?
05-21-2015 08:51 AM
Hello @tomvance1
If you are testing in the sandbox, it does not actually connect to the card network but instead simulates the response. The sandbox will accept any properly formatted CVV. If you want to test specific conditions such as CVV responses, you'll need to use the Error Generation Guide.
Richard
05-21-2015 08:55 AM - edited 05-21-2015 08:56 AM
Thanks @RichardH
I am not currently testing in the sandbox, the client is placing the orders themselves.
Thanks,
Tom
05-21-2015 09:15 AM