Showing results for 
Search instead for 
Did you mean: 

Refund the Transaction using CIM

Hi Team,


At present we are using the using CIM method with .NET Environment  for our payments. Now we got a requirement as explained below:


1. Refund the Full Amount of the transaction

2. Refund the Partial amount which is specified by us.


Could you please help us to implement the above Refund implemnation stes and also if possble share the same code. So that it will be very help full for us.


At present we are doing the Refund through the site manually. for that we need to implement this feature in our existing website using






You would use the AIM API to handle refunds.

John Conde :: Certified Authorize.Net Developer (Brainyminds) :: Official Authorize.Net Blogger

NEW! Handling Authorize.Net's Webhooks with PHP

Integrate Every Authorize.Net JSON API with One PHP Class (Sample code included)

Tutorials for integrating Authorize.Net with PHP: AIM, ARB, CIM, Silent Post
All About Authorize.Net's Silent Post

Thank for your response.


At present our system is developed on CIM itself. Any other alternatice with using CIM?






Actually, that answer was incorrect. The CIM guide says:


For Refund Transactions

If you are submitting a refund against a previous CIM transaction, the following guidelines apply:
- include customerProfileId, customerPaymentProfileId, and transId.
- customerShippingAddressId is optional.
- creditCardNumberMasked, bankRoutingNumberMasked, and bankAccountNumberMasked do not need to be included, but they will be validated if they are included.

If you are submitting a refund for a non-CIM transaction, the following guidelines apply:
- you must include transId, creditCardNumberMasked (or bankRoutingNumberMasked and bankAccountNumberMasked).
- do not include customerProfileId, customerPaymentProfileId, or customerShippingAddressId.

You can also issue an unlinked refund for a CIM transaction. In this case, the following rules apply:
- you must be enrolled in Expanded Credit Capabilities (ECC). For more information about ECC, go to
- you must include customerProfileId and customerPaymentProfileId.
- customerShippingAddressId is optional.
- do not include transId, creditCardNumberMasked, bankRoutingNumberMasked, or bankAccountNumberMasked.


So it's obviously possible to do this using just the CIM API.