RichardH

New CIM Hosted Form Field Added to API

by Administrator Administrator ‎11-12-2012 10:39 AM - edited ‎11-12-2012 10:38 AM (8,511 Views)

We’ve added a field to the CIM hosted form called hostedProfileValidationMode. It works just like validationMode, but without the none option.

 

hostedProfileValidationMode can use the following values:

 

liveMode—This value is the default setting.

 

liveMode generates a transaction to the processor in the amount of $0.01 or $0.00. If successful, the

transaction is immediately voided. Visa authorization transactions are changing from $0.01 to $0.00 for all

processors. All other credit card types use $0.01.

 

For Visa transactions using $0.00, the billTo address and billTo zip fields are required.

 

Standard gateway and merchant account fees may apply to the authorization transactions.

 

testMode—Performs field validation only. All fields are validated. However, fields with unrestricted field

definitions (such as telephone number) do not generate errors.

 

If you select testMode, a $1.00 test transaction is submitted using the Luhn MOD 10 algorithm to verify

that the credit card number is in a valid format. This test transaction does not appear on the customer's

credit card statement, but it will generate and send a transaction receipt email to the merchant.

 

If a validation transaction is unsuccessful, the profile is not created, and the merchant receives an error.

 

For a complete guide to the CIM API, please visit http://developer.authorize.net/api/cim/  

 

Comments
by WIS on ‎11-13-2012 03:11 PM

Are you implying that a customer profile can no longer be created without also adding a payment profile?

 

I am going live within days with a monthly leased software service that starts off as a free trial. I am creating a profile after customer replies to a confirmation email on the first day.  All the profile has is a customer id, their name in the description field & email.  Validation mode is set to none.  Do not want to hold on to this info to avoid any PCI compliance issues.  That's what CIM is for. 

 

I also do not want incur transaction costs for failed trials, nor present customer with credit card info demands right at the start.  Though there is more checking than just an email confirmation, a malicious bot creating accounts / charges is also a concern.  This a code fragment of the call:

 

        final CustomerProfile customerProfile = CustomerProfile.createCustomerProfile();
        customerProfile.setDescription(custName);
        customerProfile.setMerchantCustomerId(cust_id);
        customerProfile.setEmail(email);

        net.authorize.cim.Transaction transaction =

                     merchant.createCIMTransaction(TransactionType.CREATE_CUSTOMER_PROFILE);
        transaction.setCustomerProfile(customerProfile);
        transaction.setValidationMode(ValidationModeType.NONE);

        final Result<Transaction> result = (Result<Transaction>) merchant.postTransaction(transaction);

 

At the end of the trial period they need to add a card & then charge it to continue.  Suppose I would get charges adding the card, but at that point they are nolonger a trial.

 

Can I still do this?  When I saw this I re-downloaded the Java API, and got 1.4.6.  It has no changed.

by on ‎11-13-2012 03:55 PM

This is for the hosted form only(where the CC entry will be on authorize.net), the CIM API(web service/XML) will stay the same.

About the Author
  • Authorize.Net Developer Community Manager
Announcements
Labels