////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
//// START: COPY / PASTE
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
var vSIGN_update_authorization_status = false;
var vSIGN_submit_form_manager = true;
var vSIGN_include_telephone_number_field = true;
var vSIGN_test_fail_on_approved = false;
window.vSIGN_telephone = "";
////////////////////////////////////////////////////////////////////////////////////////////////
/// START: STEP 1. SET THESE VALUES:
var vSIGN_BUSINESS_ACCOUNT_ID = "f6fe513b545c5ec2d1d35529783f2906"; // get this ID from your registered account
var vSIGN_CUSTOMER_SESSION_ID = "_XXXXX_"; // optional: any unique 32 char strong for your internal tracking
var vSIGN_CUSTOMER_IP = "_XXXXX_"; // customer ip address (use "0.0.0.0" if IP is not available)
var vSIGN_CUSTOMER_NAME = "_XXXXX_"; // name on card
var vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 = "_XXXXX_"; // iso2 or iso3 (i.e., "AU" or "AUS", "US" or "USA", etc.
var vSIGN_CUSTOMER_TELEPHONE_NUMBER = "_XXXXX_"; // does NOT include country code (e.g., 3105551212
var vSIGN_CUSTOMER_EMAILADDRESS = "_XXXXX_"; // email address of customer (for delivery of voice authorization receipts -- CRITICAL for chargeback prevention.)
var vSIGN_AUTHORIZATION_CATEGORY = "_XXXXX_"; // "PAYMENT" (single payments) or "RECURRING" (subscriptions)
var vSIGN_AUTHORIZATION_AMOUNT = "_XXXXX_"; // xx.yyy (does NOT include currency symbols) i.g., 200.00
var vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS = "_XXXXX_"; // last 4 digits of the customers bankcard
var vSIGN_AUTHORIZATION_RETURN_POLICY = "_XXXXX_"; // in days (e.g., "90")
var vSIGN_AUTHORIZATION_RECURRING_SCHEDULE = "_XXXXX_"; // "DAILY", "WEEKLY", "MONTHLY", etc.
var vSIGN_AUTHORIZATION_FREE_TRIAL = "_XXXXX_"; // set free trial period (number of days) e.g., "3"
//////////////////
//// GATEWAY ONLY: [you must set your business account category to "GATEWAY" within the vSIGN Account.]
var vSIGN_GATEWAY_MERCHANT_NAME = "_XXXXX_"; // merchant name (e.g., "Example Corp.")
var vSIGN_GATEWAY_MERCHANT_EMAILADDRESS = "_XXXXX_"; // merchant customer support email address (e.g., "support@example.com")
var vSIGN_GATEWAY_MERCHANT_MID = "_XXXXX_"; // merchant MID/merchant id (this will be an "internal" reference number that you [the gateway] has assigned to the merchant)
var vSIGN_GATEWAY_MERCHANT_MCC = "_XXXXX_"; // standard merchant category code you [the gateway] has assigned to the merchant)
/// END: STEP 1. SET THESE VALUES:
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
///// START: vSIGN_For_Payments_Authorization();
function vSIGN_For_Payments_Authorization(
vSIGN_BUSINESS_ACCOUNT_ID
,vSIGN_CUSTOMER_SESSION_ID
,vSIGN_CUSTOMER_IP
,vSIGN_CUSTOMER_NAME
,vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3
,vSIGN_CUSTOMER_TELEPHONE_NUMBER
,vSIGN_CUSTOMER_EMAILADDRESS
,vSIGN_AUTHORIZATION_CATEGORY
,vSIGN_AUTHORIZATION_AMOUNT
,vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS
,vSIGN_AUTHORIZATION_RETURN_POLICY
,vSIGN_AUTHORIZATION_FREE_TRIAL
,vSIGN_AUTHORIZATION_RECURRING_SCHEDULE
,vSIGN_GATEWAY_MERCHANT_NAME
,vSIGN_GATEWAY_MERCHANT_EMAILADDRESS
,vSIGN_GATEWAY_MERCHANT_MID
,vSIGN_GATEWAY_MERCHANT_MCC
) {
//(1);
/// VALIDATE NATS FILE ///////////////////////////////////////////
/// START: USERNAME
//alert("document: "+document.getElementsByName("signup[username:1:6:16:::username_check]")[0].value);
var tmp_NATS_username = document.getElementsByName("signup[username:1:6:16:::username_check]")[0].value;
//alert("tmp_NATS_username: "+tmp_NATS_username);
if(tmp_NATS_username) {
tmp_NATS_username = tmp_NATS_username.trim();
var tmp_NATS_username_split = tmp_NATS_username.split("");
//alert("tmp_NATS_username_split[0]: "+tmp_NATS_username_split[0]);
var tmp_NATS_username_split_first = tmp_NATS_username_split[0].replace(/[^A-Za-z]/g, "");
} else {
tmp_NATS_username_split_first = "";
}
//alert("tmp_NATS_username_split_first: "+tmp_NATS_username_split_first);
//alert(2);
if(
(tmp_NATS_username.length < 6) ||
(tmp_NATS_username_split_first.length < 1)
) {
alert(" Your USERNAME must be at least 6 characters, may include digits, but MUST begin with a letter. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: USERNAME
///alert(3);
/// START: PASSWORD
var tmp_NATS_password = document.getElementsByName("signup[password:1:6:16:::password_check]")[0].value;
///alert("tmp_NATS_password: "+tmp_NATS_password);
if(tmp_NATS_password) {
tmp_NATS_password = tmp_NATS_password.trim();
} else {
tmp_NATS_password = "";
}
if((tmp_NATS_password.length < 6)) {
alert(" Password has to be at least 6 characters. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: PASSWORD
/// START: EMAIL ADDRESS
var tmp_NATS_emailaddress = document.getElementsByName("signup[email:1:1:128:::email_check]")[0].value;
tmp_NATS_emailaddress = tmp_NATS_emailaddress.trim();
if(
(tmp_NATS_emailaddress.indexOf(".") == -1) ||
(tmp_NATS_emailaddress.indexOf("@") == -1)
) {
if(tmp_NATS_emailaddress.length > 0) {
alert(tmp_NATS_emailaddress + " does not appear to be a valid email address. \n\n Please try again...");
} else {
alert("You must set a valid email address. \n\n Please try again...");
}
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: EMAIL ADDRESS
/// START: FIRSTNAME
var tmp_NATS_value = document.getElementsByName("signup[firstname:1]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your First Name is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: FIRSTNAME
/// START: LASTNAME
var tmp_NATS_value = document.getElementsByName("signup[lastname:1]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your Last Name is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: LASTNAME
/// START: Address
var tmp_NATS_value = document.getElementsByName("signup[address1:1]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your Billing Address is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: Address
/// START: ZIP
var tmp_NATS_value = document.getElementsByName("signup[zip:1]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your Billing Postal / ZIP is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: ZIP
/// START: City
var tmp_NATS_value = document.getElementsByName("signup[city:1]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your Billing City is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: City
/// START: State
var tmp_NATS_value = document.getElementsByName("signup[state:1]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your Billing State is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: State
/// START: Credit Card Number
var tmp_NATS_value = document.getElementsByName("signup[cc:1:13:16:::mod10_check]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your Credit Card Number is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: Credit Card Number
/// START: Credit Card Number MOD7
var tmp_NATS_value = document.getElementsByName("signup[cc:1:13:16:::mod10_check]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
function isValidIdentifier(identifier) {
var sum = 0,
alt = false,
i = identifier.length-1,
num;
if (identifier.length < 13 || identifier.length > 19){
return false;
}
while (i >= 0){
//get the next digit
num = parseInt(identifier.charAt(i), 10);
//if it's not a valid number, abort
if (isNaN(num)){
return false;
}
//if it's an alternate number...
if (alt) {
num *= 2;
if (num > 9){
num = (num % 10) + 1;
}
}
//flip the alternate bit
alt = !alt;
//add to the rest of the sum
sum += num;
//go to next digit
i--;
}
//determine if it's valid
return (sum % 10 == 0);
}
if(!isValidIdentifier(tmp_NATS_value)) {
alert(tmp_NATS_value + " does not appear to be a valid credit card number. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: Credit Card Number MOD 7
//alert(1);
/// START: CVV
var tmp_NATS_value = document.getElementsByName("signup[cvv:1:3:4]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 1)) {
alert(" Your Card's CVV Number is required. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: CVV
/// START: CVV
var tmp_NATS_value = document.getElementsByName("signup[cvv:1:3:4]")[0].value;
tmp_NATS_value = tmp_NATS_value.trim();
if((tmp_NATS_value.length < 3)) {
alert(tmp_NATS_value + " does not appear to be a valid CVV Number. \n\n Please try again...");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// END: CVV
/// SET API URI + PARAMATERS
if((vSIGN_BUSINESS_ACCOUNT_ID == "") || (vSIGN_BUSINESS_ACCOUNT_ID == "_XXXXX_")) {
alert("vSIGN_BUSINESS_ACCOUNT_ID is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// ADVANCED SECURITY OPTION:
/// Set the vSIGN_CUSTOMER_SESSION_ID (unique per vSIGN_BUSINESS_ACCOUNT_ID per authorization/call)
/// (i.e., Duplicate vSIGN_BUSINESS_ACCOUNT_ID + vSIGN_CUSTOMER_SESSION_ID will be rejected.)
if( (!vSIGN_CUSTOMER_SESSION_ID) || (vSIGN_CUSTOMER_SESSION_ID = "_XXXXX_") ) {
function vSIGN_default_random_string(length, chars) {
var result = '';
for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
return result;
}
vSIGN_CUSTOMER_SESSION_ID = vSIGN_default_random_string(32,'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
}
if(
(vSIGN_CUSTOMER_IP == "_XXXXX_") ||
(vSIGN_CUSTOMER_IP == "0") ||
(vSIGN_CUSTOMER_IP == "")
) {
function vWAVE_get_customer_ip() {
if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","https://gateway.v-wave.network/ip_lookup.api",false);
xmlhttp.send();
return xmlhttp.responseText;
}
var vSIGN_CUSTOMER_IP = vWAVE_get_customer_ip();
//alert("vSIGN_CUSTOMER_IP: "+vSIGN_CUSTOMER_IP); // <-- TEST IP
}
if((vSIGN_CUSTOMER_IP == "") || (vSIGN_CUSTOMER_IP == "_XXXXX_")) {
alert("vSIGN_CUSTOMER_IP is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//alert("email" + {$vars.email})
//// NATS GLOBALS:
//// signup[email]
//// signup[firstname]
//// signup[lastname]
//// signup[country]
//// signup[phone]
//// signup[optionid]
///// var vSIGN_NATS_DATA = "";
if(
(document.getElementById('join_option').value != null) &&
(document.getElementById('join_option').value != "") &&
(document.getElementById('join_option').value)
) {
var vSIGN_NATS_optionid = document.getElementById('join_option').value;
} else {
var vSIGN_NATS_optionid = "";
}
///// alert("000 vSIGN_NATS_DATA: "+vSIGN_NATS_DATA);
///// alert("000 vSIGN_NATS_DATA.value: "+vSIGN_NATS_DATA.value);
//alert("vSIGN_AUTHORIZATION_AMOUNT: "+vSIGN_AUTHORIZATION_AMOUNT);
//alert("vSIGN_NATS_optionid: "+vSIGN_NATS_optionid);
//alert("vSIGN_AUTHORIZATION_AMOUNT: "+vSIGN_AUTHORIZATION_AMOUNT);
if(
((!vSIGN_AUTHORIZATION_AMOUNT) || (vSIGN_AUTHORIZATION_AMOUNT == "_XXXXX_")) &&
(vSIGN_NATS_optionid != "")
) {
//alert("2. vSIGN_NATS_optionid: "+vSIGN_NATS_optionid);
//vSIGN_AUTHORIZATION_AMOUNT = "";
if(vSIGN_NATS_optionid == "153") {
vSIGN_AUTHORIZATION_CATEGORY = "RECURRING";
vSIGN_AUTHORIZATION_RECURRING_SCHEDULE = "MONTHLY";
vSIGN_AUTHORIZATION_AMOUNT = "24.62";
vSIGN_AUTHORIZATION_FREE_TRIAL = "1";
}
//alert("3. vSIGN_NATS_optionid: "+vSIGN_NATS_optionid);
if(vSIGN_NATS_optionid == 133) {
//alert("4. vSIGN_NATS_optionid: "+vSIGN_NATS_optionid);
vSIGN_AUTHORIZATION_CATEGORY = "RECURRING";
vSIGN_AUTHORIZATION_RECURRING_SCHEDULE = "MONTHLY";
vSIGN_AUTHORIZATION_AMOUNT = "24.62";
vSIGN_AUTHORIZATION_FREE_TRIAL = "1";
}
//alert("0. vSIGN_AUTHORIZATION_AMOUNT: "+vSIGN_AUTHORIZATION_AMOUNT);
if(vSIGN_NATS_optionid == "99") {
vSIGN_AUTHORIZATION_CATEGORY = "RECURRING";
vSIGN_AUTHORIZATION_RECURRING_SCHEDULE = "MONTHLY";
vSIGN_AUTHORIZATION_AMOUNT = "39.62";
vSIGN_AUTHORIZATION_FREE_TRIAL = "0";
}
//alert("1 vSIGN_AUTHORIZATION_AMOUNT: "+vSIGN_AUTHORIZATION_AMOUNT);
if((vSIGN_AUTHORIZATION_AMOUNT == "") || (vSIGN_AUTHORIZATION_AMOUNT == "_XXXXX_")) {
alert("vSIGN_AUTHORIZATION_AMOUNT is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
document.cookie="vSIGN_AUTHORIZATION_AMOUNT="+vSIGN_AUTHORIZATION_AMOUNT;
} else if(!vSIGN_AUTHORIZATION_AMOUNT) {
alert("vSIGN_AUTHORIZATION_AMOUNT is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
if(
((!vSIGN_AUTHORIZATION_CATEGORY) || (vSIGN_AUTHORIZATION_CATEGORY == "_XXXXX_")) &&
(document.getElementById('vSIGN_AUTHORIZATION_CATEGORY'))
) {
vSIGN_AUTHORIZATION_CATEGORY = document.getElementById('vSIGN_AUTHORIZATION_CATEGORY').value;
if((vSIGN_AUTHORIZATION_CATEGORY == "") || (vSIGN_AUTHORIZATION_CATEGORY == "_XXXXX_")) {
alert("vSIGN_AUTHORIZATION_CATEGORY is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else {
document.cookie="vSIGN_AUTHORIZATION_CATEGORY="+vSIGN_AUTHORIZATION_CATEGORY;
}
} else if(!vSIGN_AUTHORIZATION_CATEGORY) {
alert("vSIGN_AUTHORIZATION_CATEGORY is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//// START: vSIGN_AUTHORIZATION_CATEGORY = PAYMENT
if(vSIGN_AUTHORIZATION_CATEGORY == "PAYMENT") {
if(
(!vSIGN_AUTHORIZATION_RETURN_POLICY) &&
(document.getElementById('vSIGN_AUTHORIZATION_RETURN_POLICY'))
) {
vSIGN_AUTHORIZATION_RETURN_POLICY = document.getElementById('vSIGN_AUTHORIZATION_RETURN_POLICY').value;
if((vSIGN_AUTHORIZATION_RETURN_POLICY == "") || (vSIGN_AUTHORIZATION_RETURN_POLICY == "_XXXXX_")) {
alert("vSIGN_AUTHORIZATION_RETURN_POLICY is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else {
document.cookie="vSIGN_AUTHORIZATION_RETURN_POLICY="+vSIGN_AUTHORIZATION_RETURN_POLICY;
//alert("cookie set :: vSIGN_AUTHORIZATION_RETURN_POLICY :: "+vSIGN_AUTHORIZATION_RETURN_POLICY);
}
if(vSIGN_AUTHORIZATION_RETURN_POLICY == "zero") {
vSIGN_AUTHORIZATION_RETURN_POLICY = "0";
}
//alert("2 vSIGN_AUTHORIZATION_RETURN_POLICY (set cookie) :: "+vSIGN_AUTHORIZATION_RETURN_POLICY);
} else if(!vSIGN_AUTHORIZATION_RETURN_POLICY) {
alert("vSIGN_AUTHORIZATION_RETURN_POLICY is missing.");
vSIGN_update_authorization_status_function("Ready.");
}
}
//// END: vSIGN_AUTHORIZATION_CATEGORY = PAYMENT
//// START: vSIGN_AUTHORIZATION_CATEGORY = RECURRING
if(vSIGN_AUTHORIZATION_CATEGORY == "RECURRING") {
//// START: vSIGN_AUTHORIZATION_FREE_TRIAL
if(
((!vSIGN_AUTHORIZATION_FREE_TRIAL) || (vSIGN_AUTHORIZATION_FREE_TRIAL != "_XXXXX_")) &&
(document.getElementById('vSIGN_AUTHORIZATION_FREE_TRIAL') > 0)
) {
vSIGN_AUTHORIZATION_FREE_TRIAL = document.getElementById('vSIGN_AUTHORIZATION_FREE_TRIAL').value;
// set but no value
if(
(vSIGN_AUTHORIZATION_FREE_TRIAL == "") ||
(vSIGN_AUTHORIZATION_FREE_TRIAL == "_XXXXX_")
) {
alert("vSIGN_AUTHORIZATION_FREE_TRIAL is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else { // set and value, so set cookie
document.cookie="vSIGN_AUTHORIZATION_FREE_TRIAL="+vSIGN_AUTHORIZATION_FREE_TRIAL;
//alert("cookie set :: vSIGN_AUTHORIZATION_FREE_TRIAL :: "+vSIGN_AUTHORIZATION_FREE_TRIAL);
}
} else if(!vSIGN_AUTHORIZATION_FREE_TRIAL) { // not set
alert("vSIGN_AUTHORIZATION_FREE_TRIAL is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//// END: vSIGN_AUTHORIZATION_FREE_TRIAL
//alert("vSIGN_AUTHORIZATION_FREE_TRIAL :: "+vSIGN_AUTHORIZATION_FREE_TRIAL);
//// START: vSIGN_AUTHORIZATION_RECURRING_SCHEDULE
if(
((!vSIGN_AUTHORIZATION_RECURRING_SCHEDULE) || (vSIGN_AUTHORIZATION_RECURRING_SCHEDULE == "_XXXXX_")) &&
(document.getElementById('vSIGN_AUTHORIZATION_RECURRING_SCHEDULE'))
) {
vSIGN_AUTHORIZATION_RECURRING_SCHEDULE = document.getElementById('vSIGN_AUTHORIZATION_RECURRING_SCHEDULE').value;
// set but no value
if(
(vSIGN_AUTHORIZATION_RECURRING_SCHEDULE == "") ||
(vSIGN_AUTHORIZATION_RECURRING_SCHEDULE == "_XXXXX_")
) {
alert("vSIGN_AUTHORIZATION_RECURRING_SCHEDULE is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else { // set cookie
document.cookie="vSIGN_AUTHORIZATION_RECURRING_SCHEDULE="+vSIGN_AUTHORIZATION_RECURRING_SCHEDULE;
//alert("cookie set :: vSIGN_AUTHORIZATION_RECURRING_SCHEDULE :: "+vSIGN_AUTHORIZATION_RECURRING_SCHEDULE);
}
} else if(!vSIGN_AUTHORIZATION_RECURRING_SCHEDULE) { // not set
alert("vSIGN_AUTHORIZATION_RECURRING_SCHEDULE is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//// END: vSIGN_AUTHORIZATION_RECURRING_SCHEDULE
}
//// END: vSIGN_AUTHORIZATION_CATEGORY = RECURRING
//alert("document.getElementsByName('signup[firstname:1]')[0].value): "+document.getElementsByName("signup[firstname:1]")[0].value);
//alert("document.getElementById('firstname'): "+$('#firstname');
//alert("document.getElementById('lastname')[0].value): "+document.getElementById('lastname')[0].value);
if(
((!vSIGN_CUSTOMER_NAME) || (vSIGN_CUSTOMER_NAME == "_XXXXX_")) &&
(document.getElementsByName("signup[firstname:1]")) &&
(document.getElementsByName("signup[lastname:1]"))
) {
vSIGN_CUSTOMER_NAME = document.getElementsByName("signup[firstname:1]")[0].value + " " + document.getElementsByName("signup[lastname:1]")[0].value;
if((vSIGN_CUSTOMER_NAME == "") || (vSIGN_CUSTOMER_NAME == "_XXXXX_")) {
alert("vSIGN_CUSTOMER_NAME is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else {
document.cookie="vSIGN_CUSTOMER_NAME="+vSIGN_CUSTOMER_NAME;
}
} else if(!vSIGN_CUSTOMER_NAME) {
alert("vSIGN_CUSTOMER_NAME is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//alert("vSIGN_CUSTOMER_NAME :: "+vSIGN_CUSTOMER_NAME);
//signup[email:1:1:128:::email_check]
//alert("document.getElementById('signup[email:1:1:128:::email_check]')[0].value :: "+document.getElementById('signup[email:1:1:128:::email_check]')[0].value);
//alert("document.getElementById('signup[email:1:1:128:::email_check]').value :: "+document.getElementById('signup[email:1:1:128:::email_check]').value);
//alert("document.getElementById('signup[email:1:1:128:::email_check]') :: "+document.getElementById('signup[email:1:1:128:::email_check]'));
//alert(0);
//alert("1: "+document.getElementsByName("signup[email:1]")[0].value);
//alert("2: "+document.getElementsByName("signup[email:1:1:128:::email_check]")[0].value);
///// alert("000. "+document.getElementsByName("signup[lastname:1]")[0].value);
///// alert("000. "+document.getElementsByName("signup[email:1]")[0].value);
/////
///// nodeArray = [].slice.call(document.getElementsByName("signup[email]"));
///// alert("0: "+ nodeArray);
/////
///// alert("0: "+ document.getElementsByName("signup[email]")[0] );
///// alert("3: " + document.getElementsByName("signup[email]"));
///// alert("3: " + document.getElementsByName("signup[email:1]"));
///// alert("1: " + document.getElementById("signup[email:1]").value);
///// alert("2.value: " + document.getElementById("signup[email]").value);
if(
((!vSIGN_CUSTOMER_EMAILADDRESS) || (vSIGN_CUSTOMER_EMAILADDRESS == "_XXXXX_")) &&
(document.getElementsByName("signup[email:1:1:128:::email_check]")[0].value)
) {
vSIGN_CUSTOMER_EMAILADDRESS = document.getElementsByName("signup[email:1:1:128:::email_check]")[0].value;
if((vSIGN_CUSTOMER_EMAILADDRESS == "") || (vSIGN_CUSTOMER_EMAILADDRESS == "_XXXXX_")) {
alert("vSIGN_CUSTOMER_EMAILADDRESS is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else {
document.cookie="vSIGN_CUSTOMER_EMAILADDRESS="+vSIGN_CUSTOMER_EMAILADDRESS;
}
} else if(!vSIGN_CUSTOMER_EMAILADDRESS) {
alert("vSIGN_CUSTOMER_EMAILADDRESS is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//alert("document.getElementById('cc').value :: " + document.getElementById('cc').value);
if(
((!vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS) || (vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS == "_XXXXX_")) &&
(document.getElementById('cc'))
) {
vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS = document.getElementById('cc').value;
///remove all non-digits
vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS = vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS.replace(/\D/g,'');
if((vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS == "") || (vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS == "_XXXXX_")) {
alert("vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else {
// keep only the last 4 digits
var vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS = vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS.substr(vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS.length - 4);
document.cookie="vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS="+vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS;
}
} else if(!vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS) {
alert("vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//alert("vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS :: "+vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS);
//signup[country:1]
//alert("document.getElementById('country') :: "+document.getElementById('country'));
//alert("document.getElementById('country').value :: "+document.getElementById('country').value);
//alert("document.getElementById('signup[country:1]')[0].value :: "+document.getElementById('signup[country:1]')[0].value);
//alert("document.getElementById('country') :: "+document.getElementById('country'));
//alert("document.getElementById('signup[country]') :: "+document.getElementById('signup[country]')[0].value);
//alert("1 vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 :: "+vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3);
if(
((!vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3) || (vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 == "_XXXXX_"))&&
(document.getElementById('country'))
) {
vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 = document.getElementById('country').value;
if((vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 == "") || (vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 == "_XXXXX_")) {
alert("vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else {
document.cookie="vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3="+vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3;
}
} else if(!vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3) {
alert("vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
//alert("vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3 :: "+vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3);
//alert("document.getElementById('signup[vSIGN_telephone_number_field]') :: ",document.getElementById('signup[vSIGN_telephone_number_field]:1')[0].value); // fail
//alert("document.getElementById('signup[vSIGN_telephone:1]') :: ",document.getElementById('vSIGN_telephone'));
///if(
///((!vSIGN_CUSTOMER_TELEPHONE_NUMBER) || (vSIGN_CUSTOMER_TELEPHONE_NUMBER == "_XXXXX_")) &&
///(window.vSIGN_telephone != "")
///) {
/// vSIGN_CUSTOMER_TELEPHONE_NUMBER = window.vSIGN_telephone;
/// if((vSIGN_CUSTOMER_TELEPHONE_NUMBER == "") || (vSIGN_CUSTOMER_TELEPHONE_NUMBER == "_XXXXX_")) {
/// alert("vSIGN_CUSTOMER_TELEPHONE_NUMBER is missing.");
/// vSIGN_update_authorization_status_function("Ready.");
/// return false;
/// } else {
/// document.cookie="vSIGN_CUSTOMER_TELEPHONE_NUMBER="+vSIGN_CUSTOMER_TELEPHONE_NUMBER;
/// }
///} else if(!vSIGN_CUSTOMER_TELEPHONE_NUMBER) {
/// alert("vSIGN_CUSTOMER_TELEPHONE_NUMBER is missing.");
/// vSIGN_update_authorization_status_function("Ready.");
/// return false;
///}
/////alert("vSIGN_CUSTOMER_TELEPHONE_NUMBER :: "+vSIGN_CUSTOMER_TELEPHONE_NUMBER);
document.cookie="vSIGN_telephone_cookie=1234567";
var vSIGN_telephone_cookie = " echo $_COOKIE[vSIGN_telephone_cookie]; ?>";
//alert("vSIGN_telephone_cookie: "+vSIGN_telephone_cookie);
if(
((!vSIGN_CUSTOMER_TELEPHONE_NUMBER) || (vSIGN_CUSTOMER_TELEPHONE_NUMBER == "_XXXXX_")) &&
((window.vSIGN_telephone != "") || (vSIGN_telephone_cookie))
) {
vSIGN_CUSTOMER_TELEPHONE_NUMBER = window.vSIGN_telephone;
if(!vSIGN_CUSTOMER_TELEPHONE_NUMBER) vSIGN_CUSTOMER_TELEPHONE_NUMBER = vSIGN_telephone_cookie;
if((vSIGN_CUSTOMER_TELEPHONE_NUMBER == "") || (vSIGN_CUSTOMER_TELEPHONE_NUMBER == "_XXXXX_")) {
alert("vSIGN_CUSTOMER_TELEPHONE_NUMBER is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
} else {
document.cookie="vSIGN_CUSTOMER_TELEPHONE_NUMBER="+vSIGN_CUSTOMER_TELEPHONE_NUMBER;
}
} else if(!vSIGN_CUSTOMER_TELEPHONE_NUMBER) {
alert("vSIGN_CUSTOMER_TELEPHONE_NUMBER is missing.");
vSIGN_update_authorization_status_function("Ready.");
return false;
}
/// confrim callback NOW!
var vSIGN_confirm_callback_now = confirm(" YOUR TELEPHONE NUMBER: "+ vSIGN_CUSTOMER_TELEPHONE_NUMBER +"\n\n For your protection & security, our AUTOMATED, payment authorization system will call your telephone now.\n\n READY? \n\n\n ...powered by vSIGN");
if(vSIGN_confirm_callback_now == false) {
window.vSIGN_authorization_status = "CANCELED";
vSIGN_response_manager();
return false;
}
vSIGN_update_authorization_status_function("Processing...");
///COMMON:
var vSIGN_API_PARAMETERS = "";
vSIGN_API_PARAMETERS += "API_VERSION=vSIGN_For_Payments:20150622";
vSIGN_API_PARAMETERS += "&BUSINESS_ACCOUNT_ID=" + vSIGN_BUSINESS_ACCOUNT_ID;
vSIGN_API_PARAMETERS += "&CUSTOMER_SESSION_ID=" + vSIGN_CUSTOMER_SESSION_ID;
vSIGN_API_PARAMETERS += "&CUSTOMER_IP=" + vSIGN_CUSTOMER_IP;
vSIGN_API_PARAMETERS += "&CUSTOMER_NAME=" + vSIGN_CUSTOMER_NAME;
vSIGN_API_PARAMETERS += "&CUSTOMER_TELEPHONE_COUNTRY_ISO3=" + vSIGN_CUSTOMER_TELEPHONE_COUNTRY_ISO3;
vSIGN_API_PARAMETERS += "&CUSTOMER_TELEPHONE_NUMBER=" + vSIGN_CUSTOMER_TELEPHONE_NUMBER;
vSIGN_API_PARAMETERS += "&CUSTOMER_EMAIL_ADDRESS=" + vSIGN_CUSTOMER_EMAILADDRESS;
vSIGN_API_PARAMETERS += "&AUTHORIZATION_CATEGORY=" + vSIGN_AUTHORIZATION_CATEGORY
vSIGN_API_PARAMETERS += "&AUTHORIZATION_RETURN_POLICY=" + vSIGN_AUTHORIZATION_RETURN_POLICY;
vSIGN_API_PARAMETERS += "&AUTHORIZATION_RECURRING_SCHEDULE=" + vSIGN_AUTHORIZATION_RECURRING_SCHEDULE;
vSIGN_API_PARAMETERS += "&AUTHORIZATION_FREE_TRIAL=" + vSIGN_AUTHORIZATION_FREE_TRIAL;
vSIGN_API_PARAMETERS += "&AUTHORIZATION_AMOUNT=" + vSIGN_AUTHORIZATION_AMOUNT;
vSIGN_API_PARAMETERS += "&AUTHORIZATION_CARD_LAST4_DIGITS=" + vSIGN_AUTHORIZATION_CARD_LAST4_DIGITS;
/// FOR REGISTERED GATEWAYS ONLY:
vSIGN_API_PARAMETERS += "&GATEWAY_MERCHANT_NAME=" + vSIGN_GATEWAY_MERCHANT_NAME;
vSIGN_API_PARAMETERS += "&GATEWAY_MERCHANT_EMAILADDRESS=" + vSIGN_GATEWAY_MERCHANT_EMAILADDRESS;
vSIGN_API_PARAMETERS += "&GATEWAY_MERCHANT_MID=" + vSIGN_GATEWAY_MERCHANT_MID;
vSIGN_API_PARAMETERS += "&GATEWAY_MERCHANT_MCC=" + vSIGN_GATEWAY_MERCHANT_MCC;
//SEND AJAX REQUEST
var count = 0;
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
//alert("0_WvSIGN_authorization_status: "+window.vSIGN_authorization_status);
if (xmlhttp.readyState == 4) {
count++;
if (xmlhttp.status == 200) {
//alert("1_WvSIGN_authorization_status: "+window.vSIGN_authorization_status);
//alert("xmlhttp.responseText: "+xmlhttp.responseText);
if(window.vSIGN_authorization_status == "") {
if(
(xmlhttp.responseText.indexOf('APPROVED') > -1) &&
(vSIGN_test_fail_on_approved != true)
) {
window.vSIGN_authorization_status = "APPROVED";
} else if(xmlhttp.responseText.indexOf('CANCELED') > -1) {
window.vSIGN_authorization_status = "CANCELED";
} else if(xmlhttp.responseText.indexOf('UNABLE') > -1) {
window.vSIGN_authorization_status = "UNABLE TO PROCESS";
} else if(
(xmlhttp.responseText.indexOf('FAIL') > -1) ||
(vSIGN_test_fail_on_approved == true)
) {
window.vSIGN_authorization_status = "FAILED";
} else {
//alert("2_WvSIGN_authorization_status: "+window.vSIGN_authorization_status);
window.vSIGN_authorization_status = "TIMEOUT";
}
}
} else if(window.vSIGN_authorization_status == "") {
//alert("3_WvSIGN_authorization_status: "+window.vSIGN_authorization_status);
window.vSIGN_authorization_status = "TIMEOUT";
}
vSIGN_response_manager();
}
}
xmlhttp.ontimeout = function() {
if(window.vSIGN_authorization_status == "") {
//alert("4_WvSIGN_authorization_status: "+window.vSIGN_authorization_status);
window.vSIGN_authorization_status = "TIMEOUT";
}
}
/// Make the call to the vSIGN Gateway
var vSIGN_GATEWAY_URL = "https://gateway.v-sign.network/voice_authorization.api";
//alert("vSIGN_API_CALL: "+ vSIGN_GATEWAY_URL + "?" + vSIGN_API_PARAMETERS); //