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.
Background
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.
Get the NetSuite Credit Card Suitelet Bundle
See Related Articles
- Drive Branded Customer Web Payments via NetSuite Integrated Payment Options
- Overcome NetSuite Payment Link Web Pay Challenges
- Accept ACH from Customers via NetSuite Hosted Website
- Assess Your Options with a Review of NetSuite’s Credit Card Reauthorization Bundle
- How to Drive NetSuite Credit Card Acceptance against a Sales Order
- Accept Credit Cards in NetSuite via a Customer Statement
- NetSuite Video Demonstration: Accept Credit Cards
- Ease the CyberSource to NetSuite Reconciliation Effort
hi
i am interested in learning more about the credit card link you mention above. i am not sure if it would/could apply to how our business is setup. We have a brick and mortar showroom where we have a Moneris credit card machine and then we manually enter payment transactions into Netsuite and apply to a so or invoice. We also have a big website grshop that is on magento – currently we are manually charging cards through ns using payflow pro and paypal.. looking to update this process.
Our tool leverages the fact that NetSuite exposes an API to call out to the underlying payment gateway. In your case, you sound like you have a number of disconnected payment gateways and thus, this does not sound applicable.
When we are helping our clients get the most of NetSuite, we solve for these challenges during an implementation. In your case, we would be looking at a) how to get the brick and mortar sales into NetSuite and the Magento sales and b) properly account for the disconnected payment work.
I am interested in adding the function to have a pay link on our invoices send out via Netsuite. Please let me know what is the implementation fee.
Thanks
Lucas
Hi Lucas,
Please contact me at https://www.prolecto.com/services/innovations/ so we can discuss your specific situation to confirm it will work for you.
The bundle is free yet we ask for a brief implementation engagement.
Marty
Hi Marty,
I’m a developer working on a NetSuite integration and have landed on your site a number of times now!
When I store a credit card, there is no address data on the credit card object model. Is there a clear way to associate an address to a credit card using the NetSuite API?
I have more detail out here:
https://stackoverflow.com/questions/43597455/php-netsuite-api-how-to-associate-credit-card-to-address
The docs are very minimal and have not found a clear answer to my question. The data schema does not show a field for addressBookList or similar.
Any advice you might have is appreciated! Thanks.
https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_2/schema/other/customercreditcards.html?mode=package
Hello Cameron,
I understand it as follows:
1) When you charge the card, it is against a bill-to address.
2) This typically is the defaulted on the customer record address sublist.
3) This may be overridden by the address information on the specific transaction.
Hence, store address information in the bill-to address record on the customer entity and mark it the default. Use it during your transactional work.
Marty
Is there any concern about a customer entering a credit card number on a non-authenticated web page? Do you encrypt the credit card data before submitting to NetSuite or anything like that?
Hello Jordan,
The page is secure via https, like you would experience during an eCommerce shopping cart (non authenticated). The data goes right into the NetSuite’s PCI compliant credit card wallet.
Marty
Would it be possible to add the suitelet to an existing “Online Customer Form” (Setup->Marketing->Online Customer forms) in order to take credit card details when signing up a new lead?
Or is there some way to adapt the existing suitelet you have, so it takes new lead information?
Hello Alex,
Under the technique we are suggesting, we would approach it as a replacement for NetSuite’s new lead collector and have it all integrated. It’s entirely possible in the framework to create a lead record and store a related credit card in NetSuite’s secure wallet.
Marty
Can this be configured for quotes (estimates) and sales orders as well? For quotes, if the customer pays, it would turn into an order… then for a sales order, if the customer pays, it would “approve” the sales order to be processed.
Hi Brett,
Yes, this can support that flow. See this article.
https://blog.prolecto.com/2017/03/05/create-netsuite-customer-deposits-from-opportunities-or-estimates/
WE are currently using Cybersource to send customer invoices but would love to learn more how we could send them right out of Netsuite. We would like to avoid the customer needed a users and PW – as they already have one for our cart platform.
Hello Amber,
Yes, that is how it works. No problem with Cybersource. No need for a password. We help you create a branded email with a link to pay.
You may want to watch the video in this link about how to do this with a customer statement as well:
https://blog.prolecto.com/2018/07/22/accept-credit-cards-in-netsuite-via-a-customer-statement/
Feel free to have a private conversation with me here:
https://www.prolecto.com/services/innovations/
Marty