{"version":3,"sources":["webpack:///webpack/bootstrap?7f80","webpack:///./src/App.vue?7e02","webpack:///./src/views/Error.vue?b067","webpack:///./src/components/Header.vue?9e4e","webpack:///./src/assets/images/caret-right-white.png?5473","webpack:///./src/components/CheckDetail.vue?ac52","webpack:///./src/views/CreditCardBraintree.vue?681e","webpack:///./src/views/Links.vue?b031","webpack:///./src/assets/images/caret-down.png?a2d0","webpack:///./src/components/ThankYouMessage.vue?3072","webpack:///./src/App.vue?7c7e","webpack:///./src/components/Header.vue?cbff","webpack:///src/components/Header.vue?7434","webpack:///./src/components/Header.vue?4c35","webpack:///./src/components/Header.vue?8acd","webpack:///./src/components/Balance.vue?c8ac","webpack:///src/components/Balance.vue?c03e","webpack:///./src/components/Balance.vue?53b7","webpack:///./src/components/Balance.vue?b7c8","webpack:///${resourcePath}?${info.loaders}","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/views/NsPay.vue?9c71","webpack:///./src/components/CheckDetail.vue?9f62","webpack:///./src/components/TotalDetail.vue?463d","webpack:///src/components/TotalDetail.vue?a62b","webpack:///./src/components/TotalDetail.vue?98e4","webpack:///./src/components/TotalDetail.vue?f9cd","webpack:///src/components/CheckDetail.vue?0ec3","webpack:///./src/components/CheckDetail.vue?2416","webpack:///./src/components/CheckDetail.vue?cbd7","webpack:///./src/components/PaymentOptions.vue?7dbf","webpack:///./src/components/PaymentMethods/Braintree/BraintreeGooglePay.vue?90d4","webpack:///./src/mixins/sweet-alert2.js?ee90","webpack:///./src/mixins/show-blocker.js?3111","webpack:///./src/constants/payment-methods.js?8527","webpack:///src/components/PaymentMethods/Braintree/BraintreeGooglePay.vue?103b","webpack:///./src/components/PaymentMethods/Braintree/BraintreeGooglePay.vue?11d7","webpack:///./src/components/PaymentMethods/Braintree/BraintreeGooglePay.vue?be32","webpack:///./src/components/PaymentMethods/Braintree/BraintreeApplePay.vue?477e","webpack:///src/components/PaymentMethods/Braintree/BraintreeApplePay.vue?dade","webpack:///./src/components/PaymentMethods/Braintree/BraintreeApplePay.vue?f7fe","webpack:///./src/components/PaymentMethods/Braintree/BraintreeApplePay.vue?cf23","webpack:///./src/components/PaymentMethods/Payeezy/PayeezyGooglePay.vue?4d8d","webpack:///src/components/PaymentMethods/Payeezy/PayeezyGooglePay.vue?af71","webpack:///./src/components/PaymentMethods/Payeezy/PayeezyGooglePay.vue?d060","webpack:///./src/components/PaymentMethods/Payeezy/PayeezyGooglePay.vue?d5dd","webpack:///./src/components/PaymentMethods/Payeezy/PayeezyApplePay.vue?d920","webpack:///src/components/PaymentMethods/Payeezy/PayeezyApplePay.vue?a53c","webpack:///./src/components/PaymentMethods/Payeezy/PayeezyApplePay.vue?43e7","webpack:///./src/components/PaymentMethods/Payeezy/PayeezyApplePay.vue?8ae8","webpack:///./src/components/PaymentMethods/Shift4/Shift4ApplePayGooglePay.vue?e716","webpack:///src/components/PaymentMethods/Shift4/Shift4ApplePayGooglePay.vue?57ed","webpack:///./src/components/PaymentMethods/Shift4/Shift4ApplePayGooglePay.vue?b06b","webpack:///./src/components/PaymentMethods/Shift4/Shift4ApplePayGooglePay.vue?160b","webpack:///./src/constants/payment-processors.js?9c21","webpack:///src/components/PaymentOptions.vue?2c70","webpack:///./src/components/PaymentOptions.vue?7cab","webpack:///./src/components/PaymentOptions.vue?3b9b","webpack:///./src/constants/keynames.js?a4b9","webpack:///./src/mixins/session-storage.js?1fcc","webpack:///src/views/CreditCardShift4.vue?00a3","webpack:///src/views/NsPay.vue?d24e","webpack:///./src/views/NsPay.vue?49c4","webpack:///./src/views/NsPay.vue?2eb4","webpack:///./src/views/Landing.vue?2cee","webpack:///src/views/Landing.vue?32db","webpack:///./src/views/Landing.vue?337b","webpack:///./src/views/Landing.vue?fdb9","webpack:///./src/views/CreditCardBraintree.vue?ea82","webpack:///./src/components/ViewHeader.vue?d2eb","webpack:///src/components/ViewHeader.vue?e830","webpack:///./src/components/ViewHeader.vue?97d1","webpack:///./src/components/ViewHeader.vue?348a","webpack:///src/views/CreditCardBraintree.vue?08af","webpack:///./src/views/CreditCardBraintree.vue?d236","webpack:///./src/views/CreditCardBraintree.vue?1622","webpack:///./src/views/CreditCardPayeezy.vue?eb45","webpack:///src/views/CreditCardPayeezy.vue?ac8d","webpack:///./src/views/CreditCardPayeezy.vue?df45","webpack:///./src/views/CreditCardPayeezy.vue?0560","webpack:///./src/views/CreditCardShift4.vue?81be","webpack:///./src/views/CreditCardShift4.vue?6ad8","webpack:///./src/views/CreditCardShift4.vue?f168","webpack:///./src/views/Tip.vue?32cf","webpack:///./src/filters/to-currency.js?25aa","webpack:///src/views/Tip.vue?a609","webpack:///./src/views/Tip.vue?a993","webpack:///./src/views/Tip.vue?c3d9","webpack:///./src/views/PaymentSummary.vue?38b4","webpack:///./src/components/EmailReceipt.vue?60da","webpack:///src/components/EmailReceipt.vue?3705","webpack:///./src/components/EmailReceipt.vue?f099","webpack:///./src/components/EmailReceipt.vue?7d62","webpack:///./src/components/ThankYouMessage.vue?241c","webpack:///src/components/ThankYouMessage.vue?3277","webpack:///./src/components/ThankYouMessage.vue?3a90","webpack:///./src/components/ThankYouMessage.vue?f0e7","webpack:///./src/router/route-helper.js?eda2","webpack:///src/views/PaymentSummary.vue?21b9","webpack:///./src/views/PaymentSummary.vue?41bf","webpack:///./src/views/PaymentSummary.vue?caf5","webpack:///./src/components/CVVInfo.vue?af44","webpack:///src/components/CVVInfo.vue?a3dd","webpack:///./src/components/CVVInfo.vue?2c11","webpack:///./src/components/CVVInfo.vue?b018","webpack:///./src/views/Error.vue?e480","webpack:///src/views/Error.vue?d29d","webpack:///./src/views/Error.vue?46dc","webpack:///./src/views/Error.vue?9029","webpack:///./src/views/Links.vue?83f8","webpack:///src/views/Links.vue?efd1","webpack:///./src/views/Links.vue?07c6","webpack:///./src/views/Links.vue?d6a0","webpack:///./src/router/index.js?a18c","webpack:///./src/store/session.js?22ce","webpack:///./src/store/index.js?4360","webpack:///./src/filters/to-formatted-number.js?758b","webpack:///./src/filters/index.js?8975","webpack:///./src/directives/focus.js?3720","webpack:///./src/main.js?56d7","webpack:///./src/components/CVVInfo.vue?922d","webpack:///./src/views/PaymentSummary.vue?56d0","webpack:///./src/components/EmailReceipt.vue?5304","webpack:///./src/assets/images/sprites-2x.png?b13c","webpack:///./src/views/Tip.vue?4088","webpack:///./src/assets/images/sprites.png?c0c3","webpack:///./src/components/PaymentOptions.vue?3865","webpack:///./src/components/PaymentMethods/Shift4/Shift4ApplePayGooglePay.vue?5ef6","webpack:///./src/scripts/jquery.cardswipe.js?ab96","webpack:///./src/components/ViewHeader.vue?be12","webpack:///./src/views/NsPay.vue?d88e","webpack:///./src/assets/images/back-of-credit-card.png?b65b","webpack:///./src/components/Balance.vue?0149","webpack:///./src/assets/images/close.png?fe0d","webpack:///./src/assets/images/caret-right.png?b2b8","webpack:///./src/views/CreditCardShift4.vue?0938","webpack:///./src/scripts/jquery.i4goTrueToken-wallets.js?f257","webpack:///./src/components/TotalDetail.vue?ac9b"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","class","hideVerticalScroll","attrs","directives","rawName","expression","staticClass","showLoadingMessage","loadingMessage","_v","_s","hasCheck","isErrorPage","isLinksPage","_e","staticRenderFns","siteLogo","component","style","color","isBalancePaid","amount","_f","checkDetail","_m","on","$event","setIsCheckDetailsShown","isCheckDetailsShown","detail","guestName","_l","order","orderItemId","quantity","menuItemName","components","componentName","servingOptions","servingOption","servingOptionId","servingOptionName","price","filterAdjustments","adjustments","adjustment","adjustmentId","adjustmentReasonName","appliedAmount","session","check","subTotal","gratuities","taxTotal","Math","abs","taxExempt","total","tip","$router","createTransaction","errorCodes","require","sweetAlert2","methods","swalAlert","text","title","$swal","allowOutsideClick","swalAlertHtml","html","swalError","errorCode","err","find","e","swalConfirm","action","confirmButtonText","cancelButtonText","showCancelButton","then","isConfirmed","swalToast","position","showConfirmButton","toast","timer","timerProgressBar","progressMessages","showBlocker","showSmallLatencyMessage","setLoadingStatus","showSpinner","showMessage","showHighLatencyMessage","$timer","stop","showCriticalLatencyMessage","showBlockerWithNoSpinner","showBlockerWithSpinner","startProgressIndicator","start","stopProgressIndicator","timers","time","getPaymentMethod","paymentMethods","googlePay","applePay","creditCard","processApplePayment","isReadyToPayRequest","allowedPaymentMethods","baseCardPaymentMethod","paymentDataRequest","cardPaymentMethod","transactionInfo","merchantInfo","paymentProcessors","braintree","payeezy","shift4","keynames","checkUrl","setSessionData","isSessionStorageSupported","sessionStorage","setItem","getSessionData","getItem","removeSessionData","removeItem","sessionDataExists","undefined","Storage","console","log","localStorage","error","ref","isNumberValid","isExpirationValid","cvvLabel","showCvvInfo","isCvvValid","isNameValid","cardType","go","staticStyle","domProps","balanceWithTip","shift4CscKeypress","target","composing","shift4Csc","isCscValid","MutationObserver","readyForAnimation","enteredTip","selected","select","_b","otherPctTipClass","nativeOn","setOtherPctTip","scrubNumberInput","validateAndSetOtherPctTipOnEnter","model","callback","$$v","formattedOtherPctTip","percentage","editOtherPctTip","otherPctTip","dollarTipClass","setDollarTip","validateAndSetDollarTipOnEnter","formattedDollarTip","money","editDollarTip","dollarTip","isConfirmDisabled","commitTip","valueType","numberValue","Number","isNaN","formatter","Intl","NumberFormat","currency","minimumFractionDigits","format","readyToAnimate","approvedPayments","payment","paymentId","paymentName","hasCardNumber","paymentCard","cardNumber","isComplete","siteId","accountId","checkId","closeEmailReceipt","sentEmailReceipt","showEmailReceipt","selectedPaymentReceiptOption","selectPaymentReceiptOption","$v","email","modifiers","emailFieldClass","$touch","$forceUpdate","$set","trim","$dirty","required","readyToSend","sendButtonClass","sendEmailReceipt","cancel","preventNavigatingAway","history","pushState","location","href","back","forward","onpopstate","errorTitle","errorText","errorCodeWithDefault","landingPageLabel1","openLink","landingPageLink1","landingPageLabel2","landingPageLink2","landingPageLabel3","landingPageLink3","Vue","use","VueRouter","routes","path","Landing","NsPay","Links","Tip","PaymentSummary","CreditCardBraintree","CreditCardPayeezy","CreditCardShift4","CVVInfo","Error","props","redirect","router","base","pathName","beforeEach","to","from","next","startsWith","toLowerCase","params","namespaced","state","appName","appIcon","expirationTicks","siteNumber","checkNumber","businessDate","checkOpenDateTime","checkTotal","showLoadingSpinner","showLoadingBlocker","tempTip","selectedTipOption","googlePayScriptLoaded","brainTreeGooglePayComponent","googlePaymentClient","creditCardInitCompleted","creditCardPaymentClient","spriteImagesReady","paymentProcessor","paymentMethod","mutations","setSessionIds","payload","set","setTip","setTempTip","setPayment","payments","paymentStatus","balance","updatePayment","setGooglePayScriptLoaded","setBrainTreeGooglePayComponent","setGooglePaymentClient","setCreditCardPaymentClient","setSpriteImagesReady","setCustomization","setProcessor","getters","tipTotal","filter","item","reduce","accum","orderItemsTaxTotal","orderItems","tax","gratuityTaxTotal","gratuityTotal","balanceWithTempTip","Vuex","store","Store","Session","precision","install","toCurrency","toFormattedNumber","inserted","el","focus","config","productionTip","filters","Vuelidate","VueSweetAlert2","LoadScript","VueTimers","UUID","directive","render","h","App","$mount","displayCardSwipeError","errDlg","$","prepend","show","removeClass","resize","factory","define","jQuery","scanbuffer","p2pe_scanbuffer","settings","states","IDLE","PENDING","READING","DISCARD","stateNames","0","1","2","currentState","arguments","newState","debug","debugElement","append","p2pe_lasttime","timerHandle","listener","processed","which","String","fromCharCode","processP2PE","Array","processCode","preventDefault","stopPropagation","startTimer","clearTimer","processScan","firstLineOnly","clearP2PE","isValidP2PE","join","code","now","Date","getTime","interdigitTimeout","p2pe_focusobj","p2pe_focusobjval","val","rawData","parseP2PE","valid","p1","exec","substr","createCardResult","parseP2PE_idtech","found","len","a","idtech","t1","t2","parseInt","track1","split","maskedCardNumber","expirationYear","expirationMonth","cardholderName","track2","re","replace","device","encrypted","clearTimeout","setTimeout","onTimeout","parsedData","parser","success","bindListener","document","unbindListener","unbind","defaultParser","cardData","defaultSuccessCallback","track3","alert","defaults","enabled","init","options","extend","enable","disable","cardswipe","method","warn","info","dir","profile","clear","exception","trace","assert","assign","varArgs","TypeError","index","nextSource","nextKey","writable","configurable","search","rawPos","pos","substring","interval_id","last_hash","rm_callback","p_receiveMessage","cache_bust","FALSE","postMessage","addEventListener","has_postMessage","message","target_url","param","parent","receiveMessage","source_origin","delay","origin","isFunction","clearInterval","setInterval","hash","test","fn","i4goTrueToken","i4goTrueTokenFramer","form","walletConfig","basket","tranUUID","server","accessBlock","self","template","language","url","frameContainer","frameName","frameAutoResize","frameClasses","formPaymentResponse","formPaymentResponseCode","formPaymentResponseText","formPaymentMaskedCard","formPaymentToken","formPaymentExpMonth","formPaymentExpYear","formPaymentType","formStreetAddress","formPostalCode","formCardholderName","formMetaToken","formExtendedCardData","formUToken","formApplePayToken","formGooglePayToken","formSignedData","formAutoSubmitOnSuccess","formAutoSubmitOnFailure","gcDisablesExpiration","gcDisablesCVV2Code","onSuccess","onFailure","onComplete","acceptedPayments","i4goInfo","visible","encryptedOnlySwipe","walletsEnabled","wallet","activeCardRequired","nameRequired","addressRequired","emailRequired","phoneNumberRequired","allowedCountryCodes","shippingOptionRequired","shippingOptions","shippingType","buttonColor","buttonType","buttonSizeMode","buttonRootNode","paymentInitiatedEvent","paymentErrorEvent","onWalletEnabled","onWalletInit","reason","onPaymentDataChanged","remoteDebug","setDefaults","applyDefaults","shippingItemDefaults","id","label","description","setShippingItemDefaults","applyShippingItemDefaults","cartItemDefaults","sku","setCartItemDefaults","applyCartItemDefaults","i4goWalletsInit","myself","msg","container","currentForm","toString","src","encodeURIComponent","classes","generateUUID","isValid","JSON","parse","setBasket","clearFormValues","sendFormValuesToFrame","setFormValues","sendSettingsToFrame","setTranUUID","remoteLog","stringify","getField","str","frame","contentWindow","uuid","random","floor","propExists","obj","prop","parts","part","css","sendApplePayToFrame","paymentToken","sendGooglePayToFrame","i4go_uniqueid","getFieldVal","formToken","i4go_expirationmonth","formExpMonth","i4go_expirationyear","formExpYear","i4go_cardtype","i4go_cardholdername","i4go_streetaddress","i4go_postalcode","i4go_metatoken","i4go_extendedCardData","i4go_utoken","sendSwipeToFrame","swipe","response","i4go_response","i4go_responsecode","i4go_responsetext","i4go_extendedcarddata","i4go_applepaytoken","i4go_googlepaytoken","i4go_signeddata","postWalletComplete","submit","_wallets_canMakeApplePayments","_wallets_i4goTrueTokenObj","_wallet_session","owner","hide","addClass","applePayInit","googlePayInit","postApplePayComplete","postGooglePayComplete","doConsoleLog","doConsole","merchantIdentifier","ApplePaySession","supportsVersion","canMakePayments","merchant","verified","partnerInternalMerchantIdentifier","promise","canMakePaymentsWithActiveCard","onApplePayClick","applePayPaymentRequest","countryCode","currencyCode","supportedNetworks","merchantCapabilities","OrderDetails","Amount","toFixed","requiredShippingContactFields","apGetRequiredShippingContactFields","shippingMethods","apGetDefaultShippingMethods","begin","onvalidatemerchant","event","validationURL","getApplePaySession","completeMerchantValidation","onpaymentauthorized","postApplePayToken","onshippingcontactselected","apOnShippingContactSelected","onshippingmethodselected","apOnShippingMethodSelected","Promise","resolve","reject","providerDomain","i4go_accessBlock","post","responseData","status","fail","jqXHR","textStatus","errorThrown","shippingIdentifier","currentShippingIdentifier","desc","completePayment","STATUS_SUCCESS","STATUS_FAILURE","forEach","identifier","ap2gpIntermediatePaymentData","callbackTrigger","defaultShippingId","intermediatePaymentData","shippingContact","shippingAddress","shippingOptionData","shippingMethod","gp2apPaymentDataRequestUpdate","gpPaymentDataRequestUpdate","apPaymentDataRequestUpdate","newTotal","type","newTransactionInfo","totalPriceStatus","totalPriceLabel","totalPrice","newLineItems","displayItems","newShippingOptionParameters","regex","newShippingMethods","apOnPaymentDataChanged","gpOnPaymentDataChanged","paymentDataRequestUpdate","catch","completeShippingContactSelection","completeShippingMethodSelection","paymentsClient","authJwt","tokenizationSpecification","parameters","gateway","gatewayMerchantId","merchantID","allowedCardAuthMethods","allowedAuthMethods","allowedCardNetworks","billingAddressRequired","billingAddressParameters","onGooglePayLoaded","baseRequest","apiVersion","apiVersionMinor","getGoogleIsReadyToPayRequest","getGooglePaymentDataRequest","getGoogleTransactionInfo","merchantId","merchantName","merchantOrigin","merchantDomain","callbackIntents","shippingAddressRequired","shippingAddressParameters","getGoogleShippingAddressParameters","errmsg","getGooglePaymentsClient","paymentDataCallbacks","onPaymentAuthorized","gpOnPaymentAuthorized","google","api","PaymentsClient","environment","paymentData","processPayment","transactionState","intent","getDefaultShippingOptions","selectedShippingOptionId","defaultSelectedOptionId","calculateNewTransactionInfo","getGoogleShippingOptions","shippingOptionId","shippingCost","getDefaultShippingCost","displayItem","parseFloat","isReadyToPay","addGooglePayButton","buttonOptions","onClick","onGooglePaymentButtonClicked","button","createButton","$buttonObj","replaceWith","Cart","Name","Price","loadPaymentData","responseCountdown"],"mappings":"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","file":"js/app.4bbc17fc.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=style&index=0&id=c50d9900&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=style&index=0&id=c50d9900&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=02f630af&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=02f630af&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,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\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckDetail.vue?vue&type=style&index=0&id=2cbc8c46&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckDetail.vue?vue&type=style&index=0&id=2cbc8c46&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardBraintree.vue?vue&type=style&index=0&id=7ba14ee2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardBraintree.vue?vue&type=style&index=0&id=7ba14ee2&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Links.vue?vue&type=style&index=0&id=092a559a&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Links.vue?vue&type=style&index=0&id=092a559a&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAADkSURBVDhP7dTLCoJAFIDh0cAoWrRrEbQIynZl0GUZ0aNXSBQSEd0MsiTNeoeTZxyhLHUid/WDDhyZT0QYAdxIgolsTaxfBQ+GQQRBICN1QoefdDLPdK82X3gD9pdBVjrumobhWMURV8bRdPdIUGt2qYHRu+04QMQMVBttbtTHZAX3SLDV93TusW72hR8NYpudzp48gBgPGoVhTyAWhcZh2AuIBdHpTAPneovFsLcg9ojmCiXIF8vsBeEYFgpiPlqpt+gVh2GRIEbRVJZ+ehyGcR1fy9WaWJZNBv0em4T3Pw+/jZA7gq9Y7yp//24AAAAASUVORK5CYII=\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThankYouMessage.vue?vue&type=style&index=0&id=550f5163&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThankYouMessage.vue?vue&type=style&index=0&id=550f5163&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'hide-vertical-scroll': _vm.hideVerticalScroll},attrs:{\"id\":\"app\"}},[_c('Header'),_c('transition',{attrs:{\"name\":\"fast-fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLoadingBlocker),expression:\"showLoadingBlocker\"}],attrs:{\"id\":\"spinner-wrapper\"}},[_c('div',{attrs:{\"id\":\"spinner-inner-wrapper\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLoadingSpinner),expression:\"showLoadingSpinner\"}],attrs:{\"id\":\"ball-wrapper\"}},[_c('div',{staticClass:\"ball1\"}),_c('div',{staticClass:\"ball2\"}),_c('div',{staticClass:\"ball3\"})]),_c('br'),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLoadingMessage && _vm.loadingMessage),expression:\"showLoadingMessage && loadingMessage\"}],staticClass:\"loading-message\"},[_vm._v(\" \"+_vm._s(_vm.loadingMessage)+\" \")])])])]),_c('div',{attrs:{\"id\":\"app-wrapper\"}},[_c('transition',{attrs:{\"name\":\"zoom\",\"mode\":\"out-in\"}},[_c('router-view')],1)],1),(_vm.hasCheck && !_vm.isErrorPage && !_vm.isLinksPage)?_c('div',{attrs:{\"id\":\"footer\"}},[_c('Balance')],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"header\"}},[_c('img',{attrs:{\"id\":\"logo\",\"src\":_vm.siteLogo,\"alt\":\"\",\"onerror\":\"this.style.display = 'none';\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=02f630af&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=02f630af&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"02f630af\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:({color: _vm.isBalancePaid ? 'var(--green)' : ''}),attrs:{\"id\":\"balance\"}},[_c('table',{staticClass:\"drop-shadow-sides\"},[_c('tr',[_c('td',{attrs:{\"id\":\"label\"}},[_vm._v(\"BALANCE\")]),_c('td',{attrs:{\"id\":\"value\"}},[_c('transition',{attrs:{\"name\":\"amount-drop-in\",\"mode\":\"out-in\"}},[_c('div',{key:_vm.amount},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.amount))+\" \")])])],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Balance.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Balance.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Balance.vue?vue&type=template&id=0e730bf7&scoped=true&\"\nimport script from \"./Balance.vue?vue&type=script&lang=js&\"\nexport * from \"./Balance.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Balance.vue?vue&type=style&index=0&id=0e730bf7&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e730bf7\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=29d4db91&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"home\"}},[(_vm.hasCheck)?_c('div',{staticClass:\"content-spacer\",attrs:{\"id\":\"body\"}},[_c('CheckDetail',{attrs:{\"detail\":_vm.checkDetail}}),_c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"rest-of-body\"}},[_c('PaymentOptions')],1)],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"check-detail\"}},[_c('div',{staticClass:\"drop-shadow-with-top\"},[_c('table',{attrs:{\"id\":\"header\"}},[_c('tr',[_vm._m(0),_c('td',{attrs:{\"id\":\"title\",\"rowspan\":\"2\"}},[_c('a',{on:{\"click\":function($event){return _vm.setIsCheckDetailsShown(!_vm.isCheckDetailsShown)}}},[_vm._v(\" \"+_vm._s(_vm.detail.guestName)+\" \"),(_vm.isCheckDetailsShown)?_c('img',{staticClass:\"caret\",attrs:{\"src\":require(\"@/assets/images/caret-down.png\")}}):_c('img',{staticClass:\"caret\",attrs:{\"src\":require(\"@/assets/images/caret-right.png\")}})])])]),_vm._m(1)])]),_c('transition',{attrs:{\"name\":\"fade-slide\"}},[(_vm.isCheckDetailsShown)?_c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"orders\"}},_vm._l((_vm.detail.orderItems),function(order){return _c('table',{key:order.orderItemId},[_c('tr',[_c('td',{staticClass:\"label-column\"},[_c('div',[_vm._v(\" \"+_vm._s(order.quantity + \"\\xa0\\xa0\\xa0\" + order.menuItemName)+\" \")]),(order.components !== null && order.components.length > 0)?_c('div',[_c('ul',_vm._l((order.components),function(component){return _c('li',{key:component.orderItemId,staticClass:\"subitem-label\"},[_vm._v(\" \"+_vm._s(component.componentName)+\" \")])}),0)]):_vm._e(),(order.servingOptions !== null && order.servingOptions.length > 0)?_c('div',[_c('ul',_vm._l((order.servingOptions),function(servingOption){return _c('li',{key:servingOption.servingOptionId,staticClass:\"subitem-label\"},[_vm._v(\" \"+_vm._s(servingOption.servingOptionName)+\" \")])}),0)]):_vm._e()]),_c('td',{staticClass:\"value-column\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")((order.price * order.quantity))))])]),_vm._l((_vm.filterAdjustments(order.adjustments)),function(adjustment){return _c('tr',{key:adjustment.adjustmentId},[_c('td',{staticClass:\"label-column adjustment indented\"},[_vm._v(_vm._s(adjustment.adjustmentReasonName))]),_c('td',{staticClass:\"value-column adjustment\"},[_vm._v(\"(\"+_vm._s(_vm._f(\"toCurrency\")(adjustment.appliedAmount))+\")\")])])})],2)}),0):_vm._e()]),_c('TotalDetail',{attrs:{\"isTipVisible\":false}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('div',{staticClass:\"sprite folded-corner\",attrs:{\"id\":\"corner-img\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"id\":\"corner-img-spacer\"}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"total\"}},[_c('table',[_c('tr',[_c('td',{staticClass:\"label-column\"},[_vm._v(\"Subtotal\")]),_c('td',{staticClass:\"value-column\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.session.check.subTotal)))])]),(_vm.gratuities > 0)?_c('tr',[_c('td',{staticClass:\"label-column\"},[_vm._v(\"Gratuities\")]),_c('td',{staticClass:\"value-column\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.gratuities)))])]):_vm._e(),_c('tr',[_c('td',{staticClass:\"label-column\"},[_vm._v(\"Tax Total\")]),_c('td',{staticClass:\"value-column\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.taxTotal)))])]),(Math.abs(_vm.session.check.taxExempt) > 0)?_c('tr',[_c('td',{staticClass:\"label-column bolder adjustment\"},[_vm._v(\"Tax Exempt\")]),_c('td',{staticClass:\"value-column bolder adjustment\"},[_vm._v(\"(\"+_vm._s(_vm._f(\"toCurrency\")(Math.abs(_vm.session.check.taxExempt)))+\")\")])]):_vm._e(),_c('tr',[_c('td',{staticClass:\"label-column bolder\"},[_vm._v(\"Total\")]),_c('td',{staticClass:\"value-column bolder\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.total)))])]),(_vm.isTipVisible)?_c('tr',[_c('td',{staticClass:\"label-column bolder\"},[_vm._v(\"Tip\")]),_c('td',{staticClass:\"value-column bolder\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.tip)))])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TotalDetail.vue?vue&type=template&id=7a0c4896&scoped=true&\"\nimport script from \"./TotalDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./TotalDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TotalDetail.vue?vue&type=style&index=0&id=7a0c4896&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a0c4896\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckDetail.vue?vue&type=template&id=2cbc8c46&scoped=true&\"\nimport script from \"./CheckDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckDetail.vue?vue&type=style&index=0&id=2cbc8c46&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2cbc8c46\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"payment-options\"}},[_c('button',{staticClass:\"button-primary\",attrs:{\"id\":\"add-tip\"},on:{\"click\":function($event){return _vm.$router.push('tip')}}},[_c('table',[_c('tr',[_c('td',{staticClass:\"action-label\"},[_vm._v(\"Tip\")]),_c('td',{staticClass:\"action-value\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.tip)))]),_vm._m(0)])])]),(_vm.isBraintree)?[_c('button',{staticClass:\"button-secondary payment-type-button\",on:{\"click\":function($event){return _vm.$router.push('creditcard/0')}}},[_vm._v(\"Credit Card\")]),_c('BraintreeGooglePay'),_c('BraintreeApplePay')]:_vm._e(),(_vm.isPayeezy)?[_c('button',{staticClass:\"button-secondary payment-type-button\",on:{\"click\":function($event){return _vm.$router.push('creditcard/1')}}},[_vm._v(\"Credit Card\")]),_c('PayeezyGooglePay'),_c('PayeezyApplePay')]:_vm._e(),(_vm.isShift4)?[_c('button',{staticClass:\"button-secondary payment-type-button\",on:{\"click\":function($event){return _vm.$router.push('creditcard/2')}}},[_vm._v(\"Credit Card\")]),_c('Shift4ApplePayGooglePay')]:_vm._e()],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"action-icon\"},[_c('img',{staticClass:\"button-caret\",attrs:{\"src\":require(\"@/assets/images/caret-right-white.png\")}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"payment-type-options\"}},[_c('button',{staticClass:\"button-secondary\",on:{\"click\":_vm.createTransaction}},[_c('div',{staticClass:\"sprite google-pay-light\",attrs:{\"id\":\"googlepay-mark\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const errorCodes = require(\"../assets/json/error-codes.json\");\r\n\r\nexport const sweetAlert2 = {\r\n methods: {\r\n swalAlert(text = \"Notify staff to process payment.\", title = \"Online payment error\") {\r\n this.$swal({\r\n title: title,\r\n text: text,\r\n allowOutsideClick: false\r\n });\r\n },\r\n swalAlertHtml(html, title = \"Online payment error\") {\r\n this.$swal({\r\n title: title,\r\n html: html,\r\n allowOutsideClick: false\r\n });\r\n },\r\n swalError(errorCode) {\r\n const err = errorCodes.find(e => e.errorCode === errorCode);\r\n this.$swal({\r\n title: err.title,\r\n text: err.text,\r\n allowOutsideClick: false\r\n });\r\n },\r\n swalConfirm(action, text = \"Notify staff to process payment.\", title = \"Online payment error\", confirmButtonText = \"OK\", cancelButtonText = \"Cancel\") {\r\n this.$swal({\r\n title: title,\r\n text: text,\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: cancelButtonText,\r\n showCancelButton: true,\r\n allowOutsideClick: false\r\n })\r\n .then(\r\n result => {\r\n if (result && result.isConfirmed && action) {\r\n action();\r\n }\r\n });\r\n },\r\n swalToast(text) {\r\n this.$swal({\r\n position: \"top-end\",\r\n title: text,\r\n showConfirmButton: false,\r\n toast: true,\r\n timer: 5000,\r\n timerProgressBar: true\r\n });\r\n }\r\n }\r\n}","const progressMessages = [\r\n \"Processing. Thank you for your patience.\", // Small latency.\r\n \"Processing still in progress. Thank you for waiting.\", // High latency.\r\n \"Thank you for your patience. Processing still in progress and should complete shortly.\"]; // Critical latency.\r\n\r\nexport const showBlocker = {\r\n methods: {\r\n showSmallLatencyMessage() {\r\n this.setLoadingStatus({\r\n showSpinner: true,\r\n showBlocker: true,\r\n showMessage: true,\r\n loadingMessage: progressMessages[0]\r\n });\r\n },\r\n showHighLatencyMessage() {\r\n this.setLoadingStatus({\r\n showSpinner: true,\r\n showBlocker: true,\r\n showMessage: true,\r\n loadingMessage: progressMessages[1]\r\n });\r\n this.$timer.stop(\"showSmallLatencyMessage\");\r\n },\r\n showCriticalLatencyMessage() {\r\n this.setLoadingStatus({\r\n showSpinner: true,\r\n showBlocker: true,\r\n showMessage: true,\r\n loadingMessage: progressMessages[2]\r\n });\r\n this.$timer.stop(\"showHighLatencyMessage\");\r\n },\r\n showBlockerWithNoSpinner() {\r\n this.setLoadingStatus({\r\n showSpinner: false,\r\n showBlocker: true\r\n });\r\n },\r\n showBlockerWithSpinner() {\r\n this.setLoadingStatus({\r\n showSpinner: true,\r\n showBlocker: true\r\n });\r\n },\r\n startProgressIndicator() {\r\n this.setLoadingStatus(true);\r\n\r\n this.$timer.start(\"showSmallLatencyMessage\");\r\n this.$timer.start(\"showHighLatencyMessage\");\r\n this.$timer.start(\"showCriticalLatencyMessage\");\r\n },\r\n stopProgressIndicator() {\r\n this.setLoadingStatus(false);\r\n\r\n this.$timer.stop(\"showSmallLatencyMessage\");\r\n this.$timer.stop(\"showHighLatencyMessage\");\r\n this.$timer.stop(\"showCriticalLatencyMessage\");\r\n }\r\n },\r\n timers: {\r\n showSmallLatencyMessage: {\r\n time: 8000\r\n },\r\n showHighLatencyMessage: {\r\n time: 20000\r\n },\r\n showCriticalLatencyMessage: {\r\n time: 40000\r\n }\r\n }\r\n}","export function getPaymentMethod(key) {\r\n switch (key) {\r\n case \"1\":\r\n return paymentMethods.googlePay;\r\n case \"2\":\r\n return paymentMethods.applePay;\r\n default:\r\n return paymentMethods.creditCard;\r\n }\r\n}\r\n\r\nexport const paymentMethods = {\r\n creditCard: \"Credit Card\",\r\n googlePay: \"Google Pay\",\r\n applePay: \"Apple Pay\"\r\n};","\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BraintreeGooglePay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BraintreeGooglePay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BraintreeGooglePay.vue?vue&type=template&id=8d62abf2&\"\nimport script from \"./BraintreeGooglePay.vue?vue&type=script&lang=js&\"\nexport * from \"./BraintreeGooglePay.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isApplePaySupported)?_c('div',{attrs:{\"id\":\"nspay-apple-pay\"},on:{\"click\":_vm.processApplePayment}},[_c('div',{attrs:{\"id\":\"apple-pay-logo\"}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BraintreeApplePay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BraintreeApplePay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BraintreeApplePay.vue?vue&type=template&id=14786a3b&\"\nimport script from \"./BraintreeApplePay.vue?vue&type=script&lang=js&\"\nexport * from \"./BraintreeApplePay.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isGooglePayAvailable)?_c('div',{attrs:{\"id\":\"payment-type-options\"}},[_c('button',{staticClass:\"button-secondary\",on:{\"click\":_vm.createTransaction}},[_c('div',{staticClass:\"sprite google-pay-light\",attrs:{\"id\":\"googlepay-mark\"}})])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayeezyGooglePay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayeezyGooglePay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PayeezyGooglePay.vue?vue&type=template&id=d9046ce8&\"\nimport script from \"./PayeezyGooglePay.vue?vue&type=script&lang=js&\"\nexport * from \"./PayeezyGooglePay.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isApplePaySupported)?_c('div',{attrs:{\"id\":\"nspay-apple-pay\"},on:{\"click\":_vm.processApplePayment}},[_c('div',{attrs:{\"id\":\"apple-pay-logo\"}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayeezyApplePay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayeezyApplePay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PayeezyApplePay.vue?vue&type=template&id=34026ad8&\"\nimport script from \"./PayeezyApplePay.vue?vue&type=script&lang=js&\"\nexport * from \"./PayeezyApplePay.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"payment-type-options\"}},[_c('button',{staticClass:\"google-pay-button pay-button\"},[_c('div',{staticClass:\"sprite google-pay-light disabled-image\",attrs:{\"id\":\"googlepay-mark\"}})]),_c('button',{staticClass:\"apple-pay-button no-apple-pay\",attrs:{\"id\":\"nspay-apple-pay\"}},[_c('div',{staticClass:\"apple-pay-button-container disabled-image\"},[_c('div',{attrs:{\"id\":\"apple-pay-logo\"}})])]),_c('div',{attrs:{\"id\":\"i4goFrame\"}}),_c('form',{attrs:{\"id\":\"form-main\"}},[_c('input',{attrs:{\"id\":\"i4go_response\",\"name\":\"i4go_response\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_responsecode\",\"name\":\"i4go_responsecode\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_responsetext\",\"name\":\"i4go_responsetext\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_cardtype\",\"name\":\"i4go_cardtype\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_maskedcard\",\"name\":\"i4go_maskedcard\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_uniqueid\",\"name\":\"i4go_uniqueid\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_expirationmonth\",\"name\":\"i4go_expirationmonth\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_expirationyear\",\"name\":\"i4go_expirationyear\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_cardholdername\",\"name\":\"i4go_cardholdername\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_streetaddress\",\"name\":\"i4go_streetaddress\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_postalcode\",\"name\":\"i4go_postalcode\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_extendedcarddata\",\"name\":\"i4go_extendedcarddata\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_utoken\",\"name\":\"i4go_utoken\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_googlepaytoken\",\"name\":\"i4go_googlepaytoken\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_applepaytoken\",\"name\":\"i4go_applepaytoken\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_signeddata\",\"name\":\"i4go_signeddata\",\"type\":\"hidden\"}})])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Shift4ApplePayGooglePay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Shift4ApplePayGooglePay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Shift4ApplePayGooglePay.vue?vue&type=template&id=9a18fb16&scoped=true&\"\nimport script from \"./Shift4ApplePayGooglePay.vue?vue&type=script&lang=js&\"\nexport * from \"./Shift4ApplePayGooglePay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Shift4ApplePayGooglePay.vue?vue&type=style&index=0&id=9a18fb16&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9a18fb16\",\n null\n \n)\n\nexport default component.exports","export const paymentProcessors = {\r\n braintree: \"Braintree\",\r\n payeezy: \"Payeezy\",\r\n shift4: \"Shift4\"\r\n}","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentOptions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentOptions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PaymentOptions.vue?vue&type=template&id=1da6450e&scoped=true&\"\nimport script from \"./PaymentOptions.vue?vue&type=script&lang=js&\"\nexport * from \"./PaymentOptions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PaymentOptions.vue?vue&type=style&index=0&id=1da6450e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1da6450e\",\n null\n \n)\n\nexport default component.exports","export const keynames = {\r\n checkUrl: \"nspay-checkurl\"\r\n}","export function setSessionData(key, value) {\r\n if (isSessionStorageSupported()) {\r\n sessionStorage.setItem(key, value);\r\n }\r\n}\r\n\r\nexport function getSessionData(key) {\r\n if (isSessionStorageSupported()) {\r\n return sessionStorage.getItem(key);\r\n }\r\n\r\n return null;\r\n}\r\nexport function removeSessionData(key) {\r\n if (isSessionStorageSupported()) {\r\n sessionStorage.removeItem(key);\r\n }\r\n}\r\n\r\nexport function sessionDataExists(key) {\r\n if (isSessionStorageSupported()) {\r\n return sessionStorage.getItem(key) !== null;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function isSessionStorageSupported() {\r\n const isSessionStorageSupported =\r\n typeof (Storage) !== undefined && window.sessionStorage != undefined;\r\n\r\n if (!isSessionStorageSupported) {\r\n console.log(\"Session storage is not supported.\");\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport default {\r\n methods: {\r\n setSessionData,\r\n getSessionData,\r\n removeSessionData,\r\n sessionDataExists,\r\n isSessionStorageSupported\r\n }\r\n}","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NsPay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NsPay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NsPay.vue?vue&type=template&id=7d535330&scoped=true&\"\nimport script from \"./NsPay.vue?vue&type=script&lang=js&\"\nexport * from \"./NsPay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NsPay.vue?vue&type=style&index=0&id=7d535330&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d535330\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Landing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Landing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Landing.vue?vue&type=template&id=345ca9a2&\"\nimport script from \"./Landing.vue?vue&type=script&lang=js&\"\nexport * from \"./Landing.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-spacer\",attrs:{\"id\":\"credit-card\"}},[_c('ViewHeader',{attrs:{\"title\":\"Credit Card Payment\"}}),_c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"rest-of-body\"}},[_c('TotalDetail',{attrs:{\"isTipVisible\":true}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.ccFormLoaded),expression:\"ccFormLoaded\"}],staticClass:\"view-content\"},[_c('form',{ref:\"cc-form\",attrs:{\"id\":\"cc-form\",\"novalidate\":\"\"}},[_c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":\"cc-number\"}},[_vm._v(\"Credit Card Number\")]),_c('div',{staticClass:\"braintree-form-control\",attrs:{\"id\":\"cc-number\"}}),(!_vm.isNumberValid)?_c('div',{staticClass:\"error-message\"},[_vm._v(\" Invalid credit card number. \")]):_vm._e()]),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"inline\"},[_c('label',{attrs:{\"for\":\"cc-expiration\"}},[_vm._v(\"Expiration Date\")]),_c('div',{staticClass:\"braintree-form-control\",attrs:{\"id\":\"cc-expiration\"}}),(!_vm.isExpirationValid)?_c('div',{staticClass:\"error-message\"},[_vm._v(\" Invalid date. \")]):_vm._e()]),_c('div',{staticClass:\"inline\"},[_c('div',{attrs:{\"id\":\"cc-cvv-label\"}},[_c('div',[_c('label',{attrs:{\"for\":\"cc-cvv\"}},[_vm._v(_vm._s(_vm.cvvLabel))])]),_vm._v(\" \"),_c('div',{staticClass:\"info-mark\",on:{\"click\":_vm.showCvvInfo}},[_vm._v(\"?\")])]),_c('div',{staticClass:\"braintree-form-control\",attrs:{\"id\":\"cc-cvv\"}}),(!_vm.isCvvValid)?_c('div',{staticClass:\"error-message\"},[_vm._v(\" Invalid CVV code. \")]):_vm._e()])]),_c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":\"cc-name\"}},[_vm._v(\"Name on Card\")]),_c('input',{ref:\"cc-name\",staticClass:\"input-secondary\",attrs:{\"id\":\"cc-name\",\"type\":\"text\",\"required\":\"\"}}),(!_vm.isNameValid)?_c('div',{staticClass:\"error-message\"},[_vm._v(\" Name on card is required. \")]):_vm._e()]),_c('button',{staticClass:\"button-primary\",attrs:{\"type\":\"submit\"}},[_vm._v(\" Pay with \"),_c('span',{attrs:{\"id\":\"card-brand\"}},[_vm._v(\" \"+_vm._s(_vm.cardType)+\" \")])])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVisible)?_c('div',{staticClass:\"drop-shadow-with-top\"},[_c('table',{attrs:{\"id\":\"header\"}},[_c('tr',[_vm._m(0),_c('td',{attrs:{\"id\":\"title\",\"rowspan\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('td',{attrs:{\"id\":\"close\",\"rowspan\":\"2\"}},[_c('img',{attrs:{\"id\":\"close-img\",\"src\":require(\"@/assets/images/close.png\")},on:{\"click\":function($event){return _vm.$router.go(-1)}}})])]),_vm._m(1)])]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',[_c('div',{staticClass:\"sprite folded-corner\",attrs:{\"id\":\"corner-img\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"id\":\"corner-img-spacer\",\"colspan\":\"3\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewHeader.vue?vue&type=template&id=1e87aee2&scoped=true&\"\nimport script from \"./ViewHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewHeader.vue?vue&type=style&index=0&id=1e87aee2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e87aee2\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardBraintree.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardBraintree.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreditCardBraintree.vue?vue&type=template&id=7ba14ee2&scoped=true&\"\nimport script from \"./CreditCardBraintree.vue?vue&type=script&lang=js&\"\nexport * from \"./CreditCardBraintree.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreditCardBraintree.vue?vue&type=style&index=0&id=7ba14ee2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ba14ee2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('form',{ref:\"pay-form\",staticStyle:{\"display\":\"none\"},attrs:{\"name\":\"pay-form\",\"target\":\"_self\",\"method\":\"post\"}},[_c('input',{ref:\"page-id\",attrs:{\"name\":\"x_login\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"name\":\"x_amount\",\"type\":\"hidden\"},domProps:{\"value\":_vm.balanceWithTip}}),_c('input',{ref:\"sequence-number\",attrs:{\"name\":\"x_fp_sequence\",\"type\":\"hidden\"}}),_c('input',{ref:\"timestamp\",attrs:{\"name\":\"x_fp_timestamp\",\"type\":\"hidden\"}}),_c('input',{ref:\"hash\",attrs:{\"name\":\"x_fp_hash\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"name\":\"x_first_name\",\"value\":\"\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"name\":\"x_last_name\",\"value\":\"\",\"type\":\"hidden\"}}),_c('input',{ref:\"invoice-number\",attrs:{\"name\":\"x_invoice_num\",\"type\":\"hidden\"}}),_c('input',{ref:\"description\",attrs:{\"name\":\"x_description\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"name\":\"x_show_form\",\"value\":\"PAYMENT_FORM\",\"type\":\"hidden\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardPayeezy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardPayeezy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreditCardPayeezy.vue?vue&type=template&id=77ee9a48&\"\nimport script from \"./CreditCardPayeezy.vue?vue&type=script&lang=js&\"\nexport * from \"./CreditCardPayeezy.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-spacer\",attrs:{\"id\":\"credit-card\"}},[_c('ViewHeader',{attrs:{\"title\":\"Credit Card Payment\"}}),_c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"rest-of-body\"}},[_c('TotalDetail',{attrs:{\"isTipVisible\":true}}),_c('div',{ref:\"i4goFrame\",attrs:{\"id\":\"i4goFrame\"}}),_vm._m(0),_c('label',{staticClass:\"shift4-custom-elements shift4-label\",attrs:{\"for\":\"shift4-csc\"}},[_vm._v(\"Card Security Code\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shift4Csc),expression:\"shift4Csc\"}],staticClass:\"shift4-custom-elements shift4-csc\",attrs:{\"id\":\"shift4-csc\",\"type\":\"password\",\"pattern\":\"\\\\d*\",\"size\":\"3\",\"required\":\"\",\"maxlength\":\"4\"},domProps:{\"value\":(_vm.shift4Csc)},on:{\"keypress\":_vm.shift4CscKeypress,\"input\":function($event){if($event.target.composing){ return; }_vm.shift4Csc=$event.target.value}}}),(!_vm.isCscValid)?_c('div',{staticClass:\"shift4-custom-elements error-message\"},[_vm._v(\" Invalid Card Security Code. \")]):_vm._e(),_c('button',{staticClass:\"shift4-custom-elements button-primary\",attrs:{\"id\":\"shift4-submit-payment\",\"type\":\"submit\"}},[_vm._v(\"Submit payment\")])],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{attrs:{\"id\":\"form-main\"}},[_c('input',{attrs:{\"id\":\"i4go_response\",\"name\":\"i4go_response\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_responsecode\",\"name\":\"i4go_responsecode\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_responsetext\",\"name\":\"i4go_responsetext\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_cardtype\",\"name\":\"i4go_cardtype\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_maskedcard\",\"name\":\"i4go_maskedcard\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_uniqueid\",\"name\":\"i4go_uniqueid\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_expirationmonth\",\"name\":\"i4go_expirationmonth\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_expirationyear\",\"name\":\"i4go_expirationyear\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_cardholdername\",\"name\":\"i4go_cardholdername\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_streetaddress\",\"name\":\"i4go_streetaddress\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_postalcode\",\"name\":\"i4go_postalcode\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_extendedcarddata\",\"name\":\"i4go_extendedcarddata\",\"type\":\"hidden\"}}),_c('input',{attrs:{\"id\":\"i4go_utoken\",\"name\":\"i4go_utoken\",\"type\":\"hidden\"}})])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardShift4.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardShift4.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreditCardShift4.vue?vue&type=template&id=7bcf9a9d&scoped=true&\"\nimport script from \"./CreditCardShift4.vue?vue&type=script&lang=js&\"\nexport * from \"./CreditCardShift4.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreditCardShift4.vue?vue&type=style&index=0&id=7bcf9a9d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bcf9a9d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-spacer\",attrs:{\"id\":\"tip\"}},[_c('ViewHeader',{attrs:{\"title\":\"Add Tip\"}}),_c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"rest-of-body\"}},[_c('div',{attrs:{\"id\":\"total\"}},[_c('table',[_c('tr',[_c('td',{staticClass:\"label-column\"},[_vm._v(\"Total\")]),_c('td',{staticClass:\"value-column\"},[_vm._v(_vm._s(_vm._f(\"toCurrency\")(_vm.total)))])]),_c('tr',[_c('td',{staticClass:\"label-column\"},[_vm._v(\"Tip\")]),_c('td',{staticClass:\"value-column\"},[_c('transition',{attrs:{\"name\":_vm.readyForAnimation ? 'amount-drop-in' : '',\"mode\":\"out-in\"}},[_c('div',{key:_vm.enteredTip},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")(_vm.enteredTip))+\" \")])])],1)])])]),_c('div',{attrs:{\"id\":\"actions\"}},[_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selected === '18-pct-tip'},on:{\"click\":function($event){return _vm.select('18-pct-tip')}}},[_vm._v(\" 18% \")]),_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selected === '20-pct-tip'},on:{\"click\":function($event){return _vm.select('20-pct-tip')}}},[_vm._v(\" 20% \")]),_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selected === '25-pct-tip'},on:{\"click\":function($event){return _vm.select('25-pct-tip')}}},[_vm._v(\" 25% \")]),(_vm.isOtherPctTipInputVisible)?_c('Money',_vm._b({directives:[{name:\"focus\",rawName:\"v-focus\"}],class:_vm.otherPctTipClass,nativeOn:{\"blur\":function($event){return _vm.setOtherPctTip($event)},\"input\":function($event){return _vm.scrubNumberInput($event)},\"keyup\":function($event){return _vm.validateAndSetOtherPctTipOnEnter($event)}},model:{value:(_vm.formattedOtherPctTip),callback:function ($$v) {_vm.formattedOtherPctTip=$$v},expression:\"formattedOtherPctTip\"}},'Money',_vm.percentage,false)):_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selected === 'other-pct-tip'},on:{\"click\":_vm.editOtherPctTip}},[(_vm.otherPctTip > 0)?_c('span',[_vm._v(_vm._s(_vm._f(\"toFormattedNumber\")(_vm.otherPctTip,0))+\"%\")]):_c('span',[_vm._v(\"Other %\")])]),(_vm.isDollarTipInputVisible)?_c('Money',_vm._b({directives:[{name:\"focus\",rawName:\"v-focus\"}],class:_vm.dollarTipClass,nativeOn:{\"blur\":function($event){return _vm.setDollarTip($event)},\"input\":function($event){return _vm.scrubNumberInput($event)},\"keyup\":function($event){return _vm.validateAndSetDollarTipOnEnter($event)}},model:{value:(_vm.formattedDollarTip),callback:function ($$v) {_vm.formattedDollarTip=$$v},expression:\"formattedDollarTip\"}},'Money',_vm.money,false)):_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selected === 'dollar-tip'},on:{\"click\":_vm.editDollarTip}},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((_vm.dollarTip > 0 ? _vm.dollarTip : '$')))+\" Tip \")]),_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selected === 'no-tip'},on:{\"click\":function($event){return _vm.select('no-tip')}}},[_vm._v(\" No Tip \")]),_c('button',{staticClass:\"button-primary\",attrs:{\"disabled\":_vm.isConfirmDisabled},on:{\"click\":_vm.commitTip}},[_vm._v(\" Confirm \")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function (value) {\r\n const valueType = typeof value;\r\n\r\n if (valueType !== \"number\") {\r\n const numberValue = Number(value);\r\n\r\n if (isNaN(numberValue)) {\r\n return value;\r\n }\r\n\r\n value = numberValue;\r\n }\r\n\r\n const formatter = new Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\",\r\n minimumFractionDigits: 2\r\n });\r\n\r\n return formatter.format(value);\r\n}","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tip.vue?vue&type=template&id=2656013f&scoped=true&\"\nimport script from \"./Tip.vue?vue&type=script&lang=js&\"\nexport * from \"./Tip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Tip.vue?vue&type=style&index=0&id=2656013f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2656013f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-spacer\",attrs:{\"id\":\"payment-summary\"}},[_c('div',[_c('table',{staticClass:\"drop-shadow-with-top\",attrs:{\"id\":\"payment-summary-header\"}},[_c('tr',[_c('td',[_c('div',{class:{ 'paid-animation': _vm.readyToAnimate, 'sprite': true, 'paid': true },attrs:{\"id\":\"paid\"}}),_c('div',{staticClass:\"sprite folded-corner\",attrs:{\"id\":\"corner-img\"}})]),_c('td',{attrs:{\"id\":\"title\",\"rowspan\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])]),_vm._m(0)])]),_c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"rest-of-body\"}},[_c('TotalDetail',{attrs:{\"isTipVisible\":true}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!(_vm.approvedPayments.length === 0)),expression:\"!(approvedPayments.length === 0)\"}],staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"payment-method\"}},[_c('table',_vm._l((_vm.approvedPayments),function(payment){return _c('tr',{key:payment.paymentId},[_c('td',{staticClass:\"label-column account-type large-bold\"},[_c('div',[_vm._v(_vm._s(payment.paymentName))]),(_vm.hasCardNumber(payment.paymentCard))?_c('div',{staticClass:\"account-details\"},[_vm._v(\" Card ending in \"+_vm._s(payment.paymentCard.cardNumber)+\" \")]):_vm._e()]),_c('td',{staticClass:\"value-column charged-amount large-bold\"},[_vm._v(\" \"+_vm._s(_vm._f(\"toCurrency\")((payment.amount + payment.tip)))+\" \")])])}),0)]),(!_vm.isComplete)?_c('div',{staticClass:\"drop-shadow-sides\",attrs:{\"id\":\"payment-receipt-option-header\"}},[_vm._v(\" How would you like your receipt? \")]):_vm._e(),_c('keep-alive',[(_vm.showEmailReceipt)?_c('EmailReceipt',{attrs:{\"siteId\":_vm.session.siteId,\"accountId\":_vm.session.accountId,\"checkId\":_vm.session.checkId,\"paymentId\":_vm.session.payment.paymentId},on:{\"cancel\":_vm.closeEmailReceipt,\"sentEmailReceipt\":_vm.sentEmailReceipt}}):_vm._e()],1),(!_vm.isComplete)?_c('div',{staticClass:\"large-bold\",attrs:{\"id\":\"payment-receipt-option\"}},[(!_vm.showEmailReceipt)?_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selectedPaymentReceiptOption === 'email'},on:{\"click\":function($event){return _vm.selectPaymentReceiptOption('email')}}},[_vm._v(\" Email receipt \")]):_vm._e(),_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selectedPaymentReceiptOption === 'print'},attrs:{\"disabled\":_vm.showEmailReceipt},on:{\"click\":function($event){return _vm.selectPaymentReceiptOption('print')}}},[_vm._v(\" Print receipt \")]),_c('button',{staticClass:\"button-secondary\",class:{'button-secondary-selected': _vm.selectedPaymentReceiptOption === 'noreceipt'},attrs:{\"disabled\":_vm.showEmailReceipt},on:{\"click\":function($event){return _vm.selectPaymentReceiptOption('noreceipt')}}},[_vm._v(\" No receipt \")])]):_vm._e(),(_vm.isComplete)?_c('ThankYouMessage'):_vm._e()],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{attrs:{\"id\":\"corner-img-spacer\"}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"email-receipt\"}},[_c('div',{staticClass:\"field\"},[_c('div',{attrs:{\"id\":\"email-label\"}},[_vm._v(\"Email Address\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.$v.email.$model),expression:\"$v.email.$model\",modifiers:{\"trim\":true}},{name:\"focus\",rawName:\"v-focus\"}],ref:\"email\",staticClass:\"input-secondary\",class:_vm.emailFieldClass,attrs:{\"id\":\"email\",\"type\":\"email\"},domProps:{\"value\":(_vm.$v.email.$model)},on:{\"blur\":[_vm.$v.email.$touch,function($event){return _vm.$forceUpdate()}],\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.$v.email, \"$model\", $event.target.value.trim())}}}),(_vm.$v.email.$dirty && !_vm.$v.email.required && _vm.readyToSend)?_c('div',{staticClass:\"error-message\"},[_vm._v(\"Email is required.\")]):_vm._e(),(_vm.$v.email.$dirty && !_vm.$v.email.email && _vm.readyToSend)?_c('div',{staticClass:\"error-message\"},[_vm._v(\"Invalid email address.\")]):_vm._e()]),_c('div',{staticClass:\"field\",attrs:{\"id\":\"button-wrapper\"}},[_c('button',{class:_vm.sendButtonClass,attrs:{\"id\":\"send\"},on:{\"click\":_vm.sendEmailReceipt}},[_vm._v(\"Send\")]),_c('button',{staticClass:\"button-secondary\",attrs:{\"id\":\"cancel\"},on:{\"click\":_vm.cancel}},[_vm._v(\"Cancel\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailReceipt.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailReceipt.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmailReceipt.vue?vue&type=template&id=310e5bd8&scoped=true&\"\nimport script from \"./EmailReceipt.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailReceipt.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmailReceipt.vue?vue&type=style&index=0&id=310e5bd8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"310e5bd8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"thank-you-message\"}},[_c('svg',{staticClass:\"checkmark\",attrs:{\"id\":\"checkmark\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 52 52\"}},[_c('circle',{staticClass:\"checkmark-circle\",attrs:{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"25\",\"fill\":\"none\"}}),_c('path',{staticClass:\"checkmark-check\",attrs:{\"fill\":\"none\",\"d\":\"M14.1 27.2l7.1 7.2 16.7-16.8\"}})]),_c('p',[_vm._v(\"Thank you for your visit.\")]),_c('p',[_vm._v(\"We look forward to your return.\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThankYouMessage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThankYouMessage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThankYouMessage.vue?vue&type=template&id=550f5163&scoped=true&\"\nimport script from \"./ThankYouMessage.vue?vue&type=script&lang=js&\"\nexport * from \"./ThankYouMessage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThankYouMessage.vue?vue&type=style&index=0&id=550f5163&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"550f5163\",\n null\n \n)\n\nexport default component.exports","export default {\r\n preventNavigatingAway: () => {\r\n history.pushState(null, null, location.href);\r\n history.back();\r\n history.forward();\r\n window.onpopstate = function () { history.go(1); };\r\n }\r\n}","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentSummary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentSummary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PaymentSummary.vue?vue&type=template&id=c85ef4c4&scoped=true&\"\nimport script from \"./PaymentSummary.vue?vue&type=script&lang=js&\"\nexport * from \"./PaymentSummary.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PaymentSummary.vue?vue&type=style&index=0&id=c85ef4c4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c85ef4c4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"cvv-info\"}},[_c('div',[_vm._v(\" The CVV number is a 3- or 4-digit security code, usually located on the back of your card. \")]),_c('br'),_c('img',{attrs:{\"id\":\"credit-card-back\",\"src\":require(\"@/assets/images/back-of-credit-card.png\")}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CVVInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CVVInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CVVInfo.vue?vue&type=template&id=0f3b67d5&scoped=true&\"\nimport script from \"./CVVInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./CVVInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CVVInfo.vue?vue&type=style&index=0&id=0f3b67d5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f3b67d5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"error-wrapper\"}},[_vm._m(0),_c('div',{attrs:{\"id\":\"error-title\"}},[_vm._v(_vm._s(_vm.errorTitle))]),_c('div',{attrs:{\"id\":\"error-text\"}},[_vm._v(_vm._s(_vm.errorText))]),_c('div',{attrs:{\"id\":\"error-code\"}},[_vm._v(\"Error code \"+_vm._s(_vm.errorCodeWithDefault))])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"error-img-wrapper\"}},[_c('div',{staticClass:\"sprite error-cc\",attrs:{\"id\":\"error-img\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Error.vue?vue&type=template&id=c50d9900&scoped=true&\"\nimport script from \"./Error.vue?vue&type=script&lang=js&\"\nexport * from \"./Error.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Error.vue?vue&type=style&index=0&id=c50d9900&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c50d9900\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-spacer\",attrs:{\"id\":\"links\"}},[_c('div',{attrs:{\"id\":\"actions\"}},[(_vm.landingPageLabel1 !== null)?_c('button',{staticClass:\"button-secondary\",on:{\"click\":function($event){return _vm.openLink(_vm.landingPageLink1)}}},[_vm._v(\" \"+_vm._s(_vm.landingPageLabel1)+\" \")]):_vm._e(),(_vm.landingPageLabel2 !== null)?_c('button',{staticClass:\"button-secondary\",on:{\"click\":function($event){return _vm.openLink(_vm.landingPageLink2)}}},[_vm._v(\" \"+_vm._s(_vm.landingPageLabel2)+\" \")]):_vm._e(),(_vm.landingPageLabel3 !== null)?_c('button',{staticClass:\"button-secondary\",on:{\"click\":function($event){return _vm.openLink(_vm.landingPageLink3)}}},[_vm._v(\" \"+_vm._s(_vm.landingPageLabel3)+\" \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Links.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Links.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Links.vue?vue&type=template&id=092a559a&scoped=true&\"\nimport script from \"./Links.vue?vue&type=script&lang=js&\"\nexport * from \"./Links.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Links.vue?vue&type=style&index=0&id=092a559a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"092a559a\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nimport NsPay from \"../views/NsPay\";\r\nimport Landing from \"../views/Landing\";\r\nimport CreditCardBraintree from \"../views/CreditCardBraintree\";\r\nimport CreditCardPayeezy from \"../views/CreditCardPayeezy\";\r\nimport CreditCardShift4 from \"../views/CreditCardShift4\";\r\nimport Tip from \"../views/Tip\";\r\nimport PaymentSummary from \"../views/PaymentSummary\";\r\nimport CVVInfo from \"../components/CVVInfo\";\r\nimport Error from \"../views/Error\";\r\nimport Links from \"../views/Links\";\r\nimport { sessionDataExists } from \"../mixins/session-storage\";\r\nimport { keynames } from \"../constants/keynames\";\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: \"/landing\",\r\n name: \"Landing\",\r\n component: Landing\r\n },\r\n {\r\n path: \"/\",\r\n name: \"NsPay\",\r\n component: NsPay\r\n },\r\n {\r\n path: \"/links\",\r\n name: \"Links\",\r\n component: Links\r\n },\r\n {\r\n path: \"/tip\",\r\n name: \"Tip\",\r\n component: Tip\r\n },\r\n {\r\n path: \"/paymentsummary\",\r\n name: \"PaymentSummary\",\r\n component: PaymentSummary\r\n },\r\n {\r\n path: \"/creditcard/0\",\r\n name: \"CreditCardBraintree\",\r\n component: CreditCardBraintree\r\n },\r\n {\r\n path: \"/creditcard/1\",\r\n name: \"CreditCardPayeezy\",\r\n component: CreditCardPayeezy\r\n },\r\n {\r\n path: \"/creditcard/2\",\r\n name: \"CreditCardShift4\",\r\n component: CreditCardShift4\r\n },\r\n {\r\n path: \"/cvvinfo\",\r\n name: \"CVVInfo\",\r\n component: CVVInfo\r\n },\r\n {\r\n path: \"/error/:errorCode?\",\r\n name: \"Error\",\r\n component: Error,\r\n props: true\r\n },\r\n {\r\n path: \"*\",\r\n name: \"NotFound\",\r\n redirect: \"/error/404\"\r\n }\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: window.location.pathName,\r\n routes\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (to.name === \"Tip\" && from.name !== \"NsPay\") {\r\n next({ name: \"Landing\" });\r\n }\r\n else if (to.name === (\"CreditCardPayeezy\")) {\r\n if (from.name === \"NsPay\" || sessionDataExists(keynames.checkUrl)) {\r\n next();\r\n }\r\n else {\r\n next({ name: \"Landing\" });\r\n }\r\n }\r\n else if (to.name.startsWith(\"CreditCard\") && from.name !== \"NsPay\") {\r\n next({ name: \"Landing\" });\r\n }\r\n else if (to.name === \"PaymentSummary\" &&\r\n !(from.name === \"NsPay\" || from.name.startsWith(\"CreditCard\"))) {\r\n next({ name: \"Landing\" });\r\n }\r\n else if (to.name === \"Error\" && from.name === null &&\r\n to.path.toLowerCase() !== \"/error/1001\") {\r\n // Redirecting user to a generic error page when user tries to access the \r\n // error page directly to probably view different error messages by\r\n // changing the error code in the url.\r\n next({ name: \"Error\", params: { errorCode: \"1001\" } });\r\n }\r\n else {\r\n next();\r\n }\r\n});\r\n\r\nexport default router;\r\n","const session = {\r\n namespaced: false,\r\n state: () => ({\r\n appName: undefined,\r\n appIcon: undefined,\r\n siteId: undefined,\r\n checkId: undefined,\r\n expirationTicks: undefined,\r\n accountId: undefined,\r\n siteNumber: undefined, \r\n checkNumber: undefined,\r\n businessDate: undefined,\r\n checkOpenDateTime: undefined,\r\n checkTotal: undefined,\r\n showLoadingSpinner: false,\r\n showLoadingBlocker: false,\r\n showLoadingMessage: false,\r\n loadingMessage: undefined,\r\n check: null,\r\n tip: 0,\r\n tempTip: 0, // Used to display unconfirmed tip in Tip view.\r\n selectedTipOption: null,\r\n isCheckDetailsShown: true,\r\n payment: null,\r\n googlePayScriptLoaded: false,\r\n brainTreeGooglePayComponent: null,\r\n googlePaymentClient: null,\r\n creditCardInitCompleted: false,\r\n creditCardPaymentClient: null,\r\n spriteImagesReady: false,\r\n paymentProcessor: undefined,\r\n paymentId: undefined,\r\n paymentMethod: 0\r\n }),\r\n mutations: {\r\n setSessionIds(state, payload) {\r\n state.siteId = payload.siteId;\r\n state.checkId = payload.checkId;\r\n state.expirationTicks = payload.expirationTicks;\r\n state.accountId = payload.accountId;\r\n state.siteNumber = payload.siteNumber;\r\n state.checkNumber = payload.checkNumber;\r\n state.businessDate = payload.businessDate;\r\n state.checkOpenDateTime = payload.checkOpenDateTime;\r\n state.checkTotal = payload.checkTotal;\r\n state.paymentId = payload.paymentId;\r\n state.paymentMethod = payload.paymentMethod;\r\n },\r\n setLoadingStatus(state, value) {\r\n if (typeof value === \"boolean\") {\r\n state.showLoadingSpinner = value;\r\n state.showLoadingBlocker = value;\r\n state.showLoadingMessage = false;\r\n state.loadingMessage = undefined;\r\n }\r\n else {\r\n state.showLoadingSpinner = value.showSpinner;\r\n state.showLoadingBlocker = value.showBlocker;\r\n state.showLoadingMessage = value.showMessage;\r\n state.loadingMessage = value.loadingMessage;\r\n }\r\n },\r\n set(state, value) {\r\n state.check = value;\r\n },\r\n setTip(state, payload) {\r\n state.tip = payload.tip;\r\n state.selectedTipOption = payload.selectedTipOption;\r\n },\r\n setTempTip(state, value) {\r\n state.tempTip = value;\r\n },\r\n setIsCheckDetailsShown(state, value) {\r\n state.isCheckDetailsShown = value;\r\n },\r\n setPayment(state, value) {\r\n state.payment = value;\r\n state.check.payments.push(value);\r\n\r\n // 1 is \"Approved\" status.\r\n if (value.paymentStatus === 1) {\r\n state.check.balance -= state.payment.amount;\r\n }\r\n },\r\n updatePayment(state, value) {\r\n state.payment = value;\r\n },\r\n setGooglePayScriptLoaded(state, value) {\r\n state.googlePayScriptLoaded = value;\r\n },\r\n setBrainTreeGooglePayComponent(state, value) {\r\n state.brainTreeGooglePayComponent = value;\r\n },\r\n setGooglePaymentClient(state, value) {\r\n state.googlePaymentClient = value;\r\n },\r\n setCreditCardPaymentClient(state, payload) {\r\n state.creditCardInitCompleted = payload.creditCardInitCompleted;\r\n state.creditCardPaymentClient = payload.creditCardPaymentClient;\r\n },\r\n setSpriteImagesReady(state, value) {\r\n state.spriteImagesReady = value;\r\n },\r\n setCustomization(state, payload) {\r\n state.appName = payload.appName;\r\n state.appIcon = payload.appIcon;\r\n },\r\n setProcessor(state, value) {\r\n state.paymentProcessor = value;\r\n }\r\n },\r\n getters: {\r\n tipTotal: state => {\r\n if (state.check == null || state.check.payments == null) {\r\n return 0;\r\n }\r\n\r\n // 1 is \"Approved\" status.\r\n return state.check.payments\r\n .filter(item => item.paymentStatus === 1)\r\n .reduce((accum, item) => accum + item.tip, 0);\r\n },\r\n taxTotal: state => {\r\n if (state.check == null) {\r\n return 0;\r\n }\r\n\r\n let orderItemsTaxTotal = 0;\r\n\r\n if (state.check.orderItems !== null) {\r\n orderItemsTaxTotal = state.check.orderItems\r\n .reduce((accum, item) => accum + item.tax, 0);\r\n }\r\n\r\n return orderItemsTaxTotal + state.check.gratuityTaxTotal;\r\n },\r\n total: (state, getters) => {\r\n if (state.check == null) {\r\n return 0;\r\n }\r\n\r\n return state.check.subTotal + (state.check.gratuityTotal - state.check.gratuityTaxTotal)\r\n + getters.taxTotal - Math.abs(state.check.taxExempt);\r\n },\r\n // NorthStar pay has different meaning for balance. The value displayed on the views\r\n // (excluding Payment screen) includes the tip.\r\n balanceWithTip: state => {\r\n if (state.check == null) {\r\n return 0;\r\n }\r\n\r\n return state.check.balance + state.tip;\r\n },\r\n balanceWithTempTip: state => {\r\n if (state.check == null) {\r\n return 0;\r\n }\r\n\r\n return state.check.balance + state.tempTip;\r\n },\r\n balance: state => {\r\n if (state.check == null) {\r\n return 0;\r\n }\r\n\r\n // In payments summary, tip shouldn't be included in balance.\r\n return state.check.balance;\r\n }\r\n }\r\n}\r\n\r\nexport default session;","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport Session from \"./session\";\r\n\r\nVue.use(Vuex);\r\n\r\nconst store = new Vuex.Store({\r\n modules: {\r\n session: Session\r\n }\r\n});\r\n\r\nexport default store;\r\n","export default function (value, precision) {\r\n const valueType = typeof value;\r\n\r\n if (valueType !== \"number\") {\r\n const numberValue = Number(value);\r\n\r\n if (isNaN(numberValue)) {\r\n return value;\r\n }\r\n\r\n value = numberValue;\r\n }\r\n\r\n const formatter = new Intl.NumberFormat(\"en-US\", {\r\n minimumFractionDigits: precision\r\n });\r\n\r\n return formatter.format(value);\r\n}","import toCurrency from \"./to-currency\";\r\nimport toFormattedNumber from \"./to-formatted-number\";\r\n\r\nexport default {\r\n install(Vue) {\r\n Vue.filter(\"toCurrency\", toCurrency);\r\n Vue.filter(\"toFormattedNumber\", toFormattedNumber);\r\n }\r\n}","export default {\r\n inserted: function (el) {\r\n el.focus();\r\n }\r\n};","import Vue from \"vue\";\r\nimport Vuelidate from \"vuelidate\";\r\nimport VueSweetAlert2 from \"vue-sweetalert2\";\r\nimport LoadScript from \"vue-plugin-load-script\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport filters from \"./filters\";\r\nimport focus from \"./directives/focus\";\r\nimport VueTimers from 'vue-timers'\r\nimport UUID from \"vue-uuid\";\r\n\r\nVue.config.productionTip = false;\r\nVue.use(filters);\r\nVue.use(Vuelidate);\r\nVue.use(VueSweetAlert2);\r\nVue.use(LoadScript);\r\nVue.use(VueTimers);\r\nVue.use(UUID);\r\nVue.directive(\"focus\", focus);\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount(\"#app\");\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CVVInfo.vue?vue&type=style&index=0&id=0f3b67d5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CVVInfo.vue?vue&type=style&index=0&id=0f3b67d5&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentSummary.vue?vue&type=style&index=0&id=c85ef4c4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentSummary.vue?vue&type=style&index=0&id=c85ef4c4&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailReceipt.vue?vue&type=style&index=0&id=310e5bd8&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailReceipt.vue?vue&type=style&index=0&id=310e5bd8&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/sprites-2x.3c64ae9c.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=style&index=0&id=2656013f&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=style&index=0&id=2656013f&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/sprites.e9e1b1b0.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentOptions.vue?vue&type=style&index=0&id=1da6450e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentOptions.vue?vue&type=style&index=0&id=1da6450e&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Shift4ApplePayGooglePay.vue?vue&type=style&index=0&id=9a18fb16&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Shift4ApplePayGooglePay.vue?vue&type=style&index=0&id=9a18fb16&scoped=true&lang=css&\"","/* eslint-disable */\r\n\r\n// A jQuery plugin to detect magnetic card swipes. Requires a card reader that simulates a keyboard.\r\n// This expects a card that encodes data on track 1, though it also reads tracks 2 and 3. Most cards\r\n// use track 1. This won't recognize cards that don't use track 1, or work with a reader that\r\n// doesn't read track 1.\r\n//\r\n// See http://en.wikipedia.org/wiki/Magnetic_card to understand the format of the data on a card.\r\n//\r\n// Uses pattern at https://github.com/umdjs/umd/blob/master/jqueryPlugin.js to declare\r\n// the plugin so that it works with or without an AMD-compatible module loader, like RequireJS.\r\n//\r\n// NOTE: This version has been modified heavily to support track 1 and 2 (not just 1 only) as well as\r\n// P2PE swipe readers.\r\n\r\n/*\r\n\tIDTech M130 NOTE: To set the pre-amble and post-amble, use the following which is confusing in the \r\n\tdoc:\r\n\t\r\n\tShow all non-defaults\r\n\t32\r\n\t\r\n\tGet pre-amble\r\n\t52 D2\r\n\t\r\n\tSet pre-amble - %*\r\n\t53 D2 03 02 25 2A\r\n\t\r\n\tClear pre-amble\r\n\t53 D2 01 00\r\n\r\n\tGet post-amble\r\n\t52 D3\r\n\r\n\tSet post-amble - \\r\r\n\t53 D3 02 01 0D\r\n\t\r\n\tClear post-amble\r\n\t53 D3 01 00\r\n*/\r\n\r\nimport jQuery from \"jquery\";\r\n\r\n(function (factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(['jquery'], factory);\r\n } else {\r\n // Browser globals\r\n factory(jQuery);\r\n }\r\n}(function ($) {\r\n\r\n\t// State definitions:\r\n\tvar states = { IDLE: 0, PENDING: 1, READING: 1, DISCARD: 2 };\r\n\r\n\t// State names used when debugging.\r\n\tvar stateNames = { 0: 'IDLE', 1: 'READING', 2: 'DISCARD' };\r\n\r\n\t// Holds current state. Update only through state function.\r\n\tvar currentState = states.IDLE;\r\n\t\r\n\t// Gets or sets the current state.\r\n\tvar state = function() {\r\n\r\n\t\tif (arguments.length > 0) {\r\n\t\t\t// Set new state\r\n\t\t\tvar newState = arguments[0];\r\n\t\t\tif (newState == state)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tsettings.debug && console.log(\"%s -> %s\", stateNames[currentState], stateNames[newState]);\r\n\t\t\tsettings.debugElement && settings.debugElement.append(stateNames[currentState] + ' -> ' + stateNames[newState]);\r\n\r\n\t\t\tcurrentState = newState;\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// Get current state\r\n\t\t\treturn currentState;\r\n\t\t}\r\n\r\n\t};\r\n\r\n\t// Array holding scanned characters\r\n\tvar scanbuffer;\r\n\r\n\t// Array holding scanned characters based on a timing block - P2PE support\r\n\tvar p2pe_scanbuffer;\r\n\tvar p2pe_holdobj;\r\n\tvar p2pe_holdobjval;\r\n\tvar p2pe_lasttime = 0;\r\n\t\r\n\t// Interdigit timer\r\n\tvar timerHandle = 0;\r\n\r\n\t// Keypress listener\r\n\tvar listener = function (e) {\r\n\t\tvar processed = false;\r\n\t\tsettings.debug && console.log(e.which + ': ' + String.fromCharCode(e.which));\r\n\t\tprocessP2PE(e.which);\r\n\t\tswitch (state()) {\r\n\r\n\t\t\t// IDLE: Look for '%', and jump to PENDING. Otherwise, pass the keypress through.\r\n\t\t\tcase states.IDLE:\r\n\t\t\t\t// Look for '%'\r\n\t\t\t\tif ((e.which == 37) || (e.which == 59)) {\r\n\t\t\t\t\tstate(states.READING);\r\n\t\t\t\t\tscanbuffer = new Array();\r\n\t\t\t\t\tprocessCode(e.which);\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\tstartTimer();\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t// READING: Copy characters to buffer until newline, then process the scanned characters\r\n\t\t\tcase states.READING:\r\n\t\t\t\tprocessCode(e.which);\r\n\t\t\t\tstartTimer();\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\te.stopPropagation();\r\n\r\n\t\t\t\t// Carriage return indicates end of scan\r\n\t\t\t\tif (e.which == 13) {\r\n\t\t\t\t\tclearTimer();\r\n\t\t\t\t\tstate(states.IDLE);\r\n\t\t\t\t\tprocessed = true;\r\n\t\t\t\t\tprocessScan();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (settings.firstLineOnly && e.which == 63) {\r\n\t\t\t\t\t// End of line 1. Return early, and eat remaining characters.\r\n\t\t\t\t\tstate(states.DISCARD);\r\n\t\t\t\t\tprocessed = true;\r\n\t\t\t\t\tprocessScan();\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t// DISCARD: Eat up characters until newline, then jump to IDLE\r\n\t\t\tcase states.DISCARD:\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\tif (e.which == 13) {\r\n\t\t\t\t\tclearTimer();\r\n\t\t\t\t\tclearP2PE();\r\n\t\t\t\t\tstate(states.IDLE);\r\n\t\t\t\t\treturn;\r\n\r\n\t\t\t\t}\r\n\t\t\t\tstartTimer();\r\n\t\t\t\tbreak;\r\n\r\n\t\t}\r\n\t\tif(!processed && (e.which == 13)) {\r\n\t\t\tsettings.debug && console.log(\"P2PE check\");\r\n\t\t\tif(isValidP2PE(p2pe_scanbuffer.join(''))) {\r\n\t\t\t\tclearTimer();\r\n\t\t\t\tstate(states.IDLE);\r\n\t\t\t\tprocessed = true;\r\n\t\t\t\tprocessScan();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t};\r\n\r\n\t// Converts a scancode to a character and appends it to the buffer.\r\n\tvar processP2PE = function (code) {\r\n\t\tvar now = new Date().getTime();\r\n\t\tif((p2pe_lasttime + settings.interdigitTimeout) < now) {\r\n\t\t\tsettings.debug && p2pe_scanbuffer.length && console.log(\"P2PE timeout\");\r\n\t\t\tclearP2PE();\r\n\t\t}\r\n\t\tp2pe_scanbuffer.push(String.fromCharCode(code));\r\n\t\tp2pe_lasttime = now;\r\n\t};\r\n\r\n\tvar clearP2PE = function () {\r\n\t\tp2pe_focusobj = $(':focus');\r\n\t\tp2pe_focusobjval = p2pe_focusobj.val();\r\n\t\tp2pe_scanbuffer = new Array();\r\n\t};\r\n\t\r\n\tvar isValidP2PE = function(rawData) {\r\n\t\treturn parseP2PE(rawData).valid;\r\n\t}\r\n\r\n\tvar parseP2PE = function(rawData) {\r\n\t\tvar p1 = /^%\\*/;\r\n\t\tif(p1.exec(rawData)) {\r\n\t\t\tsettings.debug && p2pe_scanbuffer.length && console.log(\"Preamble found - stripping\");\r\n\t\t\trawData = rawData.substr(2,rawData.length);\r\n\t\t}\r\n\t\tvar result = createCardResult();\r\n\t\tsettings.debug && console.log(\"P2PE parsing: %s\", rawData);\r\n\t\tif(!result.valid) {\r\n\t\t\tparseP2PE_idtech(rawData,result);\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\t\r\n\tvar parseP2PE_idtech = function(rawData,result) {\r\n\t\tvar idtech = /^02[0-9A-F]{4}/i,\r\n\t\t\tp1 = /^%\\*/i,\r\n\t\t\tt1 = /%\\*\\d{4,6}\\**\\d{4}[\\^][^\\^]*[\\^]\\d{4}[^\\?\\%\\;]*[\\?]?/i,\r\n\t\t\tt2 = /;\\d{4,6}\\**\\d{4}\\=\\d{4}[^\\?\\%\\;]*[\\?]?/i,\r\n\t\t\tfound, len, a;\r\n\t\tfound = idtech.exec(rawData);\r\n\t\tif(found) {\r\n\t\t\tlen = parseInt(rawData.substr(4,2)+rawData.substr(2,2),16);\r\n\t\t\tif((rawData.length>=(len+12)) && rawData.substr(len+10,2)=='03') {\r\n\t\t\t\trawData = rawData.substr(0,len+12);\r\n\r\n\t\t\t\t// track 1\r\n\t\t\t\tfound = t1.exec(rawData);\r\n\t\t\t\tif(found) {\r\n\t\t\t\t\tresult.track1 = found[0];\r\n\t\t\t\t\ta = result.track1.split('^');\r\n\t\t\t\t\tresult.cardNumber = a[0].substr(2,20);\r\n\t\t\t\t\tresult.maskedCardNumber = result.cardNumber;\r\n\t\t\t\t\tresult.expirationYear = parseInt(a[2].substr(0,2));\r\n\t\t\t\t\tresult.expirationMonth = parseInt(a[2].substr(2,2));\r\n\t\t\t\t\tresult.cardholderName = a[1];\r\n\t\t\t\t\tresult.valid = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// track 2\r\n\t\t\t\tfound = t2.exec(rawData);\r\n\t\t\t\tif(found) {\r\n\t\t\t\t\tresult.track2 = found[0];\r\n\t\t\t\t\ta = result.track2.split('=');\r\n\t\t\t\t\tresult.cardNumber = a[0].substr(1,20);\r\n\t\t\t\t\tresult.maskedCardNumber = result.cardNumber;\r\n\t\t\t\t\tresult.expirationYear = parseInt(a[1].substr(0,2));\r\n\t\t\t\t\tresult.expirationMonth = parseInt(a[1].substr(2,2));\r\n\t\t\t\t\tresult.valid = true;\r\n\t\t\t\t}\r\n\t\t\t\tif((result.expirationYear>0) || (result.expirationMonth>0)) {\r\n\t\t\t\t\tif(((result.expirationMonth==0) || (result.expirationMonth>12)) && (result.expirationYear>=1) && (result.expirationYear<=12)) {\r\n\t\t\t\t\t\t// swap the two\r\n\t\t\t\t\t\tvar m = result.expirationYear;\r\n\t\t\t\t\t\tresult.expirationYear = result.expirationMonth;\r\n\t\t\t\t\t\tresult.expirationMonth = m;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresult.expirationYear += 2000;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// mask the card information consistently\r\n\t\t\t\tif(result.maskedCardNumber) {\r\n\t\t\t\t\tvar re = /^(\\d{4}).*(\\d{4})$/;\r\n\t\t\t\t\tresult.maskedCardNumber = result.maskedCardNumber.replace(re,\"$1********$2\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(result.valid) {\r\n\t\t\t\t\tresult.device = 'idtech';\r\n\t\t\t\t\tresult.encrypted = rawData;\r\n\t\t\t\t\tsettings.debug && console.log(\"P2PE IDTech format found:\", result);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdisplayCardSwipeError();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Converts a scancode to a character and appends it to the buffer.\r\n\tvar processCode = function (code) {\r\n\t\tscanbuffer.push(String.fromCharCode(code));\r\n\t}\r\n\r\n\tvar startTimer = function () {\r\n\t\tclearTimeout(timerHandle);\r\n\t\ttimerHandle = setTimeout(onTimeout, settings.interdigitTimeout);\r\n\t};\r\n\r\n\tvar clearTimer = function () {\r\n\t\tclearTimeout(timerHandle);\r\n\t\ttimerHandle = 0;\r\n\t};\r\n\r\n\t// Invoked when the timer lapses.\r\n\tvar onTimeout = function () {\r\n\t\tsettings.debug && console.log('Timeout!');\r\n\t\tif (state() == states.READING) {\r\n\t\t\tprocessScan();\r\n\t\t}\r\n\t\tclearP2PE();\r\n\t\tscanbuffer = null;\r\n\t\tstate(states.IDLE);\r\n\t};\r\n\r\n\t// common result structure used by parsers\r\n\tvar createCardResult = function() {\r\n\t\treturn {\r\n\t\t\tvalid: false,\r\n\t\t\tdevice: 'unknown',\r\n\t\t\ttrack1: null,\r\n\t\t\ttrack2: null,\r\n\t\t\tencrypted: null,\r\n\t\t\tmaskedCardNumber: null,\r\n\t\t\tcardNumber: null,\r\n\t\t\texpirationMonth: 0,\r\n\t\t\texpirationYear: 0,\r\n\t\t\tcardholderName: null\r\n\t\t};\r\n\t}\r\n\r\n\t// Processes the scanned card\r\n\tvar processScan = function () {\t\r\n\t\tvar parsedData, rawData;\r\n\r\n\t\tclearTimer();\r\n\t\tstate(states.IDLE);\r\n\r\n\t\tsettings.debug && console.log('p2pe_scanbuffer: ', p2pe_scanbuffer);\r\n\t\trawData = p2pe_scanbuffer.join('');\r\n\t\tparsedData = parseP2PE(rawData);\r\n\t\tif(parsedData.valid) {\r\n\t\t\tp2pe_focusobj.val(p2pe_focusobjval);\r\n\t\t\tclearP2PE();\r\n\t\t} else {\r\n\t\t\t// Invoke client parser and callbacks -- client parser only has access to non-P2PE data\r\n\t\t\tsettings.debug && console.log('scanbuffer: ', scanbuffer);\r\n\t\t\trawData = scanbuffer.join('');\r\n\t\t\tparsedData = settings.parser.call(this, rawData);\r\n\t\t}\r\n\r\n\t\tif (parsedData!==null && typeof parsedData===\"object\" && parsedData.valid) {\r\n\t\t\tsettings.debug && console.log('swipe success:',typeof settings.success);\r\n\t\t\t(typeof settings.success===\"function\") && settings.success.call(this, parsedData);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsettings.debug && console.log('swipe failure:',typeof settings.error);\r\n\t\t\t(typeof settings.error===\"function\") && settings.error.call(this, rawData);\r\n\t\t\tdisplayCardSwipeError();\r\n\t\t}\r\n\t};\r\n\r\n\t// Binds the event listener\r\n\tvar bindListener = function () {\r\n\t\t$(document).bind(\"keypress.cardswipe\", listener);\r\n\t};\r\n\r\n\t// Unbinds the event listener\r\n\tvar unbindListener = function () {\r\n\t\t$(document).unbind(\".cardswipe\");\r\n\t};\r\n\r\n\t// Default parser. Separates raw data into up to three lines\r\n\tvar defaultParser = function (rawData) {\r\n\t\tvar t1 = /%B[\\d\\s]+[\\^][^\\^]*[\\^]\\d{4}[^\\?\\%\\;]*[\\?]?/i,\r\n\t\t\tt2 = /;\\d+\\=\\d{4}\\d+[\\?]?/i,\r\n\t\t\tp1 = /%\\*/,\r\n\t\t\tfound, a,\r\n\t\t\tcardData = createCardResult();\r\n\r\n\t\t// p2pe first\r\n\t\tclearP2PE();\r\n\t\tif(p1.exec(rawData)) {\r\n\t\t\tsettings.debug && console.log(\"Preamble found - parsing as P2PE\");\r\n\t\t\tcardData = parseP2PE(rawData);\r\n\t\t}\r\n\t\tif(!cardData.valid) {\r\n\t\t\t// now the non-safe stuff -- non-p2pe\r\n\t\t\tfound = t1.exec(rawData);\r\n\t\t\tif (found) {\r\n\t\t\t\tcardData.track1 = found[0];\r\n\t\t\t\tcardData.valid = true;\r\n\t\t\t\ta = cardData.track1.split('^');\r\n\t\t\t\tcardData.cardNumber = a[0].substr(2,20);\r\n\t\t\t\tcardData.maskedCardNumber = cardData.cardNumber;\r\n\t\t\t\tcardData.expirationYear = parseInt(a[2].substr(0,2));\r\n\t\t\t\tcardData.expirationMonth = parseInt(a[2].substr(2,2));\r\n\t\t\t\tcardData.cardholderName = a[1];\r\n\t\t\t\tsettings.debug && console.log(\"Track 1 found\");\r\n\t\t\t}\r\n\t\r\n\t\t\tfound = t2.exec(rawData);\r\n\t\t\tif (found) {\r\n\t\t\t\tcardData.track2 = found[0];\r\n\t\t\t\tcardData.valid = true;\r\n\t\t\t\ta = cardData.track2.split('=');\r\n\t\t\t\tcardData.cardNumber = a[0].substr(1,20);\r\n\t\t\t\tcardData.maskedCardNumber = cardData.cardNumber;\r\n\t\t\t\tcardData.expirationYear = parseInt(a[1].substr(0,2));\r\n\t\t\t\tcardData.expirationMonth = parseInt(a[1].substr(2,2));\r\n\t\t\t\tsettings.debug && console.log(\"Track 2 found\");\r\n\t\t\t}\r\n\r\n\t\t\tif((cardData.expirationYear>0) || (cardData.expirationMonth>0)) {\r\n\t\t\t\tif(((cardData.expirationMonth==0) || (cardData.expirationMonth>12)) && (cardData.expirationYear>=1) && (cardData.expirationYear<=12)) {\r\n\t\t\t\t\t// swap the two\r\n\t\t\t\t\tvar m = cardData.expirationYear;\r\n\t\t\t\t\tcardData.expirationYear = cardData.expirationMonth;\r\n\t\t\t\t\tcardData.expirationMonth = m;\r\n\t\t\t\t}\r\n\t\t\t\tcardData.expirationYear += 2000;\r\n\t\t\t}\r\n\r\n\t\t\t// mask the card information\r\n\t\t\tif(cardData.maskedCardNumber) {\r\n\t\t\t\tvar re = /^(\\d{4}).*(\\d{4})$/;\r\n\t\t\t\tcardData.maskedCardNumber = cardData.maskedCardNumber.replace(re,\"$1********$2\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn cardData.valid ? cardData : null;\r\n\t};\r\n\r\n\t// Default callback used if no other specified. Works with default parser.\r\n\tvar defaultSuccessCallback = function (cardData) {\r\n\t\tvar text = ['Success!\\Track 1: ', cardData.track1, '\\nTrack 2: ', cardData.track2, '\\nTrack 3: ', cardData.track3].join('');\r\n\t\talert(text);\r\n\t};\r\n\r\n\t// Defaults for settings\r\n\tvar defaults = {\r\n\t\tenabled: true,\r\n\t\tinterdigitTimeout: 100,\r\n\t\tsuccess: defaultSuccessCallback,\r\n\t\terror: null,\r\n\t\tparser: defaultParser,\r\n\t\tfirstLineOnly: false,\r\n\t\tdebug: false\r\n\t};\r\n\r\n\t// Plugin actual settings\r\n\tvar settings;\r\n\r\n\r\n\t// Callable plugin methods\r\n\tvar methods = {\r\n\t\tinit: function (options) {\r\n\t\t\tsettings = $.extend(defaults, options || {});\r\n\t\t\tclearP2PE();\r\n\t\t\tif (settings.enabled)\r\n\t\t\t\tmethods.enable();\r\n\t\t},\r\n\r\n\t\tdisable: function (options) {\r\n\t\t\tunbindListener();\r\n\t\t},\r\n\r\n\t\tenable: function (options) {\r\n\t\t\tbindListener();\r\n\t\t}\r\n\t};\r\n\r\n\r\n\t// The extension proper. Dispatches methods using the usual jQuery pattern.\r\n\t$.cardswipe = function (method) {\r\n\t\t// Method calling logic. If named method exists, execute it with passed arguments\r\n\t\tif (methods[method]) {\r\n\t\t\treturn methods[method].apply(this, Array.prototype.slice.call(arguments, 1));\r\n\t\t}\r\n\t\t// If no argument, or an object passed, invoke init method.\r\n\t\telse if (typeof method === 'object' || !method) {\r\n\t\t\treturn methods.init.apply(this, arguments);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthrow 'Method ' + method + ' does not exist on jQuery.cardswipe';\r\n\t\t}\r\n\t}\r\n\r\n}));\r\n\r\nfunction displayCardSwipeError() {\r\n\tvar errDlg = $(\"#error-dialog\");\r\n\r\n\tif(!errDlg.length) {\r\n\t\terrDlg = $(\"#container\");\r\n\t\tif(!errDlg.length) {\r\n\t\t\terrDlg = $(\"body\");\r\n\t\t}\r\n\t\terrDlg.prepend(\"
\");\r\n\t\terrDlg = $(\"#error-dialog\");\r\n\t}\r\n\terrDlg.html(\"Swipe Error: There was an error reading the card. Please try again or use a different card.\");\r\n\terrDlg.show().removeClass(\"hidden\");\r\n\t$(window).resize();\r\n}","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewHeader.vue?vue&type=style&index=0&id=1e87aee2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewHeader.vue?vue&type=style&index=0&id=1e87aee2&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NsPay.vue?vue&type=style&index=0&id=7d535330&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NsPay.vue?vue&type=style&index=0&id=7d535330&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/back-of-credit-card.c4c50468.png\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Balance.vue?vue&type=style&index=0&id=0e730bf7&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Balance.vue?vue&type=style&index=0&id=0e730bf7&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTA2LTIzVDEyOjA4OjQxLTA3OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wNi0yNlQxNzoyMTo1OS0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNi0yNlQxNzoyMTo1OS0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphMzQ1MWJlYi00NmYxLTk4NDEtOWU1Ny02NTZlYjAwNzJiZTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6YTM0NTFiZWItNDZmMS05ODQxLTllNTctNjU2ZWIwMDcyYmU4IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YTM0NTFiZWItNDZmMS05ODQxLTllNTctNjU2ZWIwMDcyYmU4Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphMzQ1MWJlYi00NmYxLTk4NDEtOWU1Ny02NTZlYjAwNzJiZTgiIHN0RXZ0OndoZW49IjIwMjAtMDYtMjNUMTI6MDg6NDEtMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6XOlfeAAAAxklEQVQ4jaXUTwuCQBCH4d8qKN06Jt2CrFsaZH33iC4idYq6hf0xLTDrIwjTLWpb16ne2zI8sIdhBBHh1wzpvVpvhBDx/sDS9B6A/nACWNt4R3XJOM0ugNXzA46XMRGd0jPTKzDfqzHTV2KO1+Gndz21r8FEVNzuzXanOxgB9nQ2fx3JS/JZmmVlWQKAaTpOS7ckUmG0AGzXC2A08mvxxbf1UodrZSXmSDVmSgUOoyVTKjCAnj/mSAU+JgmAvKiXRCTojzP0AC3xQOCqonNiAAAAAElFTkSuQmCC\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardShift4.vue?vue&type=style&index=0&id=7bcf9a9d&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreditCardShift4.vue?vue&type=style&index=0&id=7bcf9a9d&scoped=true&lang=css&\"","/* eslint-disable */\r\n\r\n/*\r\n\tjquery.i4goTrueToken.js\r\n\r\n\tjQuery plug-in to (hopefully) simplify the i4Go integration process.\r\n\t\r\n\tDEPENDANCIES:\r\n\t\tjQuery.js version 2.0+\r\n\r\n\tCopyright (c) 2015 Shift4 Corporation - ALL RIGHTS RESERVED\r\n*/\r\n\r\nimport jQuery from \"jquery\";\r\n\r\n//\tEnsures there will be no 'console is undefined' errors.\r\nwindow.console = window.console || (function() {\r\n\tvar c = {};\r\n\tc.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(s) {};\r\n\treturn c;\r\n})();\r\nconsole = console || window.console;\r\n\r\n\r\n/*!\r\n * jQuery postMessage - v0.5 - 9/11/2009\r\n * http://benalman.com/projects/jquery-postmessage-plugin/\r\n * \r\n * Copyright (c) 2009 \"Cowboy\" Ben Alman\r\n * Dual licensed under the MIT and GPL licenses.\r\n * http://benalman.com/about/license/\r\n */\r\n\r\n// Script: jQuery postMessage: Cross-domain scripting goodness\r\n//\r\n// *Version: 0.5, Last updated: 9/11/2009*\r\n// \r\n// Project Home - http://benalman.com/projects/jquery-postmessage-plugin/\r\n// GitHub - http://github.com/cowboy/jquery-postmessage/\r\n// Source - http://github.com/cowboy/jquery-postmessage/raw/master/jquery.ba-postmessage.js\r\n// (Minified) - http://github.com/cowboy/jquery-postmessage/raw/master/jquery.ba-postmessage.min.js (0.9kb)\r\n// \r\n// About: License\r\n// \r\n// Copyright (c) 2009 \"Cowboy\" Ben Alman,\r\n// Dual licensed under the MIT and GPL licenses.\r\n// http://benalman.com/about/license/\r\n// \r\n// About: Examples\r\n// \r\n// This working example, complete with fully commented code, illustrates one\r\n// way in which this plugin can be used.\r\n// \r\n// Iframe resizing - http://benalman.com/code/projects/jquery-postmessage/examples/iframe/\r\n// \r\n// About: Support and Testing\r\n// \r\n// Information about what version or versions of jQuery this plugin has been\r\n// tested with and what browsers it has been tested in.\r\n// \r\n// jQuery Versions - 1.3.2\r\n// Browsers Tested - Internet Explorer 6-8, Firefox 3, Safari 3-4, Chrome, Opera 9.\r\n// \r\n// About: Release History\r\n// \r\n// 0.5 - (9/11/2009) Improved cache-busting\r\n// 0.4 - (8/25/2009) Initial release\r\n\r\n// START: Inline polyfill for IE\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#polyfill\r\nif (typeof Object.assign !== 'function') {\r\n\t// Must be writable: true, enumerable: false, configurable: true\r\n\tObject.defineProperty(Object, \"assign\", {\r\n\t value: function assign(target, varArgs) { // .length of function is 2\r\n\t\t'use strict';\r\n\t\tif (target === null || target === undefined) {\r\n\t\t throw new TypeError('Cannot convert undefined or null to object');\r\n\t\t}\r\n \r\n\t\tvar to = Object(target);\r\n \r\n\t\tfor (var index = 1; index < arguments.length; index++) {\r\n\t\t var nextSource = arguments[index];\r\n \r\n\t\t if (nextSource !== null && nextSource !== undefined) {\r\n\t\t\tfor (var nextKey in nextSource) {\r\n\t\t\t // Avoid bugs when hasOwnProperty is shadowed\r\n\t\t\t if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\r\n\t\t\t\tto[nextKey] = nextSource[nextKey];\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t }\r\n\t\t}\r\n\t\treturn to;\r\n\t },\r\n\t writable: true,\r\n\t configurable: true\r\n\t});\r\n }\r\n\r\n \r\nif (!String.prototype.startsWith) {\r\n Object.defineProperty(String.prototype, 'startsWith', {\r\n value: function(search, rawPos) {\r\n var pos = rawPos > 0 ? rawPos|0 : 0;\r\n return this.substring(pos, pos + search.length) === search;\r\n }\r\n });\r\n}\r\n\r\n// END: Inline polyfill for IE\r\n\r\n\r\n\r\n(function($) {\r\n\t'$:nomunge'; // Used by YUI compressor.\r\n\r\n\t// A few vars used in non-awesome browsers.\r\n\tvar interval_id,\r\n\t\tlast_hash,\r\n\t\tcache_bust = 1,\r\n\r\n\t\t// A var used in awesome browsers.\r\n\t\trm_callback,\r\n\r\n\t\t// A few convenient shortcuts.\r\n\t\t// window = this, // Removing this property 'this' is undefined for ES6 strict javascript\r\n\t\tFALSE = !1,\r\n\r\n\t\t// Reused internal strings.\r\n\t\tpostMessage = 'postMessage',\r\n\t\taddEventListener = 'addEventListener',\r\n\r\n\t\tp_receiveMessage,\r\n\r\n\t\t// I couldn't get window.postMessage to actually work in Opera 9.64!\r\n\t\thas_postMessage = window[postMessage]; // && !$.browser.opera;\r\n\r\n\t// Method: jQuery.postMessage\r\n\t// \r\n\t// This method will call window.postMessage if available, setting the\r\n\t// targetOrigin parameter to the base of the target_url parameter for maximum\r\n\t// security in browsers that support it. If window.postMessage is not available,\r\n\t// the target window's location.hash will be used to pass the message. If an\r\n\t// object is passed as the message param, it will be serialized into a string\r\n\t// using the jQuery.param method.\r\n\t// \r\n\t// Usage:\r\n\t// \r\n\t// > jQuery.postMessage( message, target_url [, target ] );\r\n\t// \r\n\t// Arguments:\r\n\t// \r\n\t// message - (String) A message to be passed to the other frame.\r\n\t// message - (Object) An object to be serialized into a params string, using\r\n\t// the jQuery.param method.\r\n\t// target_url - (String) The URL of the other frame this window is\r\n\t// attempting to communicate with. This must be the exact URL (including\r\n\t// any query string) of the other window for this script to work in\r\n\t// browsers that don't support window.postMessage.\r\n\t// target - (Object) A reference to the other frame this window is\r\n\t// attempting to communicate with. If omitted, defaults to `parent`.\r\n\t// \r\n\t// Returns:\r\n\t// \r\n\t// Nothing.\r\n\r\n\t$[postMessage] = function(message, target_url, target) {\r\n\t\tif (!target_url) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Serialize the message if not a string. Note that this is the only real\r\n\t\t// jQuery dependency for this script. If removed, this script could be\r\n\t\t// written as very basic JavaScript.\r\n\t\tmessage = typeof message === 'string' ? message : $.param(message);\r\n\r\n\t\t// Default to parent if unspecified.\r\n\t\ttarget = target || parent;\r\n\r\n\t\tif (has_postMessage) {\r\n\t\t\t// The browser supports window.postMessage, so call it with a targetOrigin\r\n\t\t\t// set appropriately, based on the target_url parameter.\r\n\t\t\ttarget[postMessage](message, target_url.replace(/([^:]+:\\/\\/[^\\/]+).*/, '$1'));\r\n\r\n\t\t} else if (target_url) {\r\n\t\t\t// The browser does not support window.postMessage, so set the location\r\n\t\t\t// of the target to target_url#message. A bit ugly, but it works! A cache\r\n\t\t\t// bust parameter is added to ensure that repeat messages trigger the\r\n\t\t\t// callback.\r\n\t\t\ttarget.location = target_url.replace(/#.*$/, '') + '#' + (+new Date) + (cache_bust++) + '&' + message;\r\n\t\t}\r\n\t};\r\n\r\n\t// Method: jQuery.receiveMessage\r\n\t// \r\n\t// Register a single callback for either a window.postMessage call, if\r\n\t// supported, or if unsupported, for any change in the current window\r\n\t// location.hash. If window.postMessage is supported and source_origin is\r\n\t// specified, the source window will be checked against this for maximum\r\n\t// security. If window.postMessage is unsupported, a polling loop will be\r\n\t// started to watch for changes to the location.hash.\r\n\t// \r\n\t// Note that for simplicity's sake, only a single callback can be registered\r\n\t// at one time. Passing no params will unbind this event (or stop the polling\r\n\t// loop), and calling this method a second time with another callback will\r\n\t// unbind the event (or stop the polling loop) first, before binding the new\r\n\t// callback.\r\n\t// \r\n\t// Also note that if window.postMessage is available, the optional\r\n\t// source_origin param will be used to test the event.origin property. From\r\n\t// the MDC window.postMessage docs: This string is the concatenation of the\r\n\t// protocol and \"://\", the host name if one exists, and \":\" followed by a port\r\n\t// number if a port is present and differs from the default port for the given\r\n\t// protocol. Examples of typical origins are https://example.org (implying\r\n\t// port 443), http://example.net (implying port 80), and http://example.com:8080.\r\n\t// \r\n\t// Usage:\r\n\t// \r\n\t// > jQuery.receiveMessage( callback [, source_origin ] [, delay ] );\r\n\t// \r\n\t// Arguments:\r\n\t// \r\n\t// callback - (Function) This callback will execute whenever a \r\n\t// message is received, provided the source_origin matches. If callback is\r\n\t// omitted, any existing receiveMessage event bind or polling loop will be\r\n\t// canceled.\r\n\t// source_origin - (String) If window.postMessage is available and this value\r\n\t// is not equal to the event.origin property, the callback will not be\r\n\t// called.\r\n\t// source_origin - (Function) If window.postMessage is available and this\r\n\t// function returns false when passed the event.origin property, the\r\n\t// callback will not be called.\r\n\t// delay - (Number) An optional zero-or-greater delay in milliseconds at\r\n\t// which the polling loop will execute (for browser that don't support\r\n\t// window.postMessage). If omitted, defaults to 100.\r\n\t// \r\n\t// Returns:\r\n\t// \r\n\t// Nothing!\r\n\r\n\t$.receiveMessage = p_receiveMessage = function(callback, source_origin, delay) {\r\n\t\tif (has_postMessage) {\r\n\t\t\t// Since the browser supports window.postMessage, the callback will be\r\n\t\t\t// bound to the actual event associated with window.postMessage.\r\n\r\n\t\t\tif (callback) {\r\n\t\t\t\t// Unbind an existing callback if it exists.\r\n\t\t\t\trm_callback && p_receiveMessage();\r\n\r\n\t\t\t\t// Bind the callback. A reference to the callback is stored for ease of\r\n\t\t\t\t// unbinding.\r\n\t\t\t\trm_callback = function(e) {\r\n\t\t\t\t\tif ((typeof source_origin === 'string' && e.origin !== source_origin) ||\r\n\t\t\t\t\t\t($.isFunction(source_origin) && source_origin(e.origin) === FALSE)) {\r\n\t\t\t\t\t\treturn FALSE;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcallback(e);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tif (window[addEventListener]) {\r\n\t\t\t\twindow[callback ? addEventListener : 'removeEventListener']('message', rm_callback, FALSE);\r\n\t\t\t} else {\r\n\t\t\t\twindow[callback ? 'attachEvent' : 'detachEvent']('onmessage', rm_callback);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// Since the browser sucks, a polling loop will be started, and the\r\n\t\t\t// callback will be called whenever the location.hash changes.\r\n\r\n\t\t\tinterval_id && clearInterval(interval_id);\r\n\t\t\tinterval_id = null;\r\n\r\n\t\t\tif (callback) {\r\n\t\t\t\tdelay = typeof source_origin === 'number' ?\r\n\t\t\t\t\tsource_origin :\r\n\t\t\t\t\ttypeof delay === 'number' ?\r\n\t\t\t\t\tdelay :\r\n\t\t\t\t\t100;\r\n\r\n\t\t\t\tinterval_id = setInterval(function() {\r\n\t\t\t\t\tvar hash = document.location.hash,\r\n\t\t\t\t\t\tre = /^#?\\d+&/;\r\n\t\t\t\t\tif (hash !== last_hash && re.test(hash)) {\r\n\t\t\t\t\t\tlast_hash = hash;\r\n\t\t\t\t\t\tcallback({\r\n\t\t\t\t\t\t\tdata: hash.replace(re, '')\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}, delay);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n})(jQuery);\r\n\r\n/*\r\n * END OF jQuery postMessage\r\n */\r\n\r\n\r\n/*\r\n *\tShift4 i4Go stuff starts here.\r\n */\r\n(function(factory) {\r\n\tif (typeof define === \"function\" && define.amd) {\r\n\t\tdefine([\"jquery\"], factory);\r\n\t} else {\r\n\t\tfactory(jQuery);\r\n\t}\r\n}(function($) {\r\n\r\n\t$.extend($.fn, {\r\n\t\ti4goTrueToken: function(options) {\r\n\r\n\t\t\t// if nothing is selected, return nothing; can't chain anyway\r\n\t\t\tif (!this.length) {\r\n\t\t\t\tconsole.warn(\"i4goTrueToken - Nothing selected; can't create iframe and linkage; returning nothing.\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// check if a validator for this form was already created\r\n\t\t\tvar i4goTrueTokenFramer = $.data(this[0], \"i4goTrueTokenFramer\");\r\n\t\t\tif (i4goTrueTokenFramer) {\r\n\t\t\t\treturn i4goTrueTokenFramer;\r\n\t\t\t}\r\n\r\n\t\t\ti4goTrueTokenFramer = new $.i4goTrueTokenFramer(options, this[0]);\r\n\t\t\t$.data(this[0], \"i4goTrueTokenFramer\", i4goTrueTokenFramer);\r\n\r\n\t\t\treturn i4goTrueTokenFramer;\r\n\t\t}\r\n\t});\r\n\r\n\t// constructor for validator\r\n\t$.i4goTrueTokenFramer = function(options, form) {\r\n\t\tthis.settings = Object.assign({}, $.i4goTrueTokenFramer.defaults, options);\r\n\t\tthis.walletConfig = null;\r\n\t\tthis.basket = null;\r\n\t\tthis.form = form;\r\n\t\tthis.tranUUID = \"\";\r\n\t\tthis.init();\r\n\t};\r\n\r\n\t// the beast\r\n\t$.extend($.i4goTrueTokenFramer, {\r\n\r\n\t\tdefaults: {\r\n\t\t\tserver: \"\", // REQUIRED from access.i4go.com call (or i4access.shift4test.com)\r\n\t\t\taccessBlock: \"\", // REQUIRED from access.i4go.com call (or i4access.shift4test.com)\r\n\t\t\tself: \"\", // REQUIRED - the full URL used to located the current page - MUST MATCH EXACTLY INCLUDING QUERY PARAMETERS - document.location should work\r\n\t\t\ttemplate: \"bootstrap3-horizontal\",\r\n\t\t\tlanguage: \"en\",\r\n\r\n\t\t\turl: \"\", // If not provided (the default), value will be calculated based on the server value provided\r\n\r\n\t\t\tframeContainer: \"i4goFrame\", // Only used if frameName does not exist\r\n\t\t\tframeName: \"\", // Auto-assigned if left empty\r\n\t\t\tframeAutoResize: true,\r\n\t\t\tframeClasses: \"\",\r\n\r\n\t\t\t// Auto populated form fields. Precedence: field name, field id\r\n\t\t\tformPaymentResponse: \"i4go_response\",\r\n\t\t\tformPaymentResponseCode: \"i4go_responsecode\",\r\n\t\t\tformPaymentResponseText: \"i4go_responsetext\",\r\n\t\t\tformPaymentMaskedCard: \"i4go_maskedcard\",\r\n\t\t\tformPaymentToken: \"i4go_uniqueid\",\r\n\t\t\tformPaymentExpMonth: \"i4go_expirationmonth\",\r\n\t\t\tformPaymentExpYear: \"i4go_expirationyear\",\r\n\t\t\tformPaymentType: \"i4go_cardtype\",\r\n\t\t\tformStreetAddress: \"i4go_streetaddress\",\r\n\t\t\tformPostalCode: \"i4go_postalcode\",\r\n\t\t\tformCardholderName: \"i4go_cardholdername\",\r\n\t\t\tformMetaToken: \"i4go_metatoken\",\r\n\t\t\tformExtendedCardData: \"i4go_extendedcarddata\",\r\n\t\t\tformUToken: \"i4go_utoken\",\r\n\t\t\tformApplePayToken: \"i4go_applepaytoken\",\r\n\t\t\tformGooglePayToken: \"i4go_googlepaytoken\",\r\n\t\t\tformSignedData: \"i4go_signeddata\",\r\n\t\t\tformAutoSubmitOnSuccess: false,\r\n\t\t\tformAutoSubmitOnFailure: false,\r\n\t\t\tgcDisablesExpiration: false,\r\n\t\t\tgcDisablesCVV2Code: false,\r\n\r\n\t\t\t// Events\r\n\t\t\tonSuccess: function(form, data) {\r\n\t\t\t\t//console.log(\"i4goTrueToken - onSuccess()\",data);\r\n\t\t\t},\r\n\t\t\tonFailure: function(form, data) {\r\n\t\t\t\t//console.warn(\"i4goTrueToken - onFailure()\",data);\r\n\t\t\t},\r\n\t\t\tonComplete: function(form, data) {\r\n\t\t\t\t//console.log(\"i4goTrueToken - onComplete()\",data);\r\n\t\t\t},\r\n\r\n\t\t\tacceptedPayments: \"AX,DC,GC,JC,MC,NS,VS\",\r\n\r\n\t\t\ti4goInfo: {\r\n\t\t\t\tvisible: false\r\n\t\t\t},\r\n\r\n\t\t\t// card swipe capabilities\r\n\t\t\tencryptedOnlySwipe: true, // false allows for non-encrypted swipes - not recommended\r\n\r\n\t\t\t// wallet support - apple and google pay\r\n\t\t\twalletsEnabled: false, // this overrides automatically based on the inclusion of wallets.js\r\n\t\t\twallet: {\r\n\t\t\t\tactiveCardRequired: false,\r\n\t\t\t\tnameRequired: null, // true/false/null - null uses addressRequired\r\n\t\t\t\taddressRequired: false,\r\n\t\t\t\temailRequired: false,\r\n\t\t\t\tphoneNumberRequired: false,\r\n\t\t\t\tallowedCountryCodes: [],\r\n\t\t\t\tshippingOptionRequired: false,\r\n\t\t\t\tshippingOptions: [], // first option will be the default\r\n\t\t\t\tshippingType: \"shipping\", // shipping, delivery, storePickup, servicePickup - Apple Pay only?\r\n\r\n\t\t\t\t// For the following button attributes, see google documentation - empty=default\r\n\t\t\t\tbuttonColor: \"\", // default: A Google-selected default value. Currently black but it may change over time (default).\r\n\t\t\t\t// black: A black button suitable for use on white or light backgrounds.\r\n\t\t\t\t// white: A white button suitable for use on colorful backgrounds.\r\n\t\t\t\tbuttonType: \"\", // buy: \"Buy with Google Pay\" button (default).\r\n\t\t\t\t// donate: \"Donate with Google Pay\" button.\r\n\t\t\t\t// plain: Google Pay button without additional text.\r\n\t\t\t\t// translated button label may appear if a language specified in the viewer's browser matches an available language.\r\n\t\t\t\tbuttonSizeMode: \"\", // static: Button has a static width and height (default).\r\n\t\t\t\t// fill: Button size changes to fill the size of its container.\r\n\t\t\t\tbuttonRootNode: \"\", // HTMLDocument or ShadowRoot\r\n\t\t\t\tpaymentInitiatedEvent: function() {}, // CBS added setting to execute preprocessing action like blocking the UI to prevent user from clicking the button again.\r\n\t\t\t\tpaymentErrorEvent: function() {} // CBS added setting to execute action when an error occured or when user exits the google pay dialog like unblocking the UI to allow user to interact with the page again. \r\n },\r\n\t\t\tonWalletEnabled: function(wallet) {\r\n\t\t\t\t// wallet: string, apple-pay, google-pay\r\n\t\t\t\t// DEPRICATED - use onWalletInit instead\r\n\t\t\t\tconsole.log(\"i4goTrueToken - onWalletEnabled()\", wallet);\r\n\t\t\t},\r\n\t\t\tonWalletInit: function(wallet, enabled, reason) {\r\n\t\t\t\t// wallet: string, apple-pay, google-pay\r\n\t\t\t\t// enabled: boolean, true or false\r\n\t\t\t\t// reason: text description, reason for disabled\r\n\t\t\t\tconsole.log(\"i4goTrueToken - onWalletInit()\", wallet, enabled, reason);\r\n\t\t\t},\r\n\t\t\t/**\r\n\t\t\t * Handles dynamic buy flow shipping address and shipping options callback intents. Note, this Shift4 implimentation of this callback differs slightly\r\n\t\t\t * from the native google implimentiation in two aspects:\r\n\t\t\t *\t\t1)\tThe @intermediatePaymentData passed has already gone through the default behaviour of the Shift4 wallet library. This result can be modified\r\n\t\t\t *\t\t\tfurther are recreated from scratch.\r\n\t\t\t *\t\t2)\tThe Shift4 wallet library is handling the promise layer. Simply return the final @intermediatePaymentData.\r\n\t\t\t *\r\n\t\t\t * @param {object} iobj - i4goTrueToken instance\r\n\t\t\t * @param {object} itermediatePaymentData response from Google Pay API a shipping address or shipping option is selected in the payment sheet.\r\n\t\t\t * @param {object} paymentDataRequestUpdate response created by Shift4 wallet default behaviour.\r\n\t\t\t * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#IntermediatePaymentData|IntermediatePaymentData object reference}\r\n\t\t\t *\r\n\t\t\t * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataRequestUpdate|PaymentDataRequestUpdate}\r\n\t\t\t * @returns intermediatePaymentData<{object}> to update the payment sheet.\r\n\t\t\t */\r\n\t\t\tonPaymentDataChanged: null,\r\n\t\t\t/*\r\n\t\t\tfunction( iobj, intermediatePaymentData, paymentDataRequestUpdate ){\r\n\t\t\t\t//console.log(\"i4goTrueToken - onPaymentDataChanged()\",intermediatePaymentData);\r\n\t\t\t\treturn paymentDataRequestUpdate;\r\n\t\t\t},\r\n\t\t\t*/\r\n\r\n\t\t\t// Debug flags: Simply creates additional console log messages so a debugger needs to be running to view. In no event does CHD get logged.\r\n\t\t\tdebug: false, // Parent side\r\n\t\t\tremoteDebug: false // Adds width indicators within the iframe contents to help with frame sizing\r\n\t\t},\r\n\r\n\t\t// http://jqueryvalidation.org/jQuery.validator.setDefaults/\r\n\t\tsetDefaults: function(settings) {\r\n\t\t\treturn Object.assign($.i4goTrueTokenFramer.defaults, settings);\r\n\t\t},\r\n\r\n\t\tapplyDefaults: function(settings) {\r\n\t\t\treturn Object.assign({}, $.i4goTrueTokenFramer.defaults, settings);\r\n\t\t},\r\n\r\n\t\tshippingItemDefaults: {\r\n\t\t\tid: \"\", //\"shipping-001\",\r\n\t\t\tlabel: \"\", //\"Free: Standard shipping\",\r\n\t\t\tdescription: \"\", //\"Free Shipping delivered in 5 business days.\"\r\n\t\t\tprice: 0.00\r\n\t\t},\r\n\r\n\t\tsetShippingItemDefaults: function(item) {\r\n\t\t\treturn Object.assign($.i4goTrueTokenFramer.shippingItemDefaults, item);\r\n\t\t},\r\n\r\n\t\tapplyShippingItemDefaults: function(item) {\r\n\t\t\treturn Object.assign({}, $.i4goTrueTokenFramer.shippingItemDefaults, item);\r\n\t\t},\r\n\r\n\t\tcartItemDefaults: {\r\n\t\t\tname: \"\",\r\n\t\t\tsku: \"\",\r\n\t\t\tquantity: 1,\r\n\t\t\tdescription: \"\",\r\n\t\t\tprice: 0.00\r\n\t\t},\r\n\r\n\t\tsetCartItemDefaults: function(item) {\r\n\t\t\treturn Object.assign($.i4goTrueTokenFramer.cartItemDefaults, item);\r\n\t\t},\r\n\r\n\t\tapplyCartItemDefaults: function(item) {\r\n\t\t\treturn Object.assign({}, $.i4goTrueTokenFramer.cartItemDefaults, item);\r\n\t\t},\r\n\r\n\t\tprototype: {\r\n\r\n\t\t\tinit: function() {\r\n\t\t\t\tthis.settings.walletsEnabled = (typeof i4goWalletsInit === \"function\");\r\n\t\t\t\tvar myself = this,\r\n\t\t\t\t\terr = [];\r\n\r\n\t\t\t\tif (this.settings.debug) {\r\n\t\t\t\t\tconsole.log(\"i4goTrueToken - init()\", this.settings);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!this.settings.frameContainer.trim().length) {\r\n\t\t\t\t\tvar msg = \"Usage Error: i4goTrueToken - frameContainer name not provided.\";\r\n\t\t\t\t\tconsole.error(msg);\r\n\t\t\t\t\terr.push(msg);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.settings.frameContainer.trim().length) {\r\n\t\t\t\t\tthis.container = $(\"#\" + this.settings.frameContainer.trim());\r\n\t\t\t\t\tif (!this.container.length) {\r\n\t\t\t\t\t\t// container not provided so we'll prepend it to the form -- hopefully form is located in the correct position on the page!\r\n\t\t\t\t\t\tif (this.settings.debug) {\r\n\t\t\t\t\t\t\tconsole.log(\"i4goTrueToken - iframe container div '\" + this.settings.frameContainer + \"' not provided -- inserting a default container into form.\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(this.currentForm).prepend(\"
\");\r\n\t\t\t\t\t\tthis.container = $(\"#\" + this.settings.frameContainer.trim());\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!this.container.length) {\r\n\t\t\t\t\t\tvar msg = \"Usage Error: i4goTrueToken - iframe container div '\" + this.settings.frameContainer + \"' not provided\";\r\n\t\t\t\t\t\tconsole.error(msg);\r\n\t\t\t\t\t\terr.push(msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.settings.server.trim().length) {\r\n\t\t\t\t\tvar msg = \"Usage Error: i4goTrueToken - server not provided\";\r\n\t\t\t\t\tconsole.error(msg);\r\n\t\t\t\t\terr.push(msg);\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.settings.accessBlock.trim().length) {\r\n\t\t\t\t\tvar msg = \"Usage Error: i4goTrueToken - accessBlock not provided\";\r\n\t\t\t\t\tconsole.error(msg);\r\n\t\t\t\t\terr.push(msg);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.self.href && (typeof this.settings.self.href === 'string')) {\r\n\t\t\t\t\t// set to string property (IE fix)\r\n\t\t\t\t\tthis.settings.self = this.settings.self.href;\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.settings.self.trim().length) {\r\n\t\t\t\t\tvar msg = \"Usage Error: i4goTrueToken - self not provided\";\r\n\t\t\t\t\tconsole.error(msg);\r\n\t\t\t\t\terr.push(msg);\r\n\t\t\t\t}\r\n\t\t\t\tif (err.length) {\r\n\t\t\t\t\t// can't do anything more for this poor unfortunate sole -- simply return.\r\n\t\t\t\t\talert(err.toString());\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!this.settings.url.trim().length) {\r\n\t\t\t\t\t// Set url based on value of server\r\n\t\t\t\t\tthis.settings.url = \"https://i4m.i4go.com\"; // default to production\r\n\t\t\t\t\tif (this.settings.server.search(/i4go\\-payment\\.shift4test\\.com/i) >= 0) {\r\n\t\t\t\t\t\tthis.settings.url = \"https://i4m.shift4test.com\"; // testing/certify\r\n\t\t\t\t\t} else\r\n\t\t\t\t\tif (this.settings.server.search(/wh\\-i4go\\.s4-test\\.com/i) >= 0) {\r\n\t\t\t\t\t\tthis.settings.url = \"https://wh-i4m.s4-test.com\"; // internal s4-test\r\n\t\t\t\t\t} else\r\n\t\t\t\t\tif (this.settings.server.search(/th\\-i4go\\d\\d\\.shift4\\.com/i) >= 0) {\r\n\t\t\t\t\t\tthis.settings.url = \"http://th-i4m.s4-test.com\"; // trailerhood\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (myself.settings.debug) {\r\n\t\t\t\t\t\tconsole.log(\"i4goTrueToken - i4m calculation:\", this.settings.url);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Setup interframe communication.\r\n\t\t\t\tthis.src = this.settings.url + \"/index.cfm?fuseaction=get.token&i4go_server=\" + encodeURIComponent(this.settings.server) + \"&i4go_accessBlock=\" + encodeURIComponent(this.settings.accessBlock) + \"&i4go_template=\" + encodeURIComponent(this.settings.template) + \"&i4go_language=\" + encodeURIComponent(this.settings.language) + \"&i4go_self=\" + encodeURIComponent(this.settings.self);\r\n\t\t\t\t$.receiveMessage(\r\n\t\t\t\t\tfunction(e) {\r\n\t\t\t\t\t\tif (myself.settings.debug) {\r\n\t\t\t\t\t\t\tconsole.log(\"i4goTrueToken - MESSAGE RECEIVED:\", e);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tmyself.callback(e.data);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tthis.settings.url.replace(/([^:]+:\\/\\/[^\\/]+).*/, '$1')\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// setup frame\r\n\t\t\t\tvar classes = \" class='i4go-frame\" + (this.settings.frameClasses === \"\" ? \"\" : \" \" + this.settings.frameClasses) + \"'\";\r\n\t\t\t\tthis.frameName = \"i4goTT_\" + this.generateUUID();\r\n\t\t\t\tthis.container.html(\"\");\r\n\t\t\t},\r\n\r\n\t\t\tcallback: function(data) {\r\n\t\t\t\tif (this.settings.debug) {\r\n\t\t\t\t\tconsole.log(\"i4goTrueToken - callback() settings:\", this.settings);\r\n\t\t\t\t\tconsole.log(\"i4goTrueToken - callback() BEGIN:\", data);\r\n\t\t\t\t}\r\n\t\t\t\ttry {\r\n\t\t\t\t\tvar isValid = false;\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tdata = JSON.parse(data);\r\n\t\t\t\t\t\tisValid = (typeof data == \"object\") && (typeof data.action == \"string\");\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t// ignoring - assume not for us - apple bug that sends messages destined for other processes\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isValid) {\r\n\t\t\t\t\t\tif (data.action) {\r\n\t\t\t\t\t\t\tswitch (data.action) {\r\n\t\t\t\t\t\t\t\tcase 'basket':\r\n\t\t\t\t\t\t\t\t\tthis.setBasket(data);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'clear':\r\n\t\t\t\t\t\t\t\t\tthis.clearFormValues();\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'get':\r\n\t\t\t\t\t\t\t\t\tthis.sendFormValuesToFrame();\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'resize':\r\n\t\t\t\t\t\t\t\t\tthis.resize(data);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'set':\r\n\t\t\t\t\t\t\t\t\tthis.setFormValues(data);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'settings':\r\n\t\t\t\t\t\t\t\t\tthis.sendSettingsToFrame();\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'test':\r\n\t\t\t\t\t\t\t\t\tthis.test(data);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'tranUUID':\r\n\t\t\t\t\t\t\t\t\tthis.setTranUUID(data);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\tconsole.warn(\"i4goTrueToken - callback() called with unknown action value: \" + data.action);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (err) {\r\n\t\t\t\t\tremoteLog(\"i4goTrueToken - callback() error: \" + err.message + \" (\" + JSON.stringify(data) + \")\");\r\n\t\t\t\t\tconsole.warn(\"i4goTrueToken - callback() error: \" + err.message, data);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.debug) {\r\n\t\t\t\t\tconsole.log(\"i4goTrueToken - callback() END:\", data);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tgetField: function(name) {\r\n\t\t\t\tvar str = \"[name='\" + name + \"']\",\r\n\t\t\t\t\tresult = $(this.form).find(str);\r\n\t\t\t\tif (!result.length) {\r\n\t\t\t\t\tresult = $(\"#\" + name);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.debug) {\r\n\t\t\t\t\tconsole.log(\"i4goTrueToken - getField('\" + str + \"')=\" + (result.length ? \"found\" : \"NOT FOUND\"));\r\n\t\t\t\t}\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\r\n\t\t\tclear: function() {\r\n\t\t\t\tvar frame = $(\"#\" + this.frameName)[0],\r\n\t\t\t\t\tdata = JSON.stringify({\r\n\t\t\t\t\t\taction: 'clear'\r\n\t\t\t\t\t});\r\n\t\t\t\tif (this.settings.debug) {\r\n\t\t\t\t\tconsole.log(\"i4goTrueToken - clear():\", data);\r\n\t\t\t\t}\r\n\t\t\t\t$.postMessage(data, this.src, frame.contentWindow);\r\n\t\t\t\tthis.clearFormValues();\r\n\t\t\t},\r\n\r\n\t\t\tclearFormValues: function() {\r\n\t\t\t\tif (this.settings.debug) {\r\n\t\t\t\t\tconsole.log(\"i4goTrueToken - clearFormValues()\");\r\n\t\t\t\t}\r\n\t\t\t\tthis.getField(this.settings.formPaymentResponse).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formPaymentResponseCode).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formPaymentResponseText).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formPaymentToken).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formPaymentExpMonth).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formPaymentExpYear).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formPaymentType).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formCardholderName).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formStreetAddress).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formPostalCode).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formMetaToken).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formApplePayToken).val(\"\");\r\n\t\t\t\tthis.getField(this.settings.formGooglePayToken).val(\"\");\r\n\t\t\t},\r\n\r\n\t\t\tgenerateUUID: function() {\r\n\t\t\t\tvar d = new Date().getTime();\r\n\t\t\t\tvar uuid = 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n\t\t\t\t\tvar r = (d + Math.random() * 16) % 16 | 0;\r\n\t\t\t\t\td = Math.floor(d / 16);\r\n\t\t\t\t\treturn (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n\t\t\t\t});\r\n\t\t\t\treturn uuid;\r\n\t\t\t},\r\n\r\n\t\t\tonWalletEnabled: function(wallet, enabled, reason) {\r\n\t\t\t\tif (typeof enabled == \"undefined\") {\r\n\t\t\t\t\tenabled = true;\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof reason == \"undefined\") {\r\n\t\t\t\t\treason = \"OK\";\r\n\t\t\t\t}\r\n\t\t\t\t(this.settings.debug) && console.log(\"i4goTrueToken - onWalletEnabled()\", wallet, enabled, reason);\r\n\t\t\t\tif (typeof this.settings.onWalletInit == \"function\") {\r\n\t\t\t\t\tthis.settings.onWalletInit(wallet, enabled, reason);\r\n\t\t\t\t}\r\n\t\t\t\tif (enabled && (typeof this.settings.onWalletEnabled == \"function\")) {\r\n\t\t\t\t\tthis.settings.onWalletEnabled(wallet);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tpropExists: function(obj, prop) {\r\n\t\t\t\tvar parts = prop.split('.');\r\n\t\t\t\tfor (var i = 0, l = parts.length; i < l; i++) {\r\n\t\t\t\t\tvar part = parts[i];\r\n\t\t\t\t\tif (obj !== null && typeof obj === \"object\" && part in obj) {\r\n\t\t\t\t\t\tobj = obj[part];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t},\r\n\r\n\t\t\tremoteLog: function(msg) {\r\n\t\t\t\tvar frame = $(\"#\" + this.frameName)[0],\r\n\t\t\t\t\tdata = JSON.stringify({\r\n\t\t\t\t\t\taction: 'remoteLog',\r\n\t\t\t\t\t\tmsg: msg\r\n\t\t\t\t\t});\r\n\t\t\t\t$.postMessage(data, this.src, frame.contentWindow);\r\n\t\t\t},\r\n\r\n\t\t\tresize: function(data) {\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - resize()\", data);\r\n\t\t\t\tif (this.settings.frameAutoResize) {\r\n\t\t\t\t\t$(\"#\" + this.frameName).css({\"height\":\"auto\",\"min-height\":\"190px\"});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tsendApplePayToFrame: function(paymentToken) {\r\n\t\t\t\tvar frame = $(\"#\" + this.frameName)[0],\r\n\t\t\t\t\tdata = JSON.stringify({\r\n\t\t\t\t\t\taction: 'apple-pay',\r\n\t\t\t\t\t\tpaymentToken: paymentToken\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - sendApplePayToFrame()\");\r\n\t\t\t\t$.postMessage(data, this.src, frame.contentWindow);\r\n\t\t\t\tthis.clearFormValues();\r\n\t\t\t},\r\n\r\n\t\t\tsendGooglePayToFrame: function(paymentToken) {\r\n\t\t\t\tvar frame = $(\"#\" + this.frameName)[0],\r\n\t\t\t\t\tdata = JSON.stringify({\r\n\t\t\t\t\t\taction: 'google-pay',\r\n\t\t\t\t\t\tpaymentToken: paymentToken\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - sendGooglePayToFrame()\");\r\n\t\t\t\t$.postMessage(data, this.src, frame.contentWindow);\r\n\t\t\t\tthis.clearFormValues();\r\n\t\t\t},\r\n\r\n\t\t\tsendFormValuesToFrame: function() {\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - getFormValues()\");\r\n\t\t\t\treturn {\r\n\t\t\t\t\ti4go_uniqueid: this.getFieldVal(this.settings.formToken, \"\"),\r\n\t\t\t\t\ti4go_expirationmonth: this.getFieldVal(this.settings.formExpMonth, \"\"),\r\n\t\t\t\t\ti4go_expirationyear: this.getFieldVal(this.settings.formExpYear, \"\"),\r\n\t\t\t\t\ti4go_cardtype: this.getFieldVal(this.settings.formPaymentType, \"\"),\r\n\t\t\t\t\ti4go_cardholdername: this.getFieldVal(this.settings.formCardholderName, \"\"),\r\n\t\t\t\t\ti4go_streetaddress: this.getFieldVal(this.settings.formStreetAddress, \"\"),\r\n\t\t\t\t\ti4go_postalcode: this.getFieldVal(this.settings.formPostalCode, \"\"),\r\n\t\t\t\t\ti4go_metatoken: this.getFieldVal(this.settings.formMetaToken, \"\"),\r\n\t\t\t\t\ti4go_extendedCardData: this.getFieldVal(this.settings.formExtendedCardData, \"\"),\r\n\t\t\t\t\ti4go_utoken: this.getFieldVal(this.settings.formUToken, \"\")\r\n\t\t\t\t};\r\n\t\t\t},\r\n\r\n\t\t\tsendSettingsToFrame: function() {\r\n\t\t\t\tvar frame = $(\"#\" + this.frameName)[0],\r\n\t\t\t\t\tdata = JSON.stringify({\r\n\t\t\t\t\t\taction: 'settings',\r\n\t\t\t\t\t\tsettings: this.settings\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - sendSettingsToFrame():\", data, this.settings);\r\n\t\t\t\t$.postMessage(data, this.src, frame.contentWindow);\r\n\t\t\t},\r\n\r\n\t\t\t// this function expects a cardswipe result structure\r\n\t\t\tsendSwipeToFrame: function(data) {\r\n\t\t\t\tvar frame = $(\"#\" + this.frameName)[0],\r\n\t\t\t\t\tdata = JSON.stringify({\r\n\t\t\t\t\t\taction: 'swipe',\r\n\t\t\t\t\t\tswipe: data\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - sendSwipeToFrame()\");\r\n\t\t\t\t$.postMessage(data, this.src, frame.contentWindow);\r\n\t\t\t\tthis.clearFormValues();\r\n\t\t\t},\r\n\r\n\t\t\tsetBasket: function(data) {\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - setBasket()\", data, this.settings);\r\n\t\t\t\tthis.walletConfig = data.response.walletConfig;\r\n\t\t\t\tthis.basket = data.response.basket;\r\n\t\t\t\tif (this.settings.walletsEnabled) {\r\n\t\t\t\t\ti4goWalletsInit(this);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tsetFormValues: function(data) {\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - setFormValues()\", data);\r\n\r\n\t\t\t\t// Default all missing properties.\r\n\t\t\t\tvar props = [\r\n\t\t\t\t\t\"i4go_response\",\r\n\t\t\t\t\t\"i4go_responsecode\",\r\n\t\t\t\t\t\"i4go_responsetext\",\r\n\t\t\t\t\t\"i4go_uniqueid\",\r\n\t\t\t\t\t\"i4go_expirationmonth\",\r\n\t\t\t\t\t\"i4go_expirationyear\",\r\n\t\t\t\t\t\"i4go_cardtype\",\r\n\t\t\t\t\t\"i4go_cardholdername\",\r\n\t\t\t\t\t\"i4go_streetaddress\",\r\n\t\t\t\t\t\"i4go_postalcode\",\r\n\t\t\t\t\t\"i4go_metatoken\",\r\n\t\t\t\t\t\"i4go_extendedcarddata\",\r\n\t\t\t\t\t\"i4go_utoken\",\r\n\t\t\t\t\t\"i4go_applepaytoken\",\r\n\t\t\t\t\t\"i4go_googlepaytoken\",\r\n\t\t\t\t\t\"i4go_signeddata\"\r\n\t\t\t\t];\r\n\t\t\t\tfor (var i = 0, l = props.length; i < l; i++) {\r\n\t\t\t\t\tvar prop = props[i];\r\n\t\t\t\t\tif (!this.propExists(data.response, prop)) {\r\n\t\t\t\t\t\tdata.response[prop] = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Now do the actual setting.\r\n\t\t\t\tthis.clearFormValues();\r\n\t\t\t\tthis.getField(this.settings.formPaymentResponse).val(data.response.i4go_response);\r\n\t\t\t\tthis.getField(this.settings.formPaymentResponseCode).val(data.response.i4go_responsecode);\r\n\t\t\t\tthis.getField(this.settings.formPaymentResponseText).val(data.response.i4go_responsetext);\r\n\t\t\t\tthis.getField(this.settings.formPaymentToken).val(data.response.i4go_uniqueid);\r\n\t\t\t\tthis.getField(this.settings.formPaymentExpMonth).val(data.response.i4go_expirationmonth);\r\n\t\t\t\tthis.getField(this.settings.formPaymentExpYear).val(data.response.i4go_expirationyear);\r\n\t\t\t\tthis.getField(this.settings.formPaymentType).val(data.response.i4go_cardtype);\r\n\t\t\t\tthis.getField(this.settings.formCardholderName).val(data.response.i4go_cardholdername);\r\n\t\t\t\tthis.getField(this.settings.formStreetAddress).val(data.response.i4go_streetaddress);\r\n\t\t\t\tthis.getField(this.settings.formPostalCode).val(data.response.i4go_postalcode);\r\n\t\t\t\tthis.getField(this.settings.formMetaToken).val(data.response.i4go_metatoken);\r\n\t\t\t\tthis.getField(this.settings.formExtendedCardData).val(data.response.i4go_extendedcarddata);\r\n\t\t\t\tthis.getField(this.settings.formUToken).val(data.response.i4go_utoken);\r\n\t\t\t\tthis.getField(this.settings.formApplePayToken).val(data.response.i4go_applepaytoken);\r\n\t\t\t\tthis.getField(this.settings.formGooglePayToken).val(data.response.i4go_googlepaytoken);\r\n\t\t\t\tthis.getField(this.settings.formSignedData).val(data.response.i4go_signeddata);\r\n\t\t\t\tif (data.response.i4go_uniqueid.length >= 4) {\r\n\t\t\t\t\tthis.getField(this.settings.formPaymentMaskedCard).val(\"********\" + data.response.i4go_uniqueid.substring(0, 4));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (typeof data.response.i4go_applepaytoken === \"string\" && data.response.i4go_applepaytoken.length) {\r\n\t\t\t\t\tthis.getField(this.settings.formApplePayToken).val(data.response.i4go_applepaytoken);\r\n\t\t\t\t\tdata.response.i4go_applepaytoken = JSON.parse(data.response.i4go_applepaytoken);\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof data.response.i4go_googlepaytoken === \"string\" && data.response.i4go_googlepaytoken.length) {\r\n\t\t\t\t\tthis.getField(this.settings.formGooglePayToken).val(data.response.i4go_googlepaytoken);\r\n\t\t\t\t\tdata.response.i4go_googlepaytoken = JSON.parse(data.response.i4go_googlepaytoken);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.settings.walletsEnabled) {\r\n\t\t\t\t\tpostWalletComplete(data.response.i4go_response === \"SUCCESS\");\r\n\t\t\t\t}\r\n\t\t\t\tif (data.response.i4go_response === \"SUCCESS\") {\r\n\t\t\t\t\tif (this.settings.onSuccess) {\r\n\t\t\t\t\t\tthis.settings.onSuccess(this.form, data.response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.settings.onComplete) {\r\n\t\t\t\t\t\tthis.settings.onComplete(this.form, data.response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.settings.formAutoSubmitOnSuccess) {\r\n\t\t\t\t\t\tthis.form.submit();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (data.response.i4go_response === \"FAILURE\") {\r\n\t\t\t\t\tif (this.settings.onFailure) {\r\n\t\t\t\t\t\tthis.settings.onFailure(this.form, data.response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.settings.onComplete) {\r\n\t\t\t\t\t\tthis.settings.onComplete(this.form, data.response);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.settings.formAutoSubmitOnFailure) {\r\n\t\t\t\t\t\tthis.form.submit();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tsubmit: function() {\r\n\t\t\t\tvar frame = $(\"#\" + this.frameName)[0],\r\n\t\t\t\t\tdata = JSON.stringify({\r\n\t\t\t\t\t\taction: 'submit'\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - submit():\", data);\r\n\t\t\t\t$.postMessage(data, this.src, frame.contentWindow);\r\n\t\t\t},\r\n\r\n\t\t\ttest: function() {\r\n\t\t\t\tconsole.log(\"i4goTrueToken - test()\");\r\n\t\t\t\tconsole.log(\"arguments.length=\" + arguments.length);\r\n\t\t\t\tfor (var i = 0; i < arguments.length; i++) {\r\n\t\t\t\t\tconsole.log(\"arguments[\" + i + \"]=\" + arguments[i]);\r\n\t\t\t\t}\r\n\t\t\t\tthis.clearFormValues();\r\n\t\t\t\tthis.setFormValues({\r\n\t\t\t\t\ti4go_response: \"SUCCESS\",\r\n\t\t\t\t\ti4go_responsecode: \"1\",\r\n\t\t\t\t\ti4go_uniqueid: \"2222xxxxxxxxxxxx\",\r\n\t\t\t\t\ti4go_expirationmonth: \"12\",\r\n\t\t\t\t\ti4go_expirationyear: \"2020\",\r\n\t\t\t\t\ti4go_cardtype: \"VS\"\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tsetTranUUID: function(data) {\r\n\t\t\t\tthis.settings.debug && console.log(\"i4goTrueToken - tranUUID()\", data);\r\n\t\t\t\tif (typeof data === \"string\" && data.length) {\r\n\t\t\t\t\tthis.tranUUID = data;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t});\r\n\r\n}));\r\n\r\n// Note: When updating this script with an updated copy from https://i4m.i4go.com/js/wallets.js, remember to add the following:\r\n// 1. Add import $ from \"jquery\"\r\n// 2. Change instances where wallet settings expected type to be \"object\" when it should be string. Example:\r\n//\t\tFrom: if (typeof _wallets_i4goTrueTokenObj.settings.wallet.buttonColor === \"object\")\r\n//\t\tTo: if (typeof _wallets_i4goTrueTokenObj.settings.wallet.buttonColor === \"string\")\r\n// 3. Add the following wallet settings and call in onGooglePaymentButtonClicked. These functions are used to block/unblock the UI\r\n//\t\tso that user won't be able to press the Google Pay button again when payment is in progress.\r\n//\t\twallets: {\r\n//\t\t\tpaymentInitiatedEvent,\r\n//\t\t\tpaymentErrorEvent\r\n//\t\t}\r\n\r\nimport $ from \"jquery\";\r\n\r\n// wallets.js\r\n//\r\n// I am the js code executed for wallets.\r\n\r\nvar _wallets_canMakeApplePayments = false;\r\nvar _wallets_i4goTrueTokenObj = null;\r\nvar _wallet_session = null;\r\n\r\n$(function () {\r\n\t$(\".pay-button\").hide().addClass(\"hidden\").addClass(\"pay-hidden\");\r\n});\r\n\r\nfunction i4goWalletsInit(owner) {\r\n\t_wallets_i4goTrueTokenObj = owner;\r\n\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Wallets initializing...\");\r\n\t$(\".pay-button\").hide().addClass(\"hidden\").addClass(\"pay-hidden\");\r\n\tif ((typeof _wallets_i4goTrueTokenObj.walletConfig === \"object\")) {\r\n\t\tapplePayInit(_wallets_i4goTrueTokenObj.walletConfig);\r\n\t\tgooglePayInit(_wallets_i4goTrueTokenObj.walletConfig);\r\n\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Wallets initialized\");\r\n\t} else {\r\n\t\tvar reason = \"Wallets not enabled\";\r\n\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(reason);\r\n\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"apple-pay\", false, reason);\r\n\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"google-pay\", false, reason);\r\n\t}\r\n}\r\n\r\nfunction postWalletComplete(success) {\r\n\tif (_wallet_session != null) {\r\n\t\t_wallet_session.success = success;\r\n\t\tswitch (_wallet_session.wallet) {\r\n\t\t\tcase 'apple':\r\n\t\t\t\tpostApplePayComplete(success);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'google':\r\n\t\t\t\tpostGooglePayComplete(success);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction remoteLog(msg, doConsoleLog) {\r\n\tif (_wallets_i4goTrueTokenObj !== null && typeof _wallets_i4goTrueTokenObj.walletConfig === \"object\") {\r\n\t\t_wallets_i4goTrueTokenObj.remoteLog(\"(Wallets) \" + msg);\r\n\t}\r\n\tif (typeof doConsole == null || doConsoleLog) {\r\n\t\tconsole.log(\"wallets - \" + msg);\r\n\t}\r\n\treturn true;\r\n}\r\n\r\n\r\n\r\n/*\r\n **\r\n ** Apple Pay\r\n **\r\n */\r\n\r\nfunction applePayInit(config) {\r\n\ttry {\r\n\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Checking for Apple Pay...\");\r\n\t\tif ((typeof config === \"object\") &&\r\n\t\t\t(typeof config.applePay === \"object\") &&\r\n\t\t\t(typeof config.applePay.merchantIdentifier === \"string\") &&\r\n\t\t\tconfig.applePay.merchantIdentifier.length) {\r\n\t\t\tif (window.ApplePaySession && ApplePaySession.supportsVersion(3) && ApplePaySession.canMakePayments()) {\r\n\t\t\t\tif (_wallets_i4goTrueTokenObj.settings.wallet.activeCardRequired) {\r\n\r\n\t\t\t\t\tvar id = config.applePay.merchantIdentifier;\r\n\t\t\t\t\tif (typeof config.merchant !== \"undefined\" && typeof config.merchant.verified !== \"undefined\" && config.merchant.verified) {\r\n\t\t\t\t\t\tid = config.applePay.partnerInternalMerchantIdentifier;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar promise = ApplePaySession.canMakePaymentsWithActiveCard(id);\r\n\t\t\t\t\tpromise.then(function (canMakePayments) {\r\n\t\t\t\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"applePayInit.canMakePaymentsWithActiveCard(\" + id + \"): \" + canMakePayments);\r\n\t\t\t\t\t\t_wallets_canMakeApplePayments = canMakePayments;\r\n\r\n\t\t\t\t\t\t/* This is idential to block with activeCardRequired */\r\n\t\t\t\t\t\tif (canMakePayments) {\r\n\t\t\t\t\t\t\t$(\".apple-pay-button\").on(\"click\", onApplePayClick);\r\n\t\t\t\t\t\t\t$(\".apple-pay-button\").show().removeClass(\"hidden\").removeClass(\"pay-hidden\");\r\n\t\t\t\t\t\t\t$(\".apple-pay-button\").removeClass(\"no-apple-pay\");\r\n\t\t\t\t\t\t\t$(\".apple-pay-button-container\").removeClass(\"disabled-image\");\r\n\t\t\t\t\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"apple-pay\", true, \"Ready\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, function (error) {\r\n\t\t\t\t\t\tvar reason = \"applePayInit Error: \" + error.message;\r\n\t\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t\t\tremoteLog(reason, false);\r\n\t\t\t\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"apple-pay\", false, reason);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t/* Similar to above */\r\n\t\t\t\t\t_wallets_canMakeApplePayments = true;\r\n\t\t\t\t\t$(\".apple-pay-button\").on(\"click\", onApplePayClick);\r\n\t\t\t\t\t$(\".apple-pay-button\").show().removeClass(\"hidden\").removeClass(\"pay-hidden\");\r\n\t\t\t\t\t$(\".apple-pay-button\").removeClass(\"no-apple-pay\");\r\n\t\t\t\t\t$(\".apple-pay-button-container\").removeClass(\"disabled-image\");\r\n\t\t\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"apple-pay\", true, \"Ready\");\r\n\t\t\t\t}\r\n\t\t\t\t// end of active card required condition \r\n\t\t\t} else {\r\n\t\t\t\tvar reason = \"Apple Pay not found\";\r\n\t\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(reason);\r\n\t\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"apple-pay\", false, reason);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvar reason = \"Apple Pay not configured\";\r\n\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(reason);\r\n\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"apple-pay\", false, reason);\r\n\t\t}\r\n\t} catch (e) {\r\n\t\tvar reason = \"applePayInit Error: \" + e.message;\r\n\t\tconsole.error(reason, e);\r\n\t\tremoteLog(reason, false);\r\n\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"apple-pay\", false, reason);\r\n\t}\r\n}\r\n\r\nfunction onApplePayClick(e) {\r\n\ttry {\r\n\t\te.preventDefault();\r\n\t\tif (_wallets_canMakeApplePayments) {\r\n\t\t\t_wallets_i4goTrueTokenObj.clear();\r\n\t\t\tvar applePayPaymentRequest = {\r\n\t\t\t\tcountryCode: _wallets_i4goTrueTokenObj.walletConfig.countryCode,\r\n\t\t\t\tcurrencyCode: _wallets_i4goTrueTokenObj.walletConfig.currencyCode,\r\n\t\t\t\tsupportedNetworks: _wallets_i4goTrueTokenObj.walletConfig.applePay.supportedNetworks,\r\n\t\t\t\tmerchantCapabilities: ['supports3DS'],\r\n\t\t\t\ttotal: {\r\n\t\t\t\t\tlabel: 'total',\r\n\t\t\t\t\tamount: _wallets_i4goTrueTokenObj.basket.OrderDetails.Amount.toFixed(2)\r\n\t\t\t\t},\r\n\t\t\t\t/*\r\n\t\t\t\t // OPTIONAL PAYMENT\r\n\t\t\t\t requiredBillingContactFields: [ \"email\", \"name\", \"phone\", \"postalAddress\" ],\r\n\t\t\t\t*/\r\n\t\t\t\trequiredShippingContactFields: apGetRequiredShippingContactFields(),\r\n\t\t\t\tshippingMethods: apGetDefaultShippingMethods(),\r\n\t\t\t\tshippingType: _wallets_i4goTrueTokenObj.settings.wallet.shippingType\r\n\t\t\t};\r\n\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"onApplePayClick.applePayPaymentRequest: \" + JSON.stringify(applePayPaymentRequest));\r\n\r\n\t\t\tvar session = new ApplePaySession(3, applePayPaymentRequest);\r\n\t\t\tsession.begin();\r\n\r\n\t\t\t/**\r\n\t\t\t * Merchant Validation\r\n\t\t\t * We call our merchant session endpoint, passing the URL to use\r\n\t\t\t */\r\n\t\t\tsession.onvalidatemerchant = function (event) {\r\n\t\t\t\tconst validationURL = event.validationURL;\r\n\t\t\t\tgetApplePaySession(validationURL).then(function (response) {\r\n\t\t\t\t\tsession.completeMerchantValidation(response);\r\n\t\t\t\t\tsession.onpaymentauthorized = function (event) {\r\n\t\t\t\t\t\tpostApplePayToken(event.payment, session);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (_wallets_i4goTrueTokenObj.settings.wallet.shippingOptionRequired) {\r\n\t\t\t\t\t\tsession.onshippingcontactselected = function (event) { apOnShippingContactSelected(event, session); }\r\n\t\t\t\t\t\tsession.onshippingmethodselected = function (event) { apOnShippingMethodSelected(event, session); }\r\n\t\t\t\t\t}\r\n\t\t\t\t}, function (error) {\r\n\t\t\t\t\tconsole.error(\"onApplePayClick.session.onvalidatemerchant.ERROR:\" + error.message, error);\r\n\t\t\t\t\tremoteLog(\"onApplePayClick.session.onvalidatemerchant.ERROR: \" + error.message, false);\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\talert(\"Cannot make payment.\");\r\n\t\t}\r\n\t} catch (e) {\r\n\t\tconsole.error(\"onApplePayClick.ERROR:\" + e.message, e);\r\n\t\tremoteLog(\"onApplePayClick.ERROR: \" + e.message, false);\r\n\t}\r\n}\r\n/**\r\n * Server to Server call to apple for response used to validate *merchant\r\n */\r\nfunction getApplePaySession(validationURL) {\r\n\ttry {\r\n\t\treturn new Promise(function (resolve, reject) {\r\n\t\t\tconst url = \"https://\" + _wallets_i4goTrueTokenObj.walletConfig.providerDomain + \"/index.cfm?fuseaction=ws.applePaySession\";\r\n\t\t\tconst data = {\r\n\t\t\t\tvalidationURL: validationURL,\r\n\t\t\t\ti4go_accessBlock: _wallets_i4goTrueTokenObj.settings.accessBlock\r\n\t\t\t};\r\n\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Sending getApplePaySession: \" + JSON.stringify({\r\n\t\t\t\turl: url,\r\n\t\t\t\tdata: data\r\n\t\t\t}));\r\n\t\t\t$.post(url, data, function (responseData, status) {\r\n\t\t\t\tif (status == \"success\") {\r\n\t\t\t\t\tresolve(responseData);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Failed getApplePaySession: \" + JSON.stringify({\r\n\t\t\t\t\t\turl: url,\r\n\t\t\t\t\t\tresponseData: responseData\r\n\t\t\t\t\t}));\r\n\t\t\t\t\treject({\r\n\t\t\t\t\t\tstatus: status\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}).fail(function (jqXHR, textStatus, errorThrown) {\r\n\t\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Failed getApplePaySession: \" + JSON.stringify({\r\n\t\t\t\t\turl: url,\r\n\t\t\t\t\tjqXHR: jqXHR,\r\n\t\t\t\t\ttextStatus: textStatus,\r\n\t\t\t\t\terrorThrown: errorThrown\r\n\t\t\t\t}));\r\n\t\t\t\treject({\r\n\t\t\t\t\tstatus: textStatus\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t} catch (e) {\r\n\t\tconsole.error(\"onApplePayClick.ERROR:\" + e.message, e);\r\n\t\tremoteLog(\"onApplePayClick.ERROR: \" + e.message, false);\r\n\t}\r\n}\r\n\r\nfunction postApplePayToken(payment, session) {\r\n\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Sending Apple payment token to i4go frame...\");\r\n\tObject.assign(payment, {\r\n\t\tshippingIdentifier: currentShippingIdentifier\r\n\t}); // this is not contained in the default info from apple - weird\r\n\t_wallet_session = {\r\n\t\twallet: \"apple\",\r\n\t\tsession: session,\r\n\t\tpayment: payment\r\n\t};\r\n\t_wallets_i4goTrueTokenObj.sendApplePayToFrame(payment);\r\n\tpostWalletComplete(true); // short-circuited confirmation from iframe due to 3DS which may need the iframe dialog for cardholder challenge\r\n}\r\n\r\nfunction postApplePayComplete(success) {\r\n\tif (_wallet_session != null && _wallet_session.wallet == \"apple\") {\r\n\t\tvar desc = \"failure\";\r\n\t\tif (success) {\r\n\t\t\tdesc = \"success\";\r\n\t\t}\r\n\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Apple Pay post complete: \" + desc);\r\n\t\tif (success) {\r\n\t\t\t_wallet_session.session.completePayment(_wallet_session.session.STATUS_SUCCESS);\r\n\t\t} else {\r\n\t\t\t_wallet_session.session.completePayment(_wallet_session.session.STATUS_FAILURE);\r\n\t\t}\r\n\t\t_wallet_session = null;\r\n\t}\r\n}\r\n\r\nfunction apGetRequiredShippingContactFields() {\r\n\tlet requiredShippingContactFields = [];\r\n\tif (_wallets_i4goTrueTokenObj.settings.wallet.emailRequired) {\r\n\t\trequiredShippingContactFields.push(\"email\");\r\n\t}\r\n\tif (typeof _wallets_i4goTrueTokenObj.settings.wallet.nameRequired === \"boolean\" ? _wallets_i4goTrueTokenObj.settings.wallet.nameRequired : _wallets_i4goTrueTokenObj.settings.wallet.addressRequired) {\r\n\t\trequiredShippingContactFields.push(\"name\");\r\n\t}\r\n\tif (_wallets_i4goTrueTokenObj.settings.wallet.phoneNumberRequired) {\r\n\t\trequiredShippingContactFields.push(\"phone\");\r\n\t}\r\n\tif (_wallets_i4goTrueTokenObj.settings.wallet.addressRequired) {\r\n\t\trequiredShippingContactFields.push(\"postalAddress\");\r\n\t}\r\n\treturn requiredShippingContactFields;\r\n}\r\n\r\nfunction apGetDefaultShippingMethods() {\r\n\tlet shippingMethods = [];\r\n\tif (typeof _wallets_i4goTrueTokenObj.settings.wallet.shippingOptions === \"object\") {\r\n\t\t_wallets_i4goTrueTokenObj.settings.wallet.shippingOptions.forEach(function (item) {\r\n\t\t\tshippingMethods.push({\r\n\t\t\t\tlabel: item.label,\r\n\t\t\t\tdetail: item.description,\r\n\t\t\t\tamount: item.amount,\r\n\t\t\t\tidentifier: item.id\r\n\t\t\t})\r\n\t\t});\r\n\t}\r\n\treturn shippingMethods;\r\n}\r\n\r\nlet currentShippingIdentifier = \"\";\r\n\r\nfunction ap2gpIntermediatePaymentData(callbackTrigger, defaultShippingId, event) {\r\n\tlet intermediatePaymentData = {\r\n\t\tcallbackTrigger: callbackTrigger\r\n\t};\r\n\tif (typeof event.shippingContact === \"object\") {\r\n\t\tObject.assign(intermediatePaymentData, {\r\n\t\t\tshippingAddress: event.shippingContact,\r\n\t\t\tshippingOptionData: {\r\n\t\t\t\tid: defaultShippingId\r\n\t\t\t}\r\n\t\t});\r\n\t\tcurrentShippingIdentifier = defaultShippingId;\r\n\t};\r\n\tif (typeof event.shippingMethod === \"object\") {\r\n\t\tObject.assign(intermediatePaymentData, {\r\n\t\t\tshippingOptionData: {\r\n\t\t\t\tid: event.shippingMethod.identifier\r\n\t\t\t}\r\n\t\t});\r\n\t\tcurrentShippingIdentifier = event.shippingMethod.identifier;\r\n\t};\r\n\treturn intermediatePaymentData;\r\n}\r\n\r\nfunction gp2apPaymentDataRequestUpdate(gpPaymentDataRequestUpdate) {\r\n\tlet apPaymentDataRequestUpdate = {\r\n\t\tnewTotal: {\r\n\t\t\ttype: gpPaymentDataRequestUpdate.newTransactionInfo.totalPriceStatus.toLowerCase(),\r\n\t\t\tlabel: gpPaymentDataRequestUpdate.newTransactionInfo.totalPriceLabel,\r\n\t\t\tamount: gpPaymentDataRequestUpdate.newTransactionInfo.totalPrice\r\n\t\t},\r\n\t\tnewLineItems: []\r\n\t};\r\n\tgpPaymentDataRequestUpdate.newTransactionInfo.displayItems.forEach(function (item) {\r\n\t\tapPaymentDataRequestUpdate.newLineItems.push({\r\n\t\t\ttype: item.status.toLowerCase(),\r\n\t\t\tlabel: item.label,\r\n\t\t\tamount: item.price\r\n\t\t})\r\n\t});\r\n\tif (typeof gpPaymentDataRequestUpdate.newShippingOptionParameters === \"object\") {\r\n\t\ttry {\r\n\t\t\tconst regex = /^([\\$]?(\\d*([.,](?=\\d{3}))?\\d+)+((?!\\2)[.,]\\d\\d)?|Free)[\\s\\:\\-$]/i;\r\n\t\t\tlet newShippingMethods = [];\r\n\t\t\tgpPaymentDataRequestUpdate.newShippingOptionParameters.shippingOptions.forEach(function (item) {\r\n\t\t\t\tlet amount = \"0.00\";\r\n\t\t\t\tif (typeof item.price === \"string\") {\r\n\t\t\t\t\tamount = item.price;\r\n\t\t\t\t} else if (typeof item.price === \"number\") {\r\n\t\t\t\t\tamount = item.price.toFixed(2);\r\n\t\t\t\t}\r\n\t\t\t\tlet label = $.trim(item.label.replace(regex, \"\"));\r\n\t\t\t\tnewShippingMethods.push({\r\n\t\t\t\t\tlabel: label,\r\n\t\t\t\t\tdetail: item.description,\r\n\t\t\t\t\tamount: amount,\r\n\t\t\t\t\tidentifier: item.id\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tObject.assign(apPaymentDataRequestUpdate, {\r\n\t\t\t\tnewShippingMethods: newShippingMethods\r\n\t\t\t});\r\n\t\t} catch (e) {\r\n\t\t\tconsole.error(\"gp2apPaymentDataRequestUpdate.ERROR:\" + e.message, e);\r\n\t\t\tremoteLog(\"gp2apPaymentDataRequestUpdate.ERROR: \" + e.message, false);\r\n\t\t}\r\n\t}\r\n\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog('gp2apPaymentDataRequestUpdate: {\"gpPaymentDataRequestUpdate\":' + JSON.stringify(gpPaymentDataRequestUpdate) + ',\"apPaymentDataRequestUpdate\":' + JSON.stringify(apPaymentDataRequestUpdate) + '}');\r\n\r\n\r\n\t/*\r\n\tGP update\r\n\t{\r\n\t \"newTransactionInfo\": {\r\n\t \"displayItems\": [\r\n\t {\r\n\t \"label\": \"Subtotal\",\r\n\t \"type\": \"SUBTOTAL\",\r\n\t \"price\": \"44.44\"\r\n\t },\r\n\t {\r\n\t \"type\": \"LINE_ITEM\",\r\n\t \"label\": \"Shipping Cost\",\r\n\t \"price\": \"2.99\",\r\n\t \"status\": \"FINAL\"\r\n\t }\r\n\t ],\r\n\t \"countryCode\": \"US\",\r\n\t \"currencyCode\": \"USD\",\r\n\t \"totalPriceStatus\": \"FINAL\",\r\n\t \"totalPrice\": \"47.43\",\r\n\t \"totalPriceLabel\": \"Total\"\r\n\t }\r\n\r\n\t \"newShippingOptionParameters\": {\r\n\t \"defaultSelectedOptionId\":\"shipping-001\",\r\n\t \"shippingOptions\":[\r\n\t {\r\n\t \"id\":\"shipping-001\",\r\n\t \"label\":\"Free: Standard shipping\",\r\n\t \"description\":\"Free shipping delivered in 5 business days; handling fees still apply.\"\r\n\t },\r\n\t {\r\n\t \"id\":\"shipping-002\",\r\n\t \"label\":\"$2.99: Standard shipping\",\r\n\t \"description\":\"Standard shipping delivered in 3 business days.\"\r\n\t },\r\n\t {\r\n\t \"id\":\"shipping-003\",\r\n\t \"label\":\"$10: Express shipping\",\r\n\t \"description\":\"Express shipping delivered in 1 business day.\"\r\n\t },\r\n\t {\r\n\t \"id\":\"shipping-004\",\r\n\t \"label\":\"$1299: Hand delivered\",\r\n\t \"description\":\"Hand delivered in 10-30 business days.\"\r\n\t }\r\n\t ]\r\n\t }\r\n\r\n\r\n\t}\r\n\r\n\tAP update\r\n\t{\r\n\t \"newTotal\": {\r\n\t \"type\": \"final\",\r\n\t \"label\": \"Total\",\r\n\t \"amount\": \"47.43\"\r\n\t },\r\n\t \"newLineItems\": [\r\n\t {\r\n\t \"type\": \"final\",\r\n\t \"label\": \"Subtotal\",\r\n\t \"amount\": \"44.44\"\r\n\t },\r\n\t {\r\n\t \"type\": \"final\",\r\n\t \"label\": \"Shipping Cost\",\r\n\t \"amount\": \"2.99\"\r\n\t }\r\n\t ]\r\n\t}\r\n\t*/\r\n\treturn apPaymentDataRequestUpdate;\r\n}\r\n\r\nfunction apOnPaymentDataChanged(callbackTrigger, defaultShippingId, event, session) {\r\n\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"apOnPaymentDataChanged.begin: \" + JSON.stringify(arguments));\r\n\treturn new Promise(function (resolve, reject) {\r\n\t\tgpOnPaymentDataChanged(ap2gpIntermediatePaymentData(callbackTrigger, defaultShippingId, event), \"apple\")\r\n\t\t\t.then(function (paymentDataRequestUpdate) {\r\n\t\t\t\tlet result = gp2apPaymentDataRequestUpdate(paymentDataRequestUpdate);\r\n\t\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"apOnPaymentDataChanged.end: \" + JSON.stringify(result));\r\n\t\t\t\tresolve(result);\r\n\t\t\t})\r\n\t\t\t.catch(function (e) {\r\n\t\t\t\tconsole.error(\"apOnPaymentDataChanged.ERROR:\" + e.message, e);\r\n\t\t\t\tremoteLog(\"apOnPaymentDataChanged.ERROR: \" + e.message, false);\r\n\t\t\t\treject(e);\r\n\t\t\t});\r\n\t});\r\n}\r\n\r\nfunction apOnShippingContactSelected(event, session) {\r\n\tlet shippingContact = event.shippingContact;\r\n\tapOnPaymentDataChanged(\"SHIPPING_ADDRESS\", _wallets_i4goTrueTokenObj.settings.wallet.shippingOptions[0].id, event, session)\r\n\t\t.then(function (paymentDataRequestUpdate) { session.completeShippingContactSelection(paymentDataRequestUpdate) })\r\n\t\t.catch(function (e) {\r\n\t\t\tconsole.error(\"apOnShippingContactSelected.ERROR:\" + e.message, e);\r\n\t\t\tremoteLog(\"apOnShippingContactSelected.ERROR: \" + e.message, false);\r\n\t\t\tthrow (e);\r\n\t\t});\r\n}\r\n\r\nfunction apOnShippingMethodSelected(event, session) {\r\n\tlet shippingMethod = event.shippingMethod;\r\n\tapOnPaymentDataChanged(\"SHIPPING_OPTION\", shippingMethod.identifier, event, session)\r\n\t\t.then(function (paymentDataRequestUpdate) { session.completeShippingMethodSelection(paymentDataRequestUpdate) })\r\n\t\t.catch(function (e) {\r\n\t\t\tconsole.error(\"apOnShippingMethodSelected.ERROR:\" + e.message, e);\r\n\t\t\tremoteLog(\"apOnShippingMethodSelected.ERROR: \" + e.message, false);\r\n\t\t\tthrow (e);\r\n\t\t});\r\n}\r\n\r\n/*\r\n **\r\n ** Google Pay\r\n **\r\n */\r\n\r\nfunction googlePayInit(config) {\r\n\ttry {\r\n\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Checking for Google Pay...\");\r\n\t\t_wallets_i4goTrueTokenObj.settings.debug && console.log(\"wallet - googlePayInit()\", config);\r\n\t\tpaymentsClient = null;\r\n\t\tif ((typeof config === \"object\") &&\r\n\t\t\t(typeof config.googlePay === \"object\") &&\r\n\t\t\t(typeof config.googlePay.authJwt === \"string\") &&\r\n\t\t\tconfig.googlePay.authJwt.length) {\r\n\r\n\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Google Pay configuration found\");\r\n\t\t\ttokenizationSpecification.parameters.gateway = config.googlePay.gateway;\r\n\t\t\ttokenizationSpecification.parameters.gatewayMerchantId = (typeof config.merchant === \"object\" && typeof config.merchant.identifier === \"string\") ? config.merchant.identifier : config.merchantID.toString();\r\n\t\t\tallowedCardAuthMethods = config.googlePay.allowedAuthMethods;\r\n\t\t\tallowedCardNetworks = config.googlePay.allowedCardNetworks;\r\n\t\t\tbaseCardPaymentMethod.parameters.allowedAuthMethods = allowedCardAuthMethods;\r\n\t\t\tbaseCardPaymentMethod.parameters.allowedCardNetworks = allowedCardNetworks;\r\n\t\t\tbaseCardPaymentMethod.parameters = Object.assign(baseCardPaymentMethod.parameters, {\r\n\t\t\t\tallowedAuthMethods: allowedCardAuthMethods,\r\n\t\t\t\tallowedCardNetworks: allowedCardNetworks,\r\n\t\t\t\tbillingAddressRequired: (typeof _wallets_i4goTrueTokenObj.settings.wallet.nameRequired === \"boolean\" ? _wallets_i4goTrueTokenObj.settings.wallet.nameRequired : _wallets_i4goTrueTokenObj.settings.wallet.addressRequired),\r\n\t\t\t\tbillingAddressParameters: {\r\n\t\t\t\t\tformat: \"MIN\",\r\n\t\t\t\t\tphoneNumberRequired: _wallets_i4goTrueTokenObj.settings.wallet.phoneNumberRequired\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcardPaymentMethod = Object.assign({},\r\n\t\t\t\tbaseCardPaymentMethod, {\r\n\t\t\t\ttokenizationSpecification: tokenizationSpecification\r\n\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\tonGooglePayLoaded();\r\n\r\n\t\t} else {\r\n\t\t\tvar reason = \"Google Pay not configured\";\r\n\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(reason);\r\n\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"google-pay\", false, reason);\r\n\t\t}\r\n\t} catch (e) {\r\n\r\n\t\tvar reason = \"googlePayInit Error: \" + e.message;\r\n\t\tconsole.error(reason, e);\r\n\t\tremoteLog(reason, false);\r\n\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"google-pay\", false, reason);\r\n\r\n\t}\r\n}\r\n\r\n/**\r\n * Define the version of the Google Pay API referenced when creating your\r\n * configuration\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|apiVersion in PaymentDataRequest}\r\n */\r\nconst baseRequest = {\r\n\tapiVersion: 2,\r\n\tapiVersionMinor: 0\r\n};\r\n\r\n/**\r\n * Card networks supported by your site and your gateway\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}\r\n * @todo confirm card networks supported by your site and gateway\r\n */\r\nlet allowedCardNetworks = [\"AMEX\", \"DISCOVER\", \"JCB\", \"MASTERCARD\", \"VISA\"];\r\n\r\n/**\r\n * Card authentication methods supported by your site and your gateway\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}\r\n * @todo confirm your processor supports Android device tokens for your\r\n * supported card networks\r\n */\r\nlet allowedCardAuthMethods = [\"PAN_ONLY\", \"CRYPTOGRAM_3DS\"];\r\n\r\n/**\r\n * Identify your gateway and your site's gateway merchant identifier\r\n *\r\n * The Google Pay API response will return an encrypted payment method capable\r\n * of being charged by a supported gateway after payer authorization\r\n *\r\n * @todo check with your gateway on the parameters to pass\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#gateway|PaymentMethodTokenizationSpecification}\r\n */\r\nlet tokenizationSpecification = {\r\n\ttype: 'PAYMENT_GATEWAY',\r\n\tparameters: {\r\n\t\t'gateway': 'shift4',\r\n\t\t'gatewayMerchantId': ''\r\n\t}\r\n};\r\n\r\n/**\r\n * Describe your site's support for the CARD payment method and its required\r\n * fields\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}\r\n */\r\nlet baseCardPaymentMethod = {\r\n\ttype: 'CARD',\r\n\tparameters: {\r\n\t\tallowedAuthMethods: allowedCardAuthMethods,\r\n\t\tallowedCardNetworks: allowedCardNetworks\r\n\t}\r\n};\r\n\r\n/**\r\n * Describe your site's support for the CARD payment method including optional\r\n * fields\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}\r\n */\r\nlet cardPaymentMethod = Object.assign({},\r\n\tbaseCardPaymentMethod, {\r\n\ttokenizationSpecification: tokenizationSpecification\r\n}\r\n);\r\n\r\n/**\r\n * An initialized google.payments.api.PaymentsClient object or null if not yet set\r\n *\r\n * @see {@link getGooglePaymentsClient}\r\n */\r\nlet paymentsClient = null;\r\n\r\n/**\r\n * Configure your site's support for payment methods supported by the Google Pay\r\n * API.\r\n *\r\n * Each member of allowedPaymentMethods should contain only the required fields,\r\n * allowing reuse of this base request when determining a viewer's ability\r\n * to pay and later requesting a supported payment method\r\n *\r\n * @returns {object} Google Pay API version, payment methods supported by the site\r\n */\r\nfunction getGoogleIsReadyToPayRequest() {\r\n\treturn Object.assign({},\r\n\t\tbaseRequest, {\r\n\t\tallowedPaymentMethods: [baseCardPaymentMethod]\r\n\t}\r\n\t);\r\n}\r\n\r\n/**\r\n * Configure support for the Google Pay API\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|PaymentDataRequest}\r\n * @returns {object} PaymentDataRequest fields\r\n */\r\nfunction getGooglePaymentDataRequest() {\r\n\ttry {\r\n\t\tconst paymentDataRequest = Object.assign({}, baseRequest);\r\n\t\tpaymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];\r\n\t\tpaymentDataRequest.transactionInfo = getGoogleTransactionInfo();\r\n\t\tpaymentDataRequest.merchantInfo = {\r\n\t\t\tmerchantId: _wallets_i4goTrueTokenObj.walletConfig.googlePay.merchantId,\r\n\t\t\tmerchantName: _wallets_i4goTrueTokenObj.walletConfig.merchantName.length ? _wallets_i4goTrueTokenObj.walletConfig.merchantName : \"Merchant\",\r\n\t\t\tmerchantOrigin: _wallets_i4goTrueTokenObj.walletConfig.googlePay.merchantDomain,\r\n\t\t\tauthJwt: _wallets_i4goTrueTokenObj.walletConfig.googlePay.authJwt\r\n\t\t};\r\n\r\n\t\tlet callbackIntents = [\"PAYMENT_AUTHORIZATION\"];\r\n\t\tif (_wallets_i4goTrueTokenObj.settings.wallet.shippingOptionRequired) {\r\n\t\t\tcallbackIntents = [\"SHIPPING_ADDRESS\", \"SHIPPING_OPTION\", \"PAYMENT_AUTHORIZATION\"];\r\n\t\t}\r\n\t\tpaymentDataRequest.callbackIntents = callbackIntents;\r\n\t\tpaymentDataRequest.emailRequired = _wallets_i4goTrueTokenObj.settings.wallet.emailRequired;\r\n\t\tpaymentDataRequest.shippingAddressRequired = _wallets_i4goTrueTokenObj.settings.wallet.addressRequired;\r\n\t\tpaymentDataRequest.shippingAddressParameters = getGoogleShippingAddressParameters();\r\n\t\tpaymentDataRequest.shippingOptionRequired = _wallets_i4goTrueTokenObj.settings.wallet.shippingOptionRequired;\r\n\t\treturn paymentDataRequest;\r\n\t} catch (e) {\r\n\t\tlet errmsg = 'getGooglePaymentDataRequest.ERROR: {\"error\":\"' + e.message + '\"}';\r\n\t\tremoteLog(errmsg, false);\r\n\t\tconsole.error(errmsg);\r\n\t\tthrow (e);\r\n\t}\r\n}\r\n\r\n/**\r\n * Return an active PaymentsClient or initialize\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}\r\n * @returns {google.payments.api.PaymentsClient} Google Pay API client\r\n */\r\nfunction getGooglePaymentsClient() {\r\n\ttry {\r\n\t\tif (paymentsClient === null) {\r\n\t\t\tlet paymentDataCallbacks = {\r\n\t\t\t\tonPaymentAuthorized: gpOnPaymentAuthorized\r\n\t\t\t}\r\n\t\t\tif (_wallets_i4goTrueTokenObj.settings.wallet.shippingOptionRequired) {\r\n\t\t\t\tpaymentDataCallbacks = {\r\n\t\t\t\t\tonPaymentDataChanged: gpOnPaymentDataChanged,\r\n\t\t\t\t\tonPaymentAuthorized: gpOnPaymentAuthorized\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tpaymentsClient = new google.payments.api.PaymentsClient({\r\n\t\t\t\tenvironment: _wallets_i4goTrueTokenObj.walletConfig.googlePay.environment,\r\n\t\t\t\tmerchantInfo: {\r\n\t\t\t\t\tmerchantId: _wallets_i4goTrueTokenObj.walletConfig.googlePay.merchantId,\r\n\t\t\t\t\tmerchantName: _wallets_i4goTrueTokenObj.walletConfig.merchantName.length ? _wallets_i4goTrueTokenObj.walletConfig.merchantName : \"Merchant\",\r\n\t\t\t\t\tmerchantOrigin: _wallets_i4goTrueTokenObj.walletConfig.googlePay.merchantDomain,\r\n\t\t\t\t\tauthJwt: _wallets_i4goTrueTokenObj.walletConfig.googlePay.authJwt\r\n\t\t\t\t},\r\n\t\t\t\tpaymentDataCallbacks: paymentDataCallbacks\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn paymentsClient;\r\n\t} catch (e) {\r\n\t\tlet errmsg = 'getGooglePaymentsClient.ERROR: {\"error\":\"' + e.message + '\"}';\r\n\t\tremoteLog(errmsg, false);\r\n\t\tconsole.error(errmsg);\r\n\t\tthrow (e);\r\n\t}\r\n}\r\n\r\n\r\nfunction gpOnPaymentAuthorized(paymentData) {\r\n\treturn new Promise(function (resolve, reject) {\r\n\t\t// handle the response\r\n\t\tprocessPayment(paymentData)\r\n\t\t\t.then(function () {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\ttransactionState: 'SUCCESS'\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(function () {\r\n\t\t\t\tresolve({\r\n\t\t\t\t\ttransactionState: 'ERROR',\r\n\t\t\t\t\terror: {\r\n\t\t\t\t\t\tintent: 'PAYMENT_AUTHORIZATION',\r\n\t\t\t\t\t\tmessage: 'Invalid payment data',\r\n\t\t\t\t\t\treason: 'PAYMENT_DATA_INVALID'\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t});\r\n}\r\n\r\n/**\r\n * Handles dynamic buy flow shipping address and shipping options callback intents.\r\n *\r\n * @param {object} itermediatePaymentData response from Google Pay API a shipping address or shipping option is selected in the payment sheet.\r\n * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#IntermediatePaymentData|IntermediatePaymentData object reference}\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataRequestUpdate|PaymentDataRequestUpdate}\r\n * @returns Promise<{object}> Promise of PaymentDataRequestUpdate object to update the payment sheet.\r\n */\r\nfunction gpOnPaymentDataChanged(intermediatePaymentData, wallet) {\r\n\treturn new Promise(function (resolve, reject) {\r\n\t\ttry {\r\n\t\t\tlet shippingAddress = intermediatePaymentData.shippingAddress;\r\n\t\t\tlet shippingOptionData = intermediatePaymentData.shippingOptionData;\r\n\t\t\tlet paymentDataRequestUpdate = {};\r\n\t\t\tif (intermediatePaymentData.callbackTrigger == \"INITIALIZE\" || intermediatePaymentData.callbackTrigger == \"SHIPPING_ADDRESS\") {\r\n\t\t\t\tpaymentDataRequestUpdate.newShippingOptionParameters = getDefaultShippingOptions();\r\n\t\t\t\tlet selectedShippingOptionId = paymentDataRequestUpdate.newShippingOptionParameters.defaultSelectedOptionId;\r\n\t\t\t\tpaymentDataRequestUpdate.newTransactionInfo = calculateNewTransactionInfo(selectedShippingOptionId);\r\n\t\t\t} else if (intermediatePaymentData.callbackTrigger == \"SHIPPING_OPTION\") {\r\n\t\t\t\tpaymentDataRequestUpdate.newTransactionInfo = calculateNewTransactionInfo(shippingOptionData.id);\r\n\t\t\t}\r\n\t\t\tif (typeof _wallets_i4goTrueTokenObj.settings.onPaymentDataChanged === \"function\") {\r\n\t\t\t\tpaymentDataRequestUpdate = _wallets_i4goTrueTokenObj.settings.onPaymentDataChanged(_wallets_i4goTrueTokenObj, intermediatePaymentData, paymentDataRequestUpdate);\r\n\t\t\t}\r\n\t\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog('gpOnPaymentDataChanged.callout: {\"intermediatePaymentData\":' + JSON.stringify(intermediatePaymentData) + ',\"paymentDataRequestUpdate\":' + JSON.stringify(paymentDataRequestUpdate) + '}');\r\n\t\t\tif (typeof wallet !== \"string\" || wallet === \"google\") {\r\n\t\t\t\tif (typeof paymentDataRequestUpdate.newShippingOptionParameters === \"object\") {\r\n\t\t\t\t\tpaymentDataRequestUpdate.newShippingOptionParameters.shippingOptions = getGoogleShippingOptions(paymentDataRequestUpdate.newShippingOptionParameters.shippingOptions);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tresolve(paymentDataRequestUpdate);\r\n\t\t} catch (e) {\r\n\t\t\tlet errmsg = 'gpOnPaymentDataChanged.callout.ERROR: {\"error\":\"' + e.message + '\",\"intermediatePaymentData\":' + JSON.stringify(intermediatePaymentData) + ',\"paymentDataRequestUpdate\":' + JSON.stringify(paymentDataRequestUpdate) + '}';\r\n\t\t\tremoteLog(errmsg, false);\r\n\t\t\tconsole.error(errmsg);\r\n\t\t\treject(e);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Helper function to create a new TransactionInfo object.\r\n \r\n * @param string shippingOptionId respresenting the selected shipping option in the payment sheet.\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}\r\n * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest\r\n */\r\nfunction calculateNewTransactionInfo(shippingOptionId) {\r\n\ttry {\r\n\t\tlet newTransactionInfo = getGoogleTransactionInfo();\r\n\t\tif (_wallets_i4goTrueTokenObj.settings.wallet.shippingOptionRequired) {\r\n\t\t\tlet shippingCost = getDefaultShippingCost(shippingOptionId);\r\n\t\t\tnewTransactionInfo.displayItems.push({\r\n\t\t\t\ttype: \"LINE_ITEM\",\r\n\t\t\t\tlabel: \"Shipping Cost\",\r\n\t\t\t\tprice: shippingCost.toFixed(2),\r\n\t\t\t\tstatus: \"FINAL\"\r\n\t\t\t});\r\n\t\t\tlet totalPrice = 0.00;\r\n\t\t\tnewTransactionInfo.displayItems.forEach(function (displayItem) { totalPrice += parseFloat(displayItem.price) });\r\n\t\t\tnewTransactionInfo.totalPrice = totalPrice.toFixed(2);\r\n\t\t}\r\n\t\treturn newTransactionInfo;\r\n\t} catch (e) {\r\n\t\tlet errmsg = \"calculateNewTransactionInfo.ERROR:\" + e.message;\r\n\t\tconsole.error(errmsg);\r\n\t\tremoteLog(errmsg, false);\r\n\t\tthrow (e);\r\n\t}\r\n}\r\n\r\n/**\r\n * Initialize Google PaymentsClient after Google-hosted JavaScript has loaded\r\n *\r\n * Display a Google Pay payment button after confirmation of the viewer's\r\n * ability to pay.\r\n */\r\nfunction onGooglePayLoaded() {\r\n\tconst paymentsClient = getGooglePaymentsClient();\r\n\tpaymentsClient.isReadyToPay(getGoogleIsReadyToPayRequest()).then(function (response) {\r\n\t\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"onGooglePayLoaded.response: \" + JSON.stringify(response));\r\n\t\tif (response.result) {\r\n\t\t\taddGooglePayButton();\r\n\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"google-pay\", true, \"Ready\");\r\n\t\t} else {\r\n\t\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"google-pay\", false, \"Google Pay not available\");\r\n\t\t}\r\n\t}).catch(function (error) {     // show error in developer console for debugging\r\n\t\tvar reason = \"getGoogleIsReadyToPayRequest.ERROR: \" + error.message;\r\n\t\tconsole.error(reason, error);\r\n\t\tremoteLog(reason, false);\r\n\t\t_wallets_i4goTrueTokenObj.onWalletEnabled(\"google-pay\", false, reason);\r\n\t});\r\n}\r\n\r\n/**\r\n * Add a Google Pay purchase button alongside an existing checkout button\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ButtonOptions|Button options}\r\n * @see {@link https://developers.google.com/pay/api/web/guides/brand-guidelines|Google Pay brand guidelines}\r\n */\r\nfunction addGooglePayButton() {\r\n\tconst paymentsClient = getGooglePaymentsClient();\r\n\tlet buttonOptions = {\r\n\t\tonClick: onGooglePaymentButtonClicked\r\n\t};\r\n\tif (typeof _wallets_i4goTrueTokenObj.settings.wallet.buttonColor === \"string\") {\r\n\t\tObject.assign(buttonOptions, {\r\n\t\t\tbuttonColor: _wallets_i4goTrueTokenObj.settings.wallet.buttonColor\r\n\t\t});\r\n\t}\r\n\tif (typeof _wallets_i4goTrueTokenObj.settings.wallet.buttonType === \"string\") {\r\n\t\tObject.assign(buttonOptions, {\r\n\t\t\tbuttonType: _wallets_i4goTrueTokenObj.settings.wallet.buttonType\r\n\t\t});\r\n\t}\r\n\tif (typeof _wallets_i4goTrueTokenObj.settings.wallet.buttonSizeMode === \"string\") {\r\n\t\tObject.assign(buttonOptions, {\r\n\t\t\tbuttonSizeMode: _wallets_i4goTrueTokenObj.settings.wallet.buttonSizeMode\r\n\t\t});\r\n\t}\r\n\tif (typeof _wallets_i4goTrueTokenObj.settings.wallet.buttonRootNode === \"string\") {\r\n\t\tObject.assign(buttonOptions, {\r\n\t\t\tbuttonRootNode: _wallets_i4goTrueTokenObj.settings.wallet.buttonRootNode\r\n\t\t});\r\n\t}\r\n\tconst button = paymentsClient.createButton(buttonOptions);\r\n\r\n\tvar $buttonObj = $(button).find(\"button\");\r\n\tif ($buttonObj.length === 0) {\r\n\t\t$buttonObj = $(button);\r\n\t}\r\n\t$buttonObj.addClass(\"pay-button google-pay-button\");\r\n\t$(\".google-pay-button\").replaceWith(button);\r\n\t$(\".google-pay-button\").show().removeClass(\"hidden\").removeClass(\"pay-hidden\");\r\n}\r\n\r\n/**\r\n * Provide Google Pay API with a payment amount, currency, and amount status\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}\r\n * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest\r\n */\r\nfunction getGoogleTransactionInfo() {\r\n\ttry {\r\n\t\tlet result = {\r\n\t\t\tdisplayItems: [],\r\n\t\t\tcountryCode: _wallets_i4goTrueTokenObj.walletConfig.countryCode,\r\n\t\t\tcurrencyCode: _wallets_i4goTrueTokenObj.walletConfig.currencyCode,\r\n\t\t\ttotalPriceStatus: \"FINAL\",\r\n\t\t\ttotalPrice: _wallets_i4goTrueTokenObj.basket.OrderDetails.Amount.toFixed(2),\r\n\t\t\ttotalPriceLabel: \"Total\"\r\n\t\t};\r\n\t\tif (typeof _wallets_i4goTrueTokenObj.basket.Cart === \"object\" && _wallets_i4goTrueTokenObj.basket.Cart.length > 0) {\r\n\t\t\t_wallets_i4goTrueTokenObj.basket.Cart.forEach(function (item) {\r\n\t\t\t\tresult.displayItems.push({\r\n\t\t\t\t\tlabel: item.Name,\r\n\t\t\t\t\ttype: \"LINE_ITEM\",\r\n\t\t\t\t\tprice: item.Price.toFixed(2)\r\n\t\t\t\t})\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tresult.displayItems.push({\r\n\t\t\t\tlabel: \"Subtotal\",\r\n\t\t\t\ttype: \"SUBTOTAL\",\r\n\t\t\t\tprice: _wallets_i4goTrueTokenObj.basket.OrderDetails.Amount.toFixed(2)\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn result;\r\n\t} catch (e) {\r\n\t\tlet errmsg = \"getGoogleTransactionInfo.ERROR:\" + e.message;\r\n\t\tconsole.error(errmsg);\r\n\t\tremoteLog(errmsg, false);\r\n\t\tthrow (e);\r\n\t}\r\n}\r\n\r\n/**\r\n * Provide a key value store for shippping options.\r\n */\r\nfunction getDefaultShippingCost(id) {\r\n\ttry {\r\n\t\tlet amount = 0.00;\r\n\t\tfor (let i = 0; i < _wallets_i4goTrueTokenObj.settings.wallet.shippingOptions.length; i++) {\r\n\t\t\tif (_wallets_i4goTrueTokenObj.settings.wallet.shippingOptions[i].id === id) {\r\n\t\t\t\tamount = _wallets_i4goTrueTokenObj.settings.wallet.shippingOptions[i].amount;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn amount;\r\n\t} catch (e) {\r\n\t\tlet errmsg = \"getDefaultShippingCost.ERROR:\" + e.message;\r\n\t\tconsole.error(errmsg);\r\n\t\tremoteLog(errmsg, false);\r\n\t\tthrow (e);\r\n\t}\r\n}\r\n\r\n/**\r\n * Provide Google Pay API with billing address parameters when using dynamic buy flow.\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#BillingAddressParameters|BillingAddressParameters}\r\n * @returns {object} shipping address details, suitable for use as billingAddressParameters property of PaymentDataRequest\r\n */\r\nfunction getGoogleBillingAddressParameters() {\r\n\treturn {\r\n\t\tformat: \"MIN\"\r\n\t};\r\n}\r\n\r\n/**\r\n * Provide Google Pay API with shipping address parameters when using dynamic buy flow.\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ShippingAddressParameters|ShippingAddressParameters}\r\n * @returns {object} shipping address details, suitable for use as shippingAddressParameters property of PaymentDataRequest\r\n */\r\nfunction getGoogleShippingAddressParameters() {\r\n\treturn {\r\n\t\tallowedCountryCodes: _wallets_i4goTrueTokenObj.settings.wallet.allowedCountryCodes,\r\n\t\tphoneNumberRequired: _wallets_i4goTrueTokenObj.settings.wallet.phoneNumberRequired\r\n\t};\r\n}\r\n\r\n/**\r\n * Provide Google Pay API with shipping options and a default selected shipping option.\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ShippingOptionParameters|ShippingOptionParameters}\r\n * @returns {object} shipping option parameters, suitable for use as shippingOptionParameters property of PaymentDataRequest\r\n */\r\nfunction getGoogleShippingOptions(shippingOptions) {\r\n\tlet result = [];\r\n\tshippingOptions.forEach(function (item) {\r\n\t\tresult.push({\r\n\t\t\tid: item.id,\r\n\t\t\tlabel: item.label,\r\n\t\t\tdescription: item.description\r\n\t\t})\r\n\t});\r\n\treturn result;\r\n}\r\n\r\nfunction getDefaultShippingOptions() {\r\n\tlet shippingOptions = [];\r\n\t_wallets_i4goTrueTokenObj.settings.wallet.shippingOptions.forEach(function (item) { shippingOptions.push(item) });\r\n\t/*\r\n\t_wallets_i4goTrueTokenObj.settings.wallet.shippingOptions.forEach(item => shippingOptions.push({\r\n\t id: item.id,\r\n\t label: item.label,\r\n\t description: item.description\r\n\t}) );\r\n\t*/\r\n\treturn {\r\n\t\tdefaultSelectedOptionId: shippingOptions[0].id,\r\n\t\tshippingOptions: shippingOptions\r\n\t};\r\n}\r\n\r\n/**\r\n * Provide Google Pay API with a payment data error.\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataError|PaymentDataError}\r\n * @returns {object} payment data error, suitable for use as error property of PaymentDataRequestUpdate\r\n */\r\nfunction getGoogleUnserviceableAddressError() {\r\n\tconsole.warn(\"getGoogleUnserviceableAddressError() called!\")\r\n\treturn {\r\n\t\treason: \"SHIPPING_ADDRESS_UNSERVICEABLE\",\r\n\t\tmessage: \"Cannot ship to the selected address\",\r\n\t\tintent: \"SHIPPING_ADDRESS\"\r\n\t};\r\n}\r\n\r\n/**\r\n * Prefetch payment data to improve performance\r\n *\r\n * @see {@link https://developers.google.com/pay/api/web/reference/client#prefetchPaymentData|prefetchPaymentData()}\r\n */\r\nfunction prefetchGooglePaymentData() {\r\n\tconst paymentDataRequest = getGooglePaymentDataRequest();\r\n\t// transactionInfo must be set but does not affect cache\r\n\tpaymentDataRequest.transactionInfo = {\r\n\t\ttotalPriceStatus: 'NOT_CURRENTLY_KNOWN',\r\n\t\tcurrencyCode: 'USD'\r\n\t};\r\n\tconst paymentsClient = getGooglePaymentsClient();\r\n\tpaymentsClient.prefetchPaymentData(paymentDataRequest);\r\n}\r\n\r\n\r\n/**\r\n * Show Google Pay payment sheet when Google Pay payment button is clicked\r\n */\r\nfunction onGooglePaymentButtonClicked() {\r\n\tconst paymentDataRequest = getGooglePaymentDataRequest();\r\n\tpaymentDataRequest.transactionInfo = getGoogleTransactionInfo();\r\n\r\n\tconst paymentsClient = getGooglePaymentsClient();\r\n\r\n _wallets_i4goTrueTokenObj.settings.wallet.paymentInitiatedEvent();\r\n\r\n\tpaymentsClient.loadPaymentData(paymentDataRequest)\r\n\t\t.catch(error => _wallets_i4goTrueTokenObj.settings.wallet.paymentErrorEvent(error));\r\n}\r\n\r\n/**\r\n * Process payment data returned by the Google Pay API\r\n *\r\n * @param {object} paymentData response from Google Pay API after user approves payment\r\n * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData|PaymentData object reference}\r\n */\r\nfunction processPayment(paymentData) {\r\n\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Sending Google payment token to i4go frame...\");\r\n\tconsole.log(\"GP\", paymentData);\r\n\t_wallet_session = {\r\n\t\twallet: \"google\",\r\n\t\tsession: null,\r\n\t\tpayment: paymentData\r\n\t};\r\n\t_wallets_i4goTrueTokenObj.sendGooglePayToFrame(paymentData);\r\n\tpostWalletComplete(true); // short-circuited confirmation from iframe due to 3DS which may need the iframe dialog for cardholder challenge\r\n\treturn new Promise(function (resolve, reject) {\r\n\t\tvar responseCountdown = 45 * 4; // 45 seconds\r\n\t\tvar timerHandle = setInterval(function () {\r\n\t\t\tif (_wallet_session == null || _wallet_session.wallet != \"google\") {\r\n\t\t\t\t// something cleared or overwrote the wallet session\r\n\t\t\t\tclearInterval(timerHandle);\r\n\t\t\t\treject({});\r\n\t\t\t\t_wallet_session = null;\r\n\t\t\t} else if (_wallet_session.success == null) {\r\n\t\t\t\tif (--responseCountdown <= 0) {\r\n\t\t\t\t\t// timeout\r\n\t\t\t\t\tclearInterval(timerHandle);\r\n\t\t\t\t\treject({});\r\n\t\t\t\t\t_wallet_session = null;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// complete\r\n\t\t\t\tclearInterval(timerHandle);\r\n\t\t\t\tif (_wallet_session.success) {\r\n\t\t\t\t\tresolve({});\r\n\t\t\t\t} else {\r\n\t\t\t\t\treject({});\r\n\t\t\t\t}\r\n\t\t\t\t_wallet_session = null;\r\n\t\t\t}\r\n\t\t}, 250);\r\n\t});\r\n}\r\n\r\nfunction postGooglePayComplete(success) {\r\n\t// nothing to do, _wallet_session.success should have already been set\r\n\tvar desc = \"failure\";\r\n\tif (success) {\r\n\t\tdesc = \"success\";\r\n\t}\r\n\t_wallets_i4goTrueTokenObj.settings.debug && remoteLog(\"Google Pay post complete: \" + desc);\r\n}","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalDetail.vue?vue&type=style&index=0&id=7a0c4896&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalDetail.vue?vue&type=style&index=0&id=7a0c4896&scoped=true&lang=css&\""],"sourceRoot":""}