Hi,
We are using CIM/AIM API on our system. We saved our customer payment profile via CIM interface. It works fine.
Now, I am trying to integrate CIM Refund and Void transaction to our admin web portal. And, I did everything with SOAP guide. But, It did not work. I debugged line to line( VS 2012 with C#), and it return error message.
Here is my code: this one return E00013 Credit card number is invalid.
ProfileTransRefundType RefundCIM = new ProfileTransRefundType();
RefundCIM.transId = TransID;
RefundCIM.customerProfileId=ProfileID;
RefundCIM.customerPaymentProfileId =PaymentProfileID;
RefundCIM.amount = Amount;
RefundCIM.creditCardNumberMasked = LastFour;
ProfileTransactionType RefundType = new ProfileTransactionType();
RefundType.Item =RefundCIM;
CreateCustomerProfileTransactionResponseType RefundCIMTrans = AuthorizeNETService.CreateCustomerProfileTransaction(Authorization, RefundType, null);
This one return E00014 Payment profile id ,profile id or xxxx is required.
ProfileTransRefundType RefundCIM = new ProfileTransRefundType();
RefundCIM.transId = TransID;
RefundCIM.customerProfileId=ProfileID;
RefundCIM.customerPaymentProfileId =PaymentProfileID;
RefundCIM.amount = Amount;
ProfileTransactionType RefundType = new ProfileTransactionType();
RefundType.Item =RefundCIM;
CreateCustomerProfileTransactionResponseType RefundCIMTrans = AuthorizeNETService.CreateCustomerProfileTransaction(Authorization, RefundType, null);
Between those two transactions only different is first one I sent last four digit credit card number, second one is I did not send that last four digit credit card number.
The customer credit card details already saved on Authorize.NET . I only provided profile id, payment profile id. So, on my side I did everything correctly.
I believe this is a bug on CIM.
need help.
Thanks,
Reference : On the guide
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.
Solved! Go to Solution.
09-27-2012 09:25 AM
1)Reason is 2) as it didn't see the ref profileID so it looking for a full cc#.
Did you add 'XXXX' for the masked cc#, e.g. XXXX6164
2)For nullable fields, there is a xxxSpecified need to set to true if you are pass it in.
e.g.
RefundCIM.customerProfileIdSpecified= true;
RefundCIM.customerPaymentProfileIdSpecified = true;
09-27-2012 09:35 AM
1)Reason is 2) as it didn't see the ref profileID so it looking for a full cc#.
Did you add 'XXXX' for the masked cc#, e.g. XXXX6164
2)For nullable fields, there is a xxxSpecified need to set to true if you are pass it in.
e.g.
RefundCIM.customerProfileIdSpecified= true;
RefundCIM.customerPaymentProfileIdSpecified = true;
09-27-2012 09:35 AM
Thank you very much for your help. I hope Authorize.NET need to update their SOAP Guide docmuents.
Thanks a lot.
09-27-2012 11:00 AM