10-05-2011 09:15 AM
Continuation of integrating the Hosted CIM function to a Legacy application.
We now have the interface working with a Legacy Applications. We're able to use the various CIM XML calls to replace entering Credit Card information into a Legacy application with a pop-up browser function directly to Authorize.net. Our initial problem was having to re-enter Name & Address information in the browser (in affect entering the data twice). But we've gotten past that problem using createCustomerShippingAddress.
The Credit Card processing is working on our test server. In the process we are testing all related Legacy selections. One of these is an email alert when a Credit Card is about to expire. Since we are no longer entering the Card information via the Legacy application (not storing it, just collecting it to be passed to CIM), we do not have access to the Expiration Date. There are 2 CIM APIs that return expirationDate (getCustomerProfile, getCustomerPaymentProfile) - but both seem to treat the expirationDate as sensitive and the return data is always - 'XXXX'. At least the cardnumber returns the last 4 digits (everything else is masked as 'XXX') - but without the expirationDate, we have no choice but to wait for a failure because the card expired.
Are there any CIM calls that will return the Expiration Date associated with the last 4 digits of a card?
10-05-2011 10:50 AM
No. Someone did post a rather interesting suggestion recently, however, which is to authorize the payment a few days in advance and then capture when the payment is due. If the credit card has expired, the authorize will fail, and so long as you capture on the last day of the month rather than the first day of next month, it'll work fine and you will be able to warn your customers up to 7 days in advance that they need to update their credit card.