Showing results for 
Search instead for 
Did you mean: 

CIM: Refunds

I've successfully tested both SALE and VOID transactions using the CIM SDK code samples and they work as expected.


With Refund transactions, though, I ran into an odd issue.


When trying to perform a Refund on a CIM Sale transaction, I'm getting the following error message back:


"Customer Profile ID and Customer Payment Profile ID OR masked Credit Card Number OR masked ABA Routing Number and masked Bank Account Number are required."


When Crediting a CIM Sale transaction, I'm sending the CustomerProfileID, CustomerPaymentProfileID, Amount, TransID.


I'm also passing in some order-related details (invoice number and description) for the refund as well as the same extra options as on my Sale/Void transactions, which is "x_delim_data=True&x_relay_response=False&x_delim_char=,&x_encap_char=|"


I double-checked the CIM guide and it says that CreditCardNumberMasked does not need to be included, but will be validated if it is included.


Through experimentation, I found that the only way I could get the Refund transaction to go through, however, was to include the CustomerProfileID, CustomerPaymentProfileID, TransID, *AND* the CreditCardNumberMasked.


Has anyone else run into this before? Is it a known bug/feature? Or is it just something odd in my implementation?

I'm getting the exact same issue.

I'm not able to recreate the problem myself. I just successfully credited a CIM transaction with this XML structure:

<?xml version="1.0" encoding="utf-8"?>
<createCustomerProfileTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">

Also, I'm using this via the SOAP WebService code supplied in the SDK, if that matters...

Hey there,


We still haven't been able to re-create the issue you're seeing. Can you post your full code and response to it? Or email it to for us to look into further?





Developer Community Manager

how to refund the amount for the list of customers  using CMI API by the cutomer id,customer payment id and amount to refund, can you pls suggest some method to implement this??

Is in the doc

"refund transaction"

Thank you, for test purpose i create the transaction in sandbox account for particular customer but why that transaction is not displaying in transaction details and Transaction id is 0  but mail was delivered successfully,how can i make transaction with existing customer profile in my sandbox account.. need sample code since i am new to payment gateway.

When the transactionid is 0, it mean is on testmode. For sandbox account make sure testmode is off.

Sample codes is under "DOWNLOADS"

@kevinfairchild how did you solved your problem?