cancel
Showing results for 
Search instead for 
Did you mean: 

How to auth and then captue with a CIM

I am trying to:

1.  Perform an auth with the customer.

2.  After getting the auth, create a CIM for them

3.  Go back and do a priorauthcapture of that auth into the CIM that was created. 

Doesn't work.  I cannot do a priorauthcapture thru the created CIM  since that auth was not created with that CIM profile. I can do a capture from the CIM but that creates another transaction.

 

I can do an authcapture then create the CIM but  I would like that first transaction to be linked to the CIM

   What is the suggested way to handle this scenario.

 

Thx

 

 

glerler
Contributor
1 ACCEPTED SOLUTION

Accepted Solutions

OK - Got this solved.  Below is a snip of the code.  The issue was that with .NET  you need to set the "ValueModeSpecified" to true otherwise the ValidationMode setting is ignored!!  Found that footnote buried in the documentation. After that I got the response.    

Now that had its own issues.  the other directresponses came in a string that I split into a string array and get the info.  

THIS is returned as a  string array already BUT.....in reality the whole response string is the is the first item in the array.  SO.... I had to to that item AND split that to get the responses.!!!!!  There is an 1.5 hrs that isn't billable.  ARGGHH!!!

 

Thanks for the repsonses 

 

customerPaymentProfileType[] cards = new customerPaymentProfileType[1] { card };
 
           createCustomerProfileRequest createCustomerProfileRequest1 = new createCustomerProfileRequest();
           createCustomerProfileRequest1.validationModeSpecified = true;
           createCustomerProfileRequest1.validationMode = validationModeEnum.liveMode;
           customerProfileType newProfile = new customerProfileType();
           newProfile.description = memberCustomerInformationManagerPaymentProfile.Description;
           newProfile.paymentProfiles = cards;
           newProfile.merchantCustomerId = memberCustomerInformationManagerPaymentProfile.MemberId.ToString();
           newProfile.email = memberCustomerInformationManagerPaymentProfile.Email;

View solution in original post

12 REPLIES 12

If the auth_only wasn't create with CIM, you can't use CIM to pre auth capture, so either use the capture only

 

or

 

http://developer.authorize.net/api/reference/

createTransaction search "Capture a previously authorized amount"

 

RaynorC1emen7
Expert

So I have learned.

My thought was to authorize the customer before I created a CIM so I didn't have stray CIM profiles floating around.  I wanted to have all charges appear for the customer in their CIM profile.  Suggestion on the best way to handle this are welcome.  Thx for the time.

G

You can do both, when you create CIM payment profile, you can set the validationmode to livemode, which will generate a auth_only transaction(fyi there will be fee) and it will on create the payment profile if it valid. Then u can decide to delete the customer profile if that fail.

Appreciate the input.   I was not familiar with the ValidationMode property.    I will see if that works well for me.   Thx

How do I check the response for the auth?   Check if there is a CustId #?   There is a validationDirectRespnoseList but I get nothing back  in the list.  I am doing this in the Sandbox?  I am trying to;

1. Check auth for CC

2.  If good request will create CustomerProfile and payment

3.  Check response  if good - charge customer

 

the CIM is created in the Sandbox but the ValidationResponseList is empty

can you post code, or tell us which method did you use exactly?

Not sure where is this ValidationResponseList from

It gets returned in CreateCustomerCustomerProfileResponse.      

It shows being returned like  DirectResponse stirng.

Wtih the validationMode to live it supposed to do a checkAuthorize on the customers card.  If good it will create the customerProfile otherwise return and error.

Thx for reading

It would be helpful if you posted your request and response information.

 

Richard

If it return a DirectResponse, use that, it is the same response as AIM

chapter 4 in http://www.authorize.net/support/AIM_guide.pdf

 

Or can you post the full response xml or soap.