CC Icons (left / right)
by VeryGoodFiddle
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>VGS Collect Credit Card Example</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<!--Replace with generated for your organization JS file.-->
<script type="text/javascript" src="https://js.verygoodvault.io/vgs-collect/1/development.js"></script>
</head>
<body>
<main>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-4">
<div class="row card card-outline-secondary">
<div class="card-body">
<h3 class="text-center">Collect.js Credit Card Payment</h3>
<hr>
<form id="cc-form">
<div class="form-group">
<label for="cc-name">Name</label>
<span id="cc-name" class="form-field">
<!--VGS Collect iframe for card name field will be here!-->
</span>
</div>
<div class="form-group">
<label for="cc-number">Card number</label>
<span id="cc-number" class="form-field">
<!--VGS Collect iframe for card number field will be here!-->
</span>
</div>
<div class="form-group">
<label for="cc-number">Card number (right)</label>
<span id="cc-number2" class="form-field">
<!--VGS Collect iframe for card number field will be here!-->
</span>
</div>
<div class="form-group">
<label for="cc-cvc">CVC</label>
<span id="cc-cvc" class="form-field">
<!--VGS Collect iframe for CVC field will be here!-->
</span>
</div>
<div...
CSS
body {
padding: 25px;
}
span[id*="cc-"] {
display: block;
height: 40px;
margin-bottom: 15px;
}
span[id*="cc-"] iframe {
height: 100%;
width: 100%;
}
pre {
font-size: 12px;
}
.form-field {
display: block;
width: 100%;
height: calc(2.25rem + 2px);
padding: .375rem .75rem;
font-size: 1rem;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: .25rem;
transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-field iframe {
border: 0 none transparent;
height: 100%;
vertical-align: middle;
width: 100%;
}
p {
margin-bottom: 10px;
}
JavaScript
const form = VGSCollect.create("development", function(state) {});
form.getUrl = () => 'https://tntmkqble3w.SANDBOX.verygoodproxy.io';
form.field('#cc-name', {
type: 'text',
name: 'card_name',
value: 'Joe Business'
});
// Create VGS Collect field for credit card number
form.field('#cc-number', {
type: 'card-number',
name: 'cc-number',
placeholder: 'Card number',
validations: ['required', 'validCardNumber'],
showCardIcon: {
left: '0px',
},
css: {
paddingRight: 0,
textAlign: 'right',
}
});
form.field('#cc-number2', {
type: 'card-number',
name: 'cc-number',
placeholder: 'Card number',
validations: ['required', 'validCardNumber'],
showCardIcon: true,
});
// Create VGS Collect field for CVC
form.field('#cc-cvc', {
type: 'card-security-code',
name: 'card_cvc',
value: '344'
});
// Create VGS Collect field for credit card expiration date
form.field('#cc-expiration-date', {
type: 'card-expiration-date',
name: 'card_expirationDate',
value: '01 / 2020'
});
// Submits all of the form fields by executing a POST request.
document.getElementById('cc-form')
.addEventListener('submit', function(e) {
e.preventDefault();
form.submit('/server?enable=true&status=200', {
headers: {
"VGS-Client": "source=collect&medium=collect",
}
}, function(status, data) {
alert('SUCCESS');
});
}, function(errors) {
alert('ERROR');
});