Marty Zigman Marty Zigman
Prolecto Labs Accelerator Templates

Accept Credit Cards without a NetSuite Web Site

Accounting Infrastructure NetSuite

Tags: , ,

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:

  1. 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).
  2. Link Expiration: to prevent misuse, each link will expire after issuance by a user defined time interval.
  3. 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.
  4. Credit Card Wallet: NetSuite makes it easy to properly store the credit card in the provided customer wallet which can help facilitate future processing.
Some of these features are options because the basic rule for avoid holding credit card data is to not hold it any longer then you need to process a transaction.  As always, clients need to be responsible for how they work with credit card information.

Get the NetSuite Credit Card Suitelet Bundle

The application was built using NetSuite Suitelet technology and is available to all standard NetSuite accounts.  We offer the Suitelet without a typical license charge but we do ask for a nominal consultation and implementation fee.   Our goal is to help our clients understand the power of NetSuite platform and learn they can turn to us for any of their requirements for NetSuite innovations or enhancements.  If you are interested in obtaining the bundle, drop me a message so we can have a conversation.
Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - YouTube

About Marty Zigman

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

Biography • Website • X (Twitter) • Facebook • LinkedIn • YouTube

14 thoughts on “Accept Credit Cards without a NetSuite Web Site

  1. Amber says:

    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.

  2. Marty Zigman says:

    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.

  3. Lucas L says:

    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

  4. Marty Zigman says:

    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

  5. Cameron says:

    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:
    http://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.

    http://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_2/schema/other/customercreditcards.html?mode=package

  6. Marty Zigman says:

    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

  7. Jordan Patterson says:

    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?

  8. Marty Zigman says:

    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

  9. Alex Fiedler says:

    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?

  10. Marty Zigman says:

    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

  11. Brett says:

    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.

  12. amber Leask says:

    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.

  13. Marty Zigman says:

    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

Leave a Reply

Your email address will not be published. Required fields are marked *