0
votes

I'm using VBA in an Access application to pass credit card applications to Authorize.net.

In the Sandbox, when I issue a request and get a response, the response looks like:

1|1|1|This transaction has been approved.|MKCE58|Y|60138643909|06731|Company name|15.00|CC|auth_capture|||||||||||||||||||||||||||P|2|||||||||||XXXX1111|Visa|||||||1UMB1CSPUW5QIHHZIATBZCO||||||||||

Which element of this response string is the value that I must capture and use when issuing a refund of this transaction?

When I attempt to refund the transaction using either the "MKCE58" or "60138643909" as the TransactionID in:

post_string = post_string & "x_trans_id=" & URLEncode(strTransID) & "&"

I get a response of:

"The referenced transaction does not meet the criteria for issuing a credit."

I found a very old post here on SO that indicates that I need to change my account mode from Live to Test, and I did that. But that has not resolved this situation.

1

1 Answers

0
votes

It looks like you are using the AIM API, so the seventh value in that pipe delimited field, 60138643909, is the transaction ID which is what you will use to request a refund.

To issue a refund the following criteria must all be met:

  • The transaction was originally processed and successfully settled through the payment gateway (Authorize.Net).
  • The transaction is submitted with the valid transaction ID (x_trans_id) of an original, successfully settled transaction.
  • The amount being requested for refund is less than or equal to the original settled amount.
  • The sum of multiple Credit transactions submitted against the original transaction is less than or equal to the original settled amount.
  • At least the last four digits of the credit card number (x_card_num) used for the original, successfully settled transaction are submitted. An expiration date is not required.
  • The transaction is submitted within 120 days of the settlement date of the original transaction.