2
votes

When asking for a credit card for Authorize.net ARB, how do you verify the card is able to be charged against?

I was looking around and saw that the common thing to do is to do a 0.00 AIM charge. Here is what I tried (the following class is from the latest AuthNet PHP SDK):

$authorization = new AuthorizeNetAIM;

$authorization->setFields(
   array(
     'amount' => '0.00',
     'card_num' => $credit_card_number,
     'exp_date' => $expiration_date,
   )
);

$response = $authorization->authorizeOnly();

While this code works and throws an error for invalid card numbers, when I put in a -real- number, it response with the following error:

This processor does not accept zero dollar authorization for this card type.

Alright, so, charge .01 cents. Then, it says the transaction was successful, telling me the card is good to go and proceed creating an ARB subscription.

If I need to charge a penny, is this actually transacted on the Authorize.net side? I don't want to actually charge a penny to someones account. Does auth_only transaction type simply authorize the card? Is there a way to immediately void it after getting a successful response?

1

1 Answers

1
votes

If you are getting an error doing $0.00 auths then your processor isn't up to speed yet on the new requirements and then you will have to do an AUTH_ONLY for $0.01 and then run a void immediately after. The void is required and is done with the AIM API as well.