cancel
Showing results for 
Search instead for 
Did you mean: 

how to validate masked payment profile CIM c#?

Hi, I am using CIM C# - I am able to generate customer profile, payment profile and run test transactions. however, I want to know if there is a way to authenticate the customer payment using a token? Does CIM return any token that I can store (instead of payment profile IDs). If so, how to get that token? and based off that token, how can we validate the customer/payment profile? and then how to process the transactions based off that code? I used these methods SoapAPIUtilities.Service.CreateCustomerPaymentProfile & CustomerProfileWS.CreateCustomerPaymentProfileResponseType Looks like there is a mask function -- CustomerProfileWS.CustomerPaymentProfileMaskedType but it seems, this will return the masked payment profile ID - then How will my APP be able to retrieve the customer and payment profile IDs at run time so that it can i) validate the profile ii) use the CreateCustomerProfileTransaction method We don't want to store customer profile ID and payment profile IDs 3) When creating Customer Payment Profile - how to get the masked credit card, authorization code etc., the response CreateCustomerProfileTransactionResponseType does seem to return only "OK" and "Successful" but I would like to get the values being sent as an email from authorize.NET ============== RESULTS ============== Response : This transaction has been approved. Authorization Code : XYZ394 Transaction ID : 4193490234 4) and how to receive the masked values of Credit Card #, CVS etc., Appreciate your help. Thanks a lot
xelite
Member
8 REPLIES 8

but it seems, this will return the masked payment profile ID

no. it return a masked credit card#.

 

We don't want to store customer profile ID and payment profile IDs

If you don't stored them, how are you going to know who and which card to charge?

 

read the "Output for CreateCustomerProfileResponse" section on the documentation @

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

 

There is the validationDirectResponseList where it would have the response from the validation request of the credit card

RaynorC1emen7
Expert

thanks for your feedbac.

Is it a common practice to store the customer and payment profile ID inside of a source application (that initiate and call the authorize api)?  Is it not possible to encrypt ? 

 

Obviously we cannot store the full credit card number so how to retreive the masked credit card numbers once the payment profile is created in authorize.net? 

Is it a common practice to store the customer and payment profile ID inside of a source application (that initiate and call the authorize api)?  Is it not possible to encrypt ?

The customer profile id/payment profile id only work with your merchant account. So you should be worry about someone gaining access to your loginID and transactionKey.

 

Obviously we cannot store the full credit card number so how to retreive the masked credit card numbers once the payment profile is created in authorize.net?

Use GetCustomerPaymentProfile with the customer profile id and customer payment profile id

Ok. thanks for clarification. Now, could I run the validatecustomerpaymentProfile or does GetCustomerPaymentProfile would confirm whether the card is valid, before I run through the transaction. 

Also how to retreive the authorization # or transaction code etc., (that is being sent as email) but capture that inside the application?  looks like its directresponse but what is CustomerProfileWS method  that provide the values? 

 

When you do the createcustomerproifle/CreateCustomerPaymentProfile, you can set the validationmode to livemode which will run a auth_only transaction to test the CC#(fees). Or you can run the ValidateCustomerPaymentProfile later, which does the same thing(fees).

Just want to make sure you know that there will be transaction fee for the validation.

 

Also how to retreive the authorization # or transaction code etc., (that is being sent as email) but capture that inside the application?  looks like its directresponse but what is CustomerProfileWS method  that provide the values?

the depend of which methods you can calling. Anything that create a transaction would have a(or a list of) directresponse in their response object.

 

Hi I am calling the CreateTransaction Method as below. as you can see it returns "OK" and "Successful" that's all. I am not able to get the transaction code, authorization, payment, customer etc.,

 

 

public void CreateTransaction(long profile_id, long payment_profile_id, decimal amount) { CustomerProfileWS.ProfileTransAuthCaptureType auth_capture = new CustomerProfileWS.ProfileTransAuthCaptureType(); auth_capture.customerProfileId = profile_id; auth_capture.customerPaymentProfileId = payment_profile_id; auth_capture.amount = amount; // 1.00m; auth_capture.order = new CustomerProfileWS.OrderExType();

 

auth_capture.order.invoiceNumber = "invoice" + DateTime.Now.ToShortTimeString(); CustomerProfileWS.ProfileTransactionType trans = new CustomerProfileWS.ProfileTransactionType(); trans.Item = auth_capture;

 

CustomerProfileWS.CreateCustomerProfileTransactionResponseType response = SoapAPIUtilities.Service.CreateCustomerProfileTransaction(SoapAPIUtilities.MerchantAuthentication, trans, null);

 

Console.WriteLine("Response Code: " + response.resultCode);

 

for (int i = 0; i < response.messages.Length; i++)

{ Console.WriteLine(response.messages[i].text); } }

is the response.directResponse

 

but it is in delimited format.

do something like this, check your delimited char

string[] AIMresponse = response.directResponse.Split(',');

read the index seq

http://developer.authorize.net/guides/AIM/wwhelp/wwhimpl/js/html/wwhelp.htm#href=4_TransResponse.htm...