This article is relevant if you are looking to accept credit cards in your NetSuite account but you don’t want to host a web site or use the built-in NetSuite customer center.
Many of our clients need to process credit cards. ¬†When we lead the planning for a NetSuite implementation, we often suggest to our clients to work with some of the providers that have done a good job integrating their credit card payment platforms to NetSuite. ¬†I won’t go into that here as there are many other articles on this subject. ¬†The great news is that the NetSuite platform is compliant with all PCI and related regulations. ¬†And, the NetSuite API, where my team holds expertise, has standardized the use of calling these payment platform gateways.
Generally, once our client knows they are going to accept credit cards on NetSuite leveraging an integrated ¬†payment processor, they then start to think about how they will actually collect payment. ¬†The general way this is approached is: a) if you have a NetSuite driven eCommerce site, you will use the built-in cart check out system; or b) you accept the credit card over the phone and enter it on behalf of the customer; or c) if you don’t have a hosted NetSuite web site, you can use the built-in NetSuite customer center to have the customer pay an open invoice.
I have found that for those customers that do not have a hosted NetSuite web site, many customers are not interested in setting up the NetSuite customer center as it requires password management; further, the built-in customer center is not easy to produce a fully branded experience (although this is getting easier with the add-on implementation elements provided with NetSuite Suite Commerce Advanced add-ins).
Leveraging the NetSuite SuiteScript Platform
The good news is that the NetSuite SuiteScript platform provides tools to effectively invent ways to collect credit card information in a compliant manner. ¬†They key here is to ensure that you follow NetSuite’s guidelines for how to collect and store sensitive credit card information. ¬†If you follow the guidelines as dictated by the terms of NetSuite licensing, you should be fine (due diligence: each customer must do their homework to confirm they interpret the use of working with credit card information complies with all industry and regulatory guidelines).
NetSuite Invoice Credit Card Acceptance
After helping a number of customers solve this common challenge, we began to see a recurring pattern. ¬†The most interesting use case is when you have traditional terms based invoicing and you want to offer the option to pay with credit card. ¬†Here, clients need a convenient way to distribute an invoice via email with a secure link to an encrypted web form that collects the credit card, validates it, and applies the payment to the invoice. ¬† Other use cases are accepting payment when the total due is more than a single invoice to be satisfied. ¬† In all cases, the customer experience should be branded to produce a trustworthy customer experience. ¬†Much of the brand experience is dictated by the marketing standards held by each of our clients.
We solved this by producing the following key capacities which can be adapted if necessary:
- Unique Link: each invoice has a unique link to pay just that invoice. ¬†A token key is used to prevent url tampering. ¬†The link is available on the transaction and can be used in invoice PDF operations (see our Content Renderer for full invoice presentation control).
- Link Expiration:¬†to prevent misuse, each link will expire after issuance by a user defined time interval.
- Two modes:¬†Quick logo change or full branded experience: if you like the existing presentation, we developed a mechanism that allows a quick change to a company logo to effectively make it done (click image for sample). ¬†However, if you want full control over the user experience, such as multi-language or locale references, we have an html template that is decoupled from the server side business logic.
- Credit Card Wallet: NetSuite makes it easy to properly store the credit card in the provided customer wallet which can help facilitate future processing.