PayMe Hosted Fields Example
HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Example Bootstrap implementation</title>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.payme.io/hf/v1/hostedfields.js"></script>
</head>
<body>
<div> </div>
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-8 col-sm-offset-2">
<!-- CREDIT CARD FORM STARTS HERE -->
<div class="panel panel-default credit-card-box">
<div class="panel-body">
<form role="form" id="checkout-form">
<div class="row">
<div class="col-xs-8 col-md-8">
<div class="form-group" id="card-number-group">
<label for="card-number-container" class="control-label">CARD NUMBER</label>
<div class="input-group input-group-lg">
<div id="card-number-container" class="form-control input-lg"></div>
<span class="input-group-addon"><i class="fa fa-credit-card" id="card-provider"></i></span>
</div>
<p id="card-number-messages" class="help-block" style="display: none;"></p>
</div>
</div>
<div class="col-xs-4 col-md-4">
<div class="form-group" id="social-id-group">
<label for="social-id-container" class="control-label">SOCIAL ID</label>
<div id="social-id-container" class="form-control input-lg"></div>
<p...
JavaScript
// HELPERS ---------------------------------------------------------------------------------
const apiKey = 'ac76cbc1-9a83-47a4-82bd-1c82c4979fdd';
const consolePre = document.getElementById('console-pre');
const form = document.getElementById('checkout-form');
const cardProvider = document.getElementById('card-provider');
const numberGroup = document.getElementById('card-number-group');
const numberMessages = document.getElementById('card-number-messages');
const expirationGroup = document.getElementById('card-expiration-group');
const expirationMessages = document.getElementById('card-expiration-messages');
const cvcGroup = document.getElementById('card-cvv-group');
const cvcMessages = document.getElementById('card-cvv-messages');
const firstNameGroup = document.getElementById('first-name-group');
const firstNameMessages = document.getElementById('first-name-messages');
const lastNameGroup = document.getElementById('last-name-group');
const lastNameMessages = document.getElementById('last-name-messages');
const emailGroup = document.getElementById('email-group');
const emailMessages = document.getElementById('email-messages');
const phoneGroup = document.getElementById('phone-group');
const phoneMessages = document.getElementById('phone-messages');
const socialIdGroup = document.getElementById('social-id-group');
const socialIdMessages = document.getElementById('social-id-messages');
const zipCodeGroup = document.getElementById('zip-code-group');
const zipCodeMessages = document.getElementById('zip-code-messages');
// -----------------------------------------------------------------------------------------------------------------
const submitButton = document.getElementById('submit-button');
submitButton.disabled = true;
function tokenizationStarted() {
submitButton.disabled = true;
console.log('Tokenization started!');
}
function tokenizationFinished() {
submitButton.disabled = false;
console.log('Tokenization finished!');
}
function...