Well, we all know Magento is the best e-commerce platform around. And Authorize.net has to be the most popular payment gateway around. So it came as a real surprise that there’s no support in Magento for the (not so new) service from Authorize.net called CIM (Customer Information Manager) that lets you save customer credit cards at Authorize.net safely and in a PCI compliant way. Not only is there no support in Magento for CIM, but the available extensions are very limited in functionality.
So when a customer asked for saved credit cards where they could add/edit and delete saved cards as well as save multiple cards, it became clear that the only thing to do was to build an extension ourselves. The result? Pure fun. I know – geeky as all you know what. But using the Authorize.net API and building out the Magento functionality was a blast. All functionality was created without saving any credit card numbers or CVC codes to the local Magento database. Here are some highlights of what we’ve come up with:
Configuring the component in the System Configuration in Magento:
Adding a new credit card in the customer account area – A “validation” transaction is run when the card is saved to ensure that the card is valid and that the CVC and AVS rules pass. [above]
Viewing the list of saved cards in the customer account area – A customer can have any number of saved cards. [above]
Editing a saved card [above]
Selecting a saved card at the checkout [above]
Adding a new credit card at the checkout [above]