UltraCart Hosted Credit Card Fields
- 1 UltraCart Hosted Credit Card Fields
- 1.1 Overview
- 1.2 What is the New PCI 3.0 Requirement?
- 1.3 Setup an Integration
- 1.3.1 Prerequisites
- 1.3.2 UltraCartHostedFields.setup
- 1.3.2.1.1 Returns
- 1.3.2.2 SessionCredentials
- 1.3.2.3 HostedFields
- 1.3.2.4 Card
- 1.3.2.5 Cvv2
- 1.3.3 UltraCartHostedFields.addClass
- 1.3.3.1 Parameters
- 1.3.4 UltraCartHostedFields.removeClass
- 1.3.4.1 Parameters
- 1.3.5 UltraCartHostedFields.finished
- 1.3.5.1 Parameters
- 1.3.6 UltraCartHostedFields.destroy
- 1.4 Events from Hosted Fields
- 1.5 Implementing UltraCart Hosted Credit Card Fields in Simple Form Post Checkouts
- 1.5.1 Sample Simple Form Post
- 1.6 Javascript / REST Checkouts: HOWTO
- 1.7 How do I know if Hosted Fields are even working??
- 1.8 Advanced Topics
- 1.8.1 What happens to the value in the original credit card number field?
- 1.8.2 What about onfocus and onblur events?
- 1.8.3 What about onchange event?
- 1.8.4 What if the browser fails to load the iframe for some reason?
- 1.8.5 Why is my custom font not working within the hosted field?
- 1.8.6 Is there a debug mode to determine more details of the interaction between the regular page and the hosted fields?
- 1.8.7 Why am I receiving an alert window about the input type being a number?
- 1.8.8 Why am I receiving an alert window about the selector not finding the element on the page?
- 1.8.9 How can I perform inline validation of the hosted fields?
- 1.8.10 Is Ionic Framework Supported?
- 1.8.10.1 ionic info
- 1.9 FAQ
- 1.9.1 Q: I'm a small merchant, do I have to be PCI 3.0 compliant?
- 1.9.2 Q: What if my JavaScript checkout is doing card tokenization already?
- 1.9.3 Q: Can I use media queries inside of the CSS of the hosted field?
- 1.9.4 Q: How do I check the card type if all I receive is the masked card number back?
- 1.9.5 Q: I've implemented hosted fields and now the credit card number isn't masked after entering it.
- 1.9.6 Q: I've implemented hosted fields, in Safari browser, if in private mode, the hosted fields won't load, why is that happening?
UltraCart Hosted Credit Card Fields
Overview
UltraCart Hosted Credit Card Fields provides a mechanism to meet the new PCI 3.0 requirements without limiting your integration options or user interface.
UltraCart Hosted Credit Card Fields are seamless iframe inputs that collect the sensitive credit card data from the customer within your checkout without requiring substantial modification to your existing HTML, CSS, or JavaScript. This will help you meet the the new data security mandates of PCI 3.0, while ensuring your organization can complete the simplest self assessment questionnaires.
Retains your ability to control the styling of the input
Helps maintain your eligibility for SAQ-A PCI certification
Comes standard in the legacy checkout and StoreFronts.
Requires minimal changes to external forms or API based checkouts.
What is the New PCI 3.0 Requirement?
As the PCI (Payment Card Industry) standard continues to evolve there are new requirements that must be implemented to maintain the security of card holder data. With PCI 3.0, which comes into full effect in 2015, there is a new requirement that ALL sensitive payment data form fields MUST come from the PCI-DSS certified provider. If your website is serving up the input fields associated with the PAN (primary account number 15-16 digits) or the card verification number (CVV/CVV2) then you will be exposing yourself to SAQ-EP (all 12 requirements of PCI) instead of SAQ-A (2 requirements of PCI).
Setup an Integration
Once you read the instructions below, this checklist may help you upgrade sites using UCEditor POSTs. Sorry - we don't have one for javascript checkouts yet. Those tend to vary widely.
Prerequisites
The first step in integrating UltraCart Hosted Credit Card Fields into your site is to include the three prerequisite script files.
jQuery
JSON
UltraCart Hosted Credit Card Fields.
The easiest way to include these three scripts is to use the block of code below.
<script type="text/javascript" src="https://token.ultracart.com/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="https://token.ultracart.com/js/json3.min.js"></script>
<script type="text/javascript">
// Take the version that we just included and scope it locally. The noConflict will return $ and jQuery to their
// original values so that the version of jQuery used for the hosted fields does not conflict with any other existing
// version of jQuery or other JS library that use $ that are on the page.
var jQueryHostedFields = $.noConflict(true);
// Also make sure that we're providing consistent JSON functionality in browsers, but don't pollute existing libraries
// by running our version in noConflict mode. This will restore whatever is there similar to jQuery.
// This will also make sure we have a JSON implementation in older versions of IE.
var jsonHostedFields = JSON3.noConflict();
</script>
<script type="text/javascript" src="https://token.ultracart.com/checkout/checkout-hosted-fields-1.0.js"></script>
<script type="text/javascript">window.UltraCartHostedFields || document.write('<script src="//token.ultracart.com/checkout/checkout-hosted-fields-1.0.js?r=' + new Date().getTime() + '"><\/script>')</script>UltraCartHostedFields.setup
There is only one method call needed to add the UltraCart Hosted Credit Card Fields to your page. This static method processes the configuration and returns an instance object.
Parameters
Argument | Type | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
jQuery | jQuery | An instance of jQuery. If you're using our sample above then the value would be "jQueryHostedFields", but if you already have jQuery available on the page then you can use "jQuery" | ||||||||||||||||||||||||||||
JSON | JSON | An instance of the JSON object. If you are using our sample above then the value would be "jsonHostedFields". Most browsers provide their own JSON object which can be used by the API, but including an external version as the sample above provides consistency across all browsers and versions. | ||||||||||||||||||||||||||||
config | object |
|
Returns
Type | Description |
|---|---|
UltraCartHostFields | Instance of the hosted fields object. This variable should be stored way if any of the advanced methods need to be called. |