{"version":3,"sources":["webpack://client/./node_modules/braintree-web/dist/browser/index.js"],"names":["module","exports","r","e","n","t","o","i","f","u","a","Error","code","p","call","length","1","_dereq_","__importDefault","this","mod","__esModule","Object","defineProperty","value","PromiseGlobal","promise_polyfill_1","Promise","default","2","promise_1","scriptPromiseCache","loadScript","options","scriptLoadPromise","stringifiedOptions","JSON","stringify","forceScriptReload","script","document","createElement","attrs","dataAttributes","container","head","src","id","async","crossorigin","setAttribute","keys","forEach","key","resolve","reject","addEventListener","appendChild","clearCache","3","4","ua","window","navigator","userAgent","test","5","6","isEdge","isSamsung","isDuckDuckGo","isOpera","isSilk","indexOf","7","8","9","10","11","12","isIos","isGoogleSearchApp","13","isIosFirefox","webkitRegexp","isWebkit","isIosChrome","isFacebook","14","isIosGoogleSearchApp","15","isIosWebview","statusBarVisible","statusbar","visible","16","isIpadOS","checkIpadOS","iOsTest","17","18","19","20","21","isAndroid","isChrome","isSamsungBrowser","isOperaMini","isAndroidWebview","match","parseInt","isUnsupportedIosChrome","isOldSamsungBrowserOrSamsungWebview","22","23","24","25","26","27","28","29","30","31","32","33","EventEmitter","_events","prototype","on","event","callback","push","off","eventCallbacks","indexOfCallback","splice","_emit","args","_i","arguments","apply","hasListener","createChild","ChildObject","create","constructor","34","GlobalPromise","ExtendedPromise","_this","_promise","_resolveFunction","_rejectFunction","_onResolve","onResolve","defaultOnResolve","_onReject","onReject","defaultOnReject","shouldCatchExceptions","catch","_resetState","result","err","setPromise","PromiseClass","hasOwnProperty","Boolean","suppressUnhandledPromiseMessage","all","allSettled","race","arg","then","_a","isFulfilled","_setResolved","argForResolveFunction","_setRejected","isResolved","isRejected","35","set_attributes_1","default_attributes_1","assign_1","iframe","config","assign","defaultAttributes","style","setAttributes","getAttribute","name","36","target","objs","obj","37","frameBorder","allowtransparency","scrolling","38","element","attributes","removeAttribute","39","replace","c","Math","random","toString","40","deferred","fn","setTimeout","console","log","41","once","called","42","promiseOrCallback","promise","data","43","deferred_1","once_1","promise_or_callback_1","wrapPromise","lastArg","pop","wrapPrototype","ignoreMethods","includePrivateMethods","transformPrivateMethods","getOwnPropertyNames","filter","method","isNotPrivateMethod","isNonConstructorFunction","isNotAnIgnoredMethod","charAt","original","44","__assign","s","cardTypes","add_matching_cards_to_results_1","is_valid_input_type_1","find_best_match_1","clone_1","customCards","cardNames","VISA","MASTERCARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","UNIONPAY","MAESTRO","ELO","MIR","HIPER","HIPERCARD","ORIGINAL_TEST_ORDER","testOrder","clone","findType","cardType","getCardPosition","ignoreErrorForNotExisting","position","creditCardType","cardNumber","results","isValidInputType","map","cardConfiguration","addMatchingCardsToResults","bestMatch","findBestMatch","getTypeInfo","removeCard","addCard","existingCardPosition","type","updateCard","updates","originalObject","clonedCard","changeOrder","currentPosition","resetModifications","types","45","matches_1","patternLength","patterns","pattern","matches","clonedCardConfiguration","Array","isArray","String","matchStrength","46","visa","niceType","gaps","lengths","size","mastercard","discover","jcb","unionpay","maestro","elo","mir","hiper","hipercard","47","parse","48","numberOfResultsWithMaxStrengthProperty","hasEnoughResultsToDetermineBestMatch","reduce","Number","49","50","min","max","maxLengthToCheck","substr","integerRepresentationOfCardNumber","matchesRange","substring","matchesPattern","51","Framebus","lib_1","DefaultPromise","origin","channel","verifyDomain","targetFrames","limitBroadcastToFramesArray","isDestroyed","listeners","hasAdditionalChecksForOnListeners","addTargetFrame","frame","include","childWindow","Window","childWindows","emit","eventName","reply","namespaceEvent","isntString","undefined","payload","packagePayload","targetFramesAsWindows","sendMessage","broadcast","top","self","emitAsPromise","concat","originalHandler","handler","subscriptionArgsInvalid","passesVerifyDomainCheck","hasMatchingTargetFrame","source","subscribers","listener","subscriberList","teardown","checkOrigin","HTMLIFrameElement","contentWindow","win","matchingFrame","find","postMessageOrigin","merchantHost","href","location","protocol","host","52","framebus_1","attach","53","detach","_1","isAttached","onMessage","removeEventListener","54","broadcastToChildWindows","closed","55","frameToBroadcastTo","postMessage","hasOpener","opener","frames","_","56","prefix","57","dispatch","58","59","__createBinding","m","k","k2","desc","getOwnPropertyDescriptor","writable","configurable","enumerable","get","__exportStar","60","str","61","unpackPayload","eventData","62","packaged","subscribeReplier","message","63","error","64","uuid_1","uuid","replier","replyOriginHandler","65","66","67","slice","replyOrigin_1","replySource_1","replyEvent_1","replyData","replyPayload","68","setTimeoutFunc","x","noop","TypeError","_state","_handled","_value","_deferreds","doResolve","handle","_immediateFn","cb","onFulfilled","onRejected","ret","newValue","finale","thisArg","_unhandledRejectionFn","len","Handler","done","reason","ex","prom","arr","remaining","res","val","status","setImmediate","warn","69","isIE9","isAndroidChrome","isKitKatWebview","UA","isChromeOs","KITKAT_WEBVIEW_REGEX","70","device_1","71","72","BraintreeError","errors","methods","convertMethodsToError","AmericanExpress","_client","client","getRewardsBalance","nonce","_meta","paymentMethodNonce","request","endpoint","AMEX_NETWORK_ERROR","details","originalError","AMEX_NONCE_REQUIRED","getExpressCheckoutProfile","73","MERCHANT","NETWORK","74","basicComponentVerification","createDeferredClient","createAssetsUrl","verify","authorization","debug","assetsUrl","VERSION","75","analytics","ApplePay","_instantiatedWithClient","useDeferredClient","_createPromise","createPromise","_setMerchantIdentifier","_waitForClient","bind","applePayConfig","getConfiguration","gatewayConfiguration","applePayWeb","merchantIdentifier","createPaymentRequest","paymentRequest","_createPaymentRequestSynchronously","applePay","defaults","countryCode","currencyCode","merchantCapabilities","supportedNetworks","network","performValidation","validationURL","applePayWebSession","validationUrl","domainName","hostname","displayName","response","sendEvent","APPLE_PAY_MERCHANT_VALIDATION_FAILED","APPLE_PAY_MERCHANT_VALIDATION_NETWORK","APPLE_PAY_VALIDATION_URL_REQUIRED","tokenize","token","applePaymentToken","paymentData","btoa","applePayCards","APPLE_PAY_TOKENIZATION","APPLE_PAY_PAYMENT_TOKEN_REQUIRED","76","APPLE_PAY_NOT_ENABLED","77","applePayInstance","78","BRAINTREE_VERSION","GraphQL","isVerifiedDomain","convertToBraintreeError","getGatewayConfiguration","createAuthorizationData","addMetadata","GRAPHQL_URLS","assets","FRAUDNET_FNCLS","FRAUDNET_SOURCE","FRAUDNET_URL","cachedClients","Client","configuration","configurationJSON","CLIENT_MISSING_GATEWAY_CONFIGURATION","property","CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN","_request","_configuration","_clientApiBaseUrl","clientApiUrl","graphQL","url","_graphQL","initialize","clientInstance","authData","CLIENT_INVALID_AUTHORIZATION","isDebug","_findOrCreateFraudnetJSON","clientMetadataId","additionalData","authorizationFingerprint","parameters","el","querySelector","body","rda_tenant","mid","merchantId","split","pieces","component","cid","fp","bu","text","requestPromise","optionName","api","baseUrl","requestOptions","shouldCollectData","creditCards","collectDeviceData","CLIENT_OPTION_REQUIRED","timeout","metadata","analyticsMetadata","CLIENT_OPTION_INVALID","environment","clientSdkMetadata","platform","integration","sessionId","version","headers","Authorization","sendAnalyticsEvent","kind","resolvedData","requestError","CLIENT_REQUEST_TIMEOUT","CLIENT_AUTHORIZATION_INVALID","CLIENT_AUTHORIZATION_INSUFFICIENT","CLIENT_RATE_LIMITED","CLIENT_GATEWAY_NETWORK","CLIENT_REQUEST_ERROR","httpStatus","formatRequestError","CLIENT_GRAPHQL_REQUEST_ERROR","_httpStatus","toJSON","getVersion","79","80","INTERNAL","81","constants","isDateStringBeforeOrOn","configUrl","reqOptions","merchantAppId","PLATFORM","sdkVersion","SOURCE","INTEGRATION","integrationType","braintreeLibraryVersion","BRAINTREE_LIBRARY_VERSION","configVersion","date","features","tokenizationKey","errorTemplate","authorizationType","82","sharedErrors","INSTANTIATION_OPTION_REQUIRED","83","querystring","prepBody","parseBody","xhr","isXHRAvailable","isAvailable","GraphQLRequest","DefaultRequest","_requestWithRetry","tcpRetryCount","resBody","ajaxRequest","parsedBody","req","getRequestObject","isGraphQLRequest","getUrl","getBody","getMethod","getHeaders","queryify","onreadystatechange","readyState","responseText","adaptResponseBody","determineStatus","errorClass","extensions","graphQLRequestShouldRetryWithClientApi","requestShouldRetry","onload","onerror","onprogress","ontimeout","open","requestOpenError","headerKey","setRequestHeader","send","84","_url","_data","_method","_headers","85","errorResponseAdapter","cardTypeTransforms","INTERNATIONAL_MAESTRO","SOLO","UK_MAESTRO","UNION_PAY","DINERS","mapCardTypes","cardTypeTransformMap","acc","responseBody","ctx","clientConfiguration","toLowerCase","analyticsUrl","venmo","supportedFeatures","_config","feature","braintreeApi","supportedCardBrands","ideal","kount","kountMerchantId","creditCard","challenges","challenge","supportedCardTypes","threeDSecureEnabled","threeDSecure","googlePay","androidPay","enabled","googleAuthorizationFingerprint","googleAuthorization","paypalClientId","payWithVenmo","accessToken","enrichedCustomerDataEnabled","paypal","paypalEnabled","currencyIsoCode","unionPay","merchantAccountId","visaCheckout","apikey","apiKey","encryptionKey","externalClientId","masterpass","merchantCheckoutId","usBankAccount","routeId","plaid","publicKey","plaidPublicKey","adaptConfigurationResponseBody","86","CARD_BRAND_MAP","BIN_DATA_MAP","YES","NO","UNKNOWN","AUTHENTICATION_INSIGHT_MAP","PSDTWO","regulationEnvironment","tokenizeCreditCard","lastTwo","last4","binData","consumed","description","cardholderName","expirationMonth","expirationYear","bin","brandCode","lastFour","threeDSecureInfo","authenticationInsight","customerAuthenticationRegulationEnvironment","adaptTokenizeCreditCardResponseBody","87","fieldErrors","inputPath","addFieldError","errorDetail","fieldError","legacyCode","inputField","candidate","field","buildFieldErrors","userErrorResponseAdapter","errorWithClassResponseAdapter","88","query","operationName","89","createMutation","hasAuthenticationInsight","mutation","createCreditCardTokenizationBody","cc","billingAddress","expDate","expirationDate","trim","variables","input","number","cvv","authenticationInsightInput","validate","addValidationRule","90","tokenize_credit_cards","disallowedInputPaths","getGraphQLEndpoint","featureEnabled","path","getClientApiPath","_isGraphQLEnabled","some","accumulator","containsDisallowedlistedKeys","pathParts","91","snakeCaseToCamelCase","creditCardTokenizationBodyGenerator","creditCardTokenizationResponseAdapter","configurationBodyGenerator","configurationResponseAdapter","generators","adapters","clientApiPath","_clientSdkMetadata","_sendAnalyticsEvent","Function","_generator","_adapter","formattedBody","formatBodyKeys","originalBody","camelCaseKey","generatedBody","parsedResponse","isGraphQLError","92","AJAXDriver","toUpperCase","93","94","95","XMLHttpRequest","XDomainRequest","96","DATA_COLLECTOR_KOUNT_NOT_ENABLED","DATA_COLLECTOR_KOUNT_ERROR","DATA_COLLECTOR_REQUIRES_CREATE_OPTIONS","97","cachedSessionId","Fraudnet","removeElementIfOnPage","parentNode","removeChild","floor","_generateSessionId","_beaconId","timestamp","Date","getTime","_generateBeaconId","_parameterBlock","beaconId","b","sandbox","_createParameterBlock","block","_thirdPartyBlock","setup","fraudNet","clearSessionIdCache","98","fraudnet","_instances","_instantiatedWithAClient","kountInstance","deviceData","riskCorrelationId","correlationId","fraudnetInstance","correlation_id","rawDeviceData","instance","createTeardownMethod","getDeviceData","raw","createGetDeviceDataMethod","99","sjcl","camelCaseToSnakeCase","QA_URL","environmentUrls","development","qa","production","cachedDeviceData","Kount","previouslyInitializedDeviceData","getCachedDeviceData","_isCached","_currentEnvironment","_initializeEnvironment","startCollectors","_deviceSessionId","_generateDeviceSessionId","_getDeviceData","setCachedDeviceData","_iframe","_setupIFrame","stopCollectors","_removeIframe","deviceSessionId","fraudMerchantId","bits","randomWords","codec","hex","fromBits","params","width","height","left","title","innerHTML","100","cipher","hash","keyexchange","mode","misc","exception","corrupt","invalid","bug","notReady","d","g","l","h","q","v","w","A","B","C","performance","now","addEntropy","valueOf","y","z","aes","encrypt","G","decrypt","bitArray","bitSlice","M","clamp","extract","getPartial","bitLength","ceil","partial","round","equal","Y","byteswapM","utf8String","fromCharCode","decodeURIComponent","escape","toBits","unescape","encodeURIComponent","charCodeAt","sha256","reset","update","finalize","blockSize","K","Uint32Array","subarray","pow","prng","H","F","J","L","j","T","D","progress","seeded","S","O","I","P","N","isReady","setDefaultParanoia","getProgress","loadTimeCollector","V","mouseCollector","W","keyboardCollector","U","accelerometerCollector","R","touchCollector","X","attachEvent","detachEvent","clientX","offsetX","clientY","offsetY","touches","changedTouches","pageX","pageY","accelerationIncludingGravity","orientation","E","randomBytes","Uint8Array","buffer","crypto","getRandomValues","msCrypto","101","GOOGLE_PAYMENT_NOT_ENABLED","GOOGLE_PAYMENT_GATEWAY_ERROR","GOOGLE_PAYMENT_UNSUPPORTED_VERSION","102","generateGooglePayConfiguration","CREATE_PAYMENT_DATA_REQUEST_METHODS","GooglePayment","_useDeferredClient","_googlePayVersion","googlePayVersion","_googleMerchantId","googleMerchantId","_isUnsupportedGooglePayAPIVersion","_getDefaultConfig","_defaultConfig","_createV1PaymentDataRequest","paymentDataRequest","defaultConfig","overrideCardNetworks","cardRequirements","allowedCardNetworks","defaultConfigCardNetworks","_createV2PaymentDataRequest","allowedPaymentMethods","paymentMethod","defaultPaymentMethod","merchantSubmittedPaymentMethod","parameter","applyDefaultsToPaymentMethodConfiguration","createPaymentDataRequest","overrides","_createPaymentDataRequestSyncronously","createPaymentDataRequestMethod","parseResponse","rawResponse","apiVersion","paymentMethodData","tokenizationData","paymentMethodToken","paypalAccounts","androidPayCards","isNetworkTokenized","103","104","allowedAttributes","attribute","_isValid","HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED","HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED","105","useMin","componentId","106","directions","navigationDirections","browserDetection","focusIntercept","findParentTags","userFocusableTagNames","unfocusedInputTypes","_isUserFocusableElement","hasSoftwareKeyboard","tagName","_findFirstFocusableElement","elementsInForm","elementsIndex","removeExtraFocusElements","checkoutForm","onRemoveFocusIntercepts","elements","reverse","matchFocusElement","createFocusChangeHandler","hostedFieldsId","callbacks","currentIndex","targetElement","navHelper","sourceElement","getElementById","direction","forms","numberOfElementsInForm","BACK","checkIndexBounds","index","indexChange","FORWARD","_createNavigationHelper","onTriggerInputFocus","focus","107","allowedStyles","cssClass","computedStyles","styles","className","display","getComputedStyle","108","Destructor","iFramer","Bus","composeUrl","getStylesFromClass","INTEGRATION_TIMEOUT_MS","events","injectFrame","allowedFields","shadow","findRootNode","getCardTypes","attributeValidationError","focusChange","destroyFocusIntercept","destroy","HostedFields","failureTimeout","clientConfig","hostedFieldsUrl","fields","frameReadyPromiseResolveFunctions","frameReadyPromises","_merchantConfigurationOptions","_clientPromise","_injectedNodes","_destructor","_fields","cards","_bus","registerFunctionForTeardown","externalContainer","internalContainer","frameReadyPromise","HOSTED_FIELDS_INVALID_FIELD_KEY","selector","nodeType","HOSTED_FIELDS_INVALID_FIELD_SELECTOR","fieldSelector","fieldContainer","fieldKey","HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME","isShadowElement","transformToSlot","maxlength","HOSTED_FIELDS_FIELD_PROPERTY_INVALID","minlength","defaultIFrameStyle","iframeTitle","label","_setupLabelFocus","frameElement","containerElement","isEmpty","isValid","isPotentiallyValid","isFocused","REMOVE_FOCUS_INTERCEPTS","TRIGGER_FOCUS_CHANGE","targetType","READY_FOR_CLIENT","CARD_FORM_ENTRY_HAS_BEGUN","BIN_AVAILABLE","clearTimeout","formattedConfig","formatMerchantConfigurationForIframes","_cleanUpFocusIntercepts","FRAME_READY","INPUT_EVENT","merchantPayload","emittedBy","classList","toggle","externalClasses","FOCUSED","VALID","INVALID","createInputEventHandler","node","parent","remove","methodNames","labels","rootNode","querySelectorAll","triggerFocus","_getAnyFieldContainer","found","iframeContainer","_attachInvalidFieldContainersToError","invalidFieldKeys","invalidFields","getChallenges","getSupportedCardTypes","TOKENIZATION_REQUEST","addClass","classname","ADD_CLASS","HOSTED_FIELDS_FIELD_NOT_PRESENT","HOSTED_FIELDS_FIELD_INVALID","removeClass","REMOVE_CLASS","attributeErr","SET_ATTRIBUTE","setMonthOptions","errorMessage","merchantOptions","select","SET_MONTH_OPTIONS","setMessage","SET_MESSAGE","REMOVE_ATTRIBUTE","setPlaceholder","placeholder","clear","CLEAR_FIELD","fieldConfig","TRIGGER_INPUT_FOCUS","boundingBox","getBoundingClientRect","verticalMidpoint","horizontalMidpoint","innerHeight","documentElement","clientHeight","right","bottom","innerWidth","clientWidth","isVisibleEnough","scrollIntoView","getState","109","focusHandler","frameType","clearboth","fragment","createDocumentFragment","focusInterceptBefore","generate","focusInterceptAfter","110","supportsInputFormatting","HOSTED_FIELDS_TIMEOUT","111","isChromeOS","isChromeIos","isFirefox","112","enumerate","maxExpirationYearAge","externalEvents","FOCUS","BLUR","EMPTY","NOT_EMPTY","VALIDITY_CHANGE","CARD_TYPE_CHANGE","defaultMaxLengths","postalCode","border","float","tokenizationErrorCodes","81724","HOSTED_FIELDS_TOKENIZATION_FAIL_ON_DUPLICATE","81736","HOSTED_FIELDS_TOKENIZATION_CVV_VERIFICATION_FAILED","disabled","autocompleteMappings","expiration","113","HOSTED_FIELDS_TOKENIZATION_NETWORK_ERROR","CUSTOMER","HOSTED_FIELDS_FAILED_TOKENIZATION","HOSTED_FIELDS_FIELDS_EMPTY","HOSTED_FIELDS_FIELDS_INVALID","114","tag","parents","115","opacity","add","blur","idString","focusInputs","idComponents","hasBTPrefix","isAllowedType","isValidDirection","116","card","117","americanExpress","dataCollector","hostedFields","localPayment","paypalCheckout","googlePayment","sepa","vaultManager","preferredPaymentMethods","118","jsonClone","authAttrs","119","clientInstanceOrPromise","timestampInPromise","ANALYTICS_PREFIX","isAsync","ANALYTICS_REQUEST_TIMEOUT_MS","120","121","assignNormalized","assignPolyfill","destination","_assign","122","INCOMPATIBLE_VERSIONS","INVALID_USE_OF_INTERNAL_FUNCTION","123","functions","finish","124","findRootError","125","newObj","transformKey","126","ASSETS_URLS","CLIENT_API_URLS","BUS_CONFIGURATION_REQUEST_EVENT","127","methodName","METHOD_CALLED_AFTER_TEARDOWN","128","originalErr","btErrorObject","129","130","atob","parsedClientToken","parsedTokenizationKey","tokens","join","_parseTokenizationKey","131","braintree","CLIENT_SCRIPT_FAILED_TO_LOAD","132","133","batchExecuteFunctions","_teardownRegistry","_isTearingDown","134","values","enumeration","135","136","137","array","138","Popup","PopupBridge","Modal","REQUIRED_CONFIG_KEYS","FrameService","_validateFrameConfiguration","_serviceId","_options","dispatchFrameUrl","openFrameUrl","state","_setBusEvents","dispatchFrameReadyHandler","DISPATCH_FRAME_READY","_writeDispatchFrame","frameName","DISPATCH_FRAME_NAME","frameSrc","_dispatchFrame","class","DISPATCH_FRAME_CLASS","DISPATCH_FRAME_REPORT","_onCompleteCallback","_frame","close","_getFrameForEnvironment","isFrameClosed","_cleanupFrame","FRAME_SERVICE_FRAME_OPEN_FAILED","_pollForPopupClose","redirect","createHandler","beforeClose","beforeFocus","createNoopHandler","isClosed","clearInterval","_popupInterval","setInterval","FRAME_SERVICE_FRAME_CLOSED","POPUP_POLL_INTERVAL","usePopup","supportsPopups","popupBridgeExists","popupBridge","initOptions","139","frameService","140","ELEMENT_STYLES","padding","margin","outline","zIndex","background","_closed","_container","iframerConfig","isIosWKWebview","_lockScrolling","_el","overflow","_unlockScrolling","redirectUrl","_savedBodyProperties","overflowStyle","positionStyle","scrollTo","doc","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","141","onComplete","popupDismissed","142","calculatePosition","userDefinedPosition","DEFAULT_POPUP_HEIGHT","DEFAULT_POPUP_WIDTH","POPUP_BASE_OPTIONS","143","composeOptions","144","center","windowMetric","popupMetric","offset","outerHeight","screenY","screenTop","outerWidth","screenX","screenLeft","145","146","POPUP_CLOSE_TIMEOUT","147","148","149","generateTokenizationParameters","basicTokenizationParameters","gateway","paypalPaymentMethod","androidPayConfiguration","apiVersionMinor","allowedAuthMethods","tokenizationSpecification","merchantInfo","purchase_context","purchase_units","payee","client_id","recurring_payment","paymentMethodTokenizationParameters","tokenizationType","150","151","convertDateStringToDate","dateString","splitDate","firstDate","secondDate","152","isHTTPS","153","parser","legalHosts","mainDomain","154","155","156","157","hasQueryParams","namespace","toReturn","keyValue","parts","_notEmpty","158","getShadowHost","styleNode","shadowHost","slotName","slot","slotProvider","sheet","insertRule","159","snakeString","160","161","atobNormalized","atobPolyfill","base64String","b2","b3","characters","RegExp","_atob","162","REQUIRED_OPTIONS_FOR_START_PAYMENT","REQUIRED_OPTIONS_FOR_DEFERRED_PAYMENT_TYPE","REQUIRED_OPTIONS_FOR_ADDRESS","REQUIRED_OPTIONS_FOR_LINE_ITEMS","DEFERRED_PAYMENT_TYPES","163","LocalPayment","_assetsUrl","_isDebug","_loadingFrameUrl","_authorizationInProgress","_paymentType","_merchantAccountId","isDeferredPaymentType","paymentType","hasMissingAddressOption","option","hasMissingLineItemsOption","items","item","_initialize","service","_frameService","startPayment","missingOption","missingError","address","fallback","windowOptions","serviceId","missingAddressOption","missingLineItemOption","buttonText","hasMissingOption","LOCAL_PAYMENT_START_PAYMENT_MISSING_REQUIRED_OPTION","intent","returnUrl","cancelUrl","cancelButtonText","experienceProfile","brandName","noShipping","shippingAddressRequired","locale","customerServiceInstructions","fundingSource","paymentTypeCountryCode","amount","firstName","givenName","lastName","surname","payerEmail","email","phone","line1","streetAddress","line2","extendedAddress","city","locality","region","bic","birthDate","discountAmount","phoneCountryCode","shippingAmount","lineItems","LOCAL_PAYMENT_ALREADY_IN_PROGRESS","_startPaymentCallback","_createStartPaymentCallback","_startPaymentOptions","onPaymentStart","paymentId","paymentResource","paymentToken","LOCAL_PAYMENT_START_PAYMENT_FAILED","LOCAL_PAYMENT_INVALID_PAYMENT_OPTION","queryItems","wasCanceled","LOCAL_PAYMENT_CANCELED","errorcode","btLpToken","_formatTokenizeData","_formatTokenizePayload","LOCAL_PAYMENT_TOKENIZATION_FAILED","closeWindow","_authoriztionInProgress","focusWindow","LOCAL_PAYMENT_WINDOW_CLOSED","LOCAL_PAYMENT_WINDOW_OPEN_FAILED","account","payerInfo","hasTokenizationParams","btLpPaymentId","btLpPayerId","paypalAccount","payerId","PayerID","unilateral","unvettedMerchant","164","LOCAL_PAYMENT_NOT_ENABLED","165","166","Masterpass","_authInProgress","getReturnUrlPrefix","_callbackUrl","LANDING_FRAME_NAME","POPUP_HEIGHT","POPUP_WIDTH","REQUIRED_OPTIONS_FOR_TOKENIZE","MASTERPASS_TOKENIZE_MISSING_REQUIRED_OPTION","MASTERPASS_TOKENIZATION_ALREADY_IN_PROGRESS","_navigateFrameToLoadingPage","frameOptions","_createFrameOpenHandler","requestToken","originUrl","subtotal","callbackUrl","queryParams","allowedCardTypes","MASTERPASS_VERSION","_closeWindow","MASTERPASS_INVALID_PAYMENT_OPTION","MASTERPASS_FLOW_FAILED","popupBridgeErr","MASTERPASS_POPUP_CLOSED","_tokenizeMasterpass","frameServiceErr","MASTERPASS_POPUP_OPEN_FAILED","mpstatus","oauth_verifier","oauth_token","checkout_resource_url","isMissingRequiredPayload","MASTERPASS_POPUP_MISSING_REQUIRED_PARAMETERS","masterpassCard","checkoutResourceUrl","verifierToken","masterpassCards","tokenizeErr","MASTERPASS_ACCOUNT_TOKENIZATION_FAILED","167","isSupported","MASTERPASS_BROWSER_NOT_SUPPORTED","MASTERPASS_NOT_ENABLED","168","169","170","171","CARD_TYPE_MAPPINGS","Visa","MasterCard","Discover","UnionPay","Maestro","PaymentRequestComponent","enabledPaymentMethods","_componentId","_enabledPaymentMethods","basicCard","_supportedPaymentMethods","_constructDefaultSupportedPaymentMethods","_defaultSupportedPaymentMethods","supportedPaymentMethods","supportedMethods","allowPaymentRequest","PAYMENT_REQUEST_NO_VALID_SUPPORTED_PAYMENT_METHODS","FRAME_CAN_MAKE_REQUESTS","SHIPPING_ADDRESS_CHANGE","shippingAddress","shippingAddressChangeEvent","updateWith","paymentDetails","UPDATE_SHIPPING_ADDRESS","SHIPPING_OPTION_CHANGE","shippingOption","shippingOptionChangeEvent","UPDATE_SHIPPING_OPTION","createSupportedPaymentMethodsConfiguration","PAYMENT_REQUEST_CREATE_SUPPORTED_PAYMENT_METHODS_CONFIGURATION_MUST_INCLUDE_TYPE","PAYMENT_REQUEST_CREATE_SUPPORTED_PAYMENT_METHODS_CONFIGURATION_TYPE_NOT_ENABLED","PAYMENT_REQUEST_INITIALIZED","rawError","_formatTokenizationError","rawPaymentResponse","canMakePayment","unsupportedPaymentMethod","PaymentRequest","SUPPORTED_METHODS","PAYMENT_REQUEST_UNSUPPORTED_PAYMENT_METHOD","CAN_MAKE_PAYMENT","_formatCanMakePaymentError","formattedError","PAYMENT_REQUEST_CANCELED","PAYMENT_REQUEST_INITIALIZATION_MISCONFIGURED","PAYMENT_REQUEST_GOOGLE_PAYMENT_FAILED_TO_TOKENIZE","PAYMENT_REQUEST_GOOGLE_PAYMENT_PARSING_ERROR","PAYMENT_REQUEST_NOT_COMPLETED","PAYMENT_REQUEST_CAN_MAKE_PAYMENT_NOT_ALLOWED","PAYMENT_REQUEST_CAN_MAKE_PAYMENT_FAILED","172","173","174","175","PAYPAL_NOT_ENABLED","PAYPAL_SANDBOX_ACCOUNT_NOT_LINKED","PAYPAL_ACCOUNT_TOKENIZATION_FAILED","PAYPAL_FLOW_FAILED","PAYPAL_FLOW_OPTION_REQUIRED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_PARAM_REQUIRED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_SETUP_FAILED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_POPUP_OPEN_FAILED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_CANCELED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_IN_PROGRESS","PAYPAL_INVALID_PAYMENT_OPTION","PAYPAL_MISSING_REQUIRED_OPTION","176","PayPalCheckout","177","REQUIRED_PARAMS_FOR_START_VAULT_INITIATED_CHECKOUT","_autoSetDataUserIdToken","autoSetDataUserIdToken","_authorizationInformation","fingerprint","environmentNoNetwork","_setupError","_frameServicePromise","_setupFrameService","frameServicePromise","timeoutRef","createPayment","FLOW_ENDPOINTS","flow","_createPaymentResource","agreementSetup","tokenId","intentFromCreatePayment","offerCredit","_formatPaymentResourceData","updatePayment","_hasMissingOption","REQUIRED_OPTIONS","_verifyConsistentCurrency","_formatUpdatePaymentData","startVaultInitiatedCheckout","missingRequiredParam","_vaultInitiatedCheckoutInProgress","param","_addModalBackdrop","_waitForVaultInitiatedCheckoutDependencies","frameCommunicationPromise","startVaultInitiatedCheckoutPromise","_constructVaultCheckutUrl","_createFrameServiceCallback","_removeModalBackdrop","optOutOfModalBackdrop","_modalBackdrop","focusVaultInitiatedCheckoutWindow","closeVaultInitiatedCheckoutWindow","tokenizePayment","payerID","paymentID","orderID","orderId","tokenizationError","tokenizeOptions","shouldVault","billingToken","ecToken","shippingOptionsId","vault","creditFinancingOffered","getClientId","clientId","loadPayPalSDK","loadPromise","userIdToken","_paypalScript","components","currency","_attachPreloadPixel","insertBefore","firstElementChild","env","preloadOptions","offerPaypalCredit","localeCode","enableShippingAddress","addressOverride","shippingAddressEditable","landingPageType","shippingOptions","requestBillingAgreement","vaultInitiatedCheckoutPaymentMethodToken","shippingAddressOverride","billingAgreementDetails","billingAgreementDescription","_riskCorrelationId","every","required","recipientName","isTokenizationKey","isVaultFlow","billingAgreementToken","shippingOptionId","cobrandedCardLabel","178","PayPal","tokenizePromise","optionError","PAYPAL_TOKENIZATION_REQUEST_ACTIVE","offerPayLater","_navigateFrameToAuth","canceled","PAYPAL_POPUP_CLOSED","_tokenizePayPal","PAYPAL_POPUP_OPEN_FAILED","ba_token","approvalUrl","useraction","179","180","checkout","181","182","PreferredPaymentMethods","183","fetchPreferredPaymentMethods","paypalPreferred","venmoPreferred","184","sepaErrors","billingAddressOptions","BILLING_ADDRESS_OPTIONS","createMandate","sepa_debit","account_holder_name","accountHolderName","billing_address","country_code","iban","merchant_or_partner_customer_id","customerId","mandate_type","mandateType","cancel_url","return_url","merchant_account_id","ccOption","sepaDebitAccount","SEPA_CREATE_MANDATE_FAILED","bankReferenceToken","openPopup","assetsBaseUrl","popupLocation","popupTop","popupLeft","centeredPopupDimensions","frameServiceInstance","success","mandateApproved","cancel","customerCanceled","SEPA_CUSTOMER_CANCELED","SEPA_TOKENIZATION_FAILED","handleApproval","sepa_debit_account","last_4","bank_reference_token","SEPA_TRANSACTION_FAILED","ibanLastFour","185","mandates","SEPA","_returnUrl","_cancelUrl","createMandateOptions","SEPA_TOKENIZE_MISSING_REQUIRED_OPTION","MANDATE_TYPE_ENUM","includes","mandateResponse","approval","SEPA_INVALID_MANDATE_TYPE","186","187","188","189","190","BaseFramework","_createOptions","setUpEventListeners","THREEDS_FRAMEWORK_METHOD_NOT_IMPLEMENTED","verifyCard","privateOptions","formattedOptions","_checkForVerifyCardError","_verifyCardInProgress","_formatVerifyCardOptions","_formatLookupData","_performLookup","lookup","threeDSecureVersion","_onLookupComplete","initializeChallengeWithLookupResponse","_resetVerificationState","_checkForFrameworkSpecificVerifyCardErrors","_presentChallenge","prepareLookup","_verifyCardPromisePlus","_reloadThreeDSecure","lookupError","analyticsMessage","THREEDS_LOOKUP_TOKENIZED_CARD_NOT_FOUND_ERROR","THREEDS_LOOKUP_VALIDATION_ERROR","THREEDS_LOOKUP_ERROR","errorOption","THREEDS_AUTHENTICATION_IN_PROGRESS","THREEDS_MISSING_VERIFY_CARD_OPTION","lookupResponse","_lookupPaymentMethod","_handleLookupResponse","liabilityShifted","liabilityShiftPossible","challengeShouldBePresented","acsUrl","_formatAuthResponse","verificationDetails","browserColorDepth","screen","colorDepth","browserJavaEnabled","javaEnabled","browserJavascriptEnabled","browserLanguage","language","browserScreenHeight","browserScreenWidth","browserTimeZone","getTimezoneOffset","deviceChannel","_handleV1AuthResponse","authResponse","auth_response","cancelVerifyCard","THREEDS_NO_VERIFICATION_PAYLOAD","_setupV1Bus","parentURL","bus","authenticationCompleteBaseUrl","pareq","termUrl","md","parentUrl","AUTHENTICATION_COMPLETE","handleAuthResponse","_setupV1Iframe","showLoader","_v1Bus","_setupV1Elements","_v1Iframe","_teardownV1Elements","_onV1Keyup","191","SongbirdFramework","Bootstrap3ModalFramework","_createV1IframeModalElement","modal","_createCardinalConfigurationOptions","setupOptions","payment","framework","192","CardinalModalFramework","addCloseButton","cardinalSDKConfig","displayExitButton","193","LegacyFramework","InlineIframeFramework","legacy","194","AUTHENTICATION_IFRAME_AVAILABLE","next","_addV1IframeToPage","_v1Modal","_setupFrameworkSpecificListeners","setCardinalListener","_onInlineSetup","htmlTemplate","hasError","THREEDS_INLINE_IFRAME_DETAILS_INCORRECT","195","transformV1CustomerBillingAddress","customer","countryCodeAlpha2","_createIframe","_handleAuthResponse","removeFrame","addFrame","modifiedOptions","196","SONGBIRD_UI_EVENTS","SCA_EXEMPTION_TYPES","_useV1Fallback","_clientMetadata","requestedThreeDSecureVersion","originalSetupOptions","_getDfReferenceIdPromisePlus","setupSongbird","_cardinalEvents","extractAddressData","line3","LOOKUP_COMPLETE","CUSTOMER_CANCELED","getDfReferenceId","dfReferenceId","_triggerCardinalBinProcess","clientMetadata","initiateV1Fallback","errorType","_removeSongbirdListeners","_songbirdPromise","issuerStartTime","Cardinal","trigger","binResults","issuerDeviceDataCollectionTimeElapsed","issuerDeviceDataCollectionResult","Status","transformBillingAddress","additionalInformation","billingPhoneNumber","phoneNumber","billingGivenName","billingSurname","transformShippingAddress","_createV1IframeModal","btn","backdrop","closeHandler","THREEDS_CARDINAL_SDK_CANCELED","_handleAuthResponseFromV1Fallback","_presentChallengeWithV1Fallback","startTime","_v2SetupFailureReason","_loadCardinalScript","_configureCardinalSdk","setupStartTime","THREEDS_CARDINAL_SDK_SETUP_FAILED","_songbirdSetupTimeoutReference","threeDSConfig","jwt","cardinalAuthenticationJWT","cardinalConfiguration","_createPaymentsSetupCompleteCallback","configure","cardinalDeviceDataCollectionTimeElapsed","_createPaymentsValidatedCallback","paymentSettings","logging","loggingEnabled","level","displayLoading","scriptSource","_getCardinalScriptSource","THREEDS_CARDINAL_SDK_SCRIPT_LOAD_FAILED","gatewayConfig","CARDINAL_SCRIPT_SOURCE","_performJWTValidation","rawCardinalSDKVerificationData","cancelCode","Payment","ExtendedData","ChallengeCancel","formattedResponse","THREEDS_JWT_AUTHENTICATION_FAILED","validatedJwt","ActionCode","ErrorNumber","THREEDS_CARDINAL_SDK_SETUP_TIMEDOUT","THREEDS_CARDINAL_SDK_RESPONSE_TIMEDOUT","THREEDS_CARDINAL_SDK_BAD_CONFIG","THREEDS_CARDINAL_SDK_BAD_JWT","THREEDS_CARDINAL_SDK_ERROR","ErrorDescription","onLookupComplete","ignoreOnLookupCompleteRequirement","mobilePhoneNumber","requiresUserAuthentication","transactionId","continue","AcsUrl","Payload","OrderDetails","TransactionId","additionalInfo","accountType","challengeRequested","requestedExemptionType","THREEDS_REQUESTED_EXEMPTION_TYPE_INVALID","customFields","dataOnlyRequested","exemptionRequested","requestVisaDAF","cardAdd","cardAddChallengeRequested","merchantName","verifyCardError","THREEDS_VERIFY_CARD_CANCELED_BY_MERCHANT","197","FRAMEWORKS","ThreeDSecure","Framework","_framework","198","THREEDS_UNSUPPORTED_VERSION","THREEDS_UNRECOGNIZED_VERSION","getFramework","gwConfig","THREEDS_NOT_ENABLED","THREEDS_CAN_NOT_USE_TOKENIZATION_KEY","THREEDS_HTTPS_REQUIRED","THREEDS_NOT_ENABLED_FOR_V2","199","200","THREEDS_TERM_URL_REQUIRES_BRAINTREE_DOMAIN","201","202","UNIONPAY_NOT_ENABLED","203","HOSTED_FIELDS_FRAME_NAME","204","UNIONPAY_HOSTED_FIELDS_INSTANCE_INVALID","UNIONPAY_HOSTED_FIELDS_INSTANCE_REQUIRED","UNIONPAY_CARD_OR_HOSTED_FIELDS_INSTANCE_REQUIRED","UNIONPAY_CARD_AND_HOSTED_FIELDS_INSTANCES","UNIONPAY_EXPIRATION_DATE_INCOMPLETE","UNIONPAY_ENROLLMENT_CUSTOMER_INPUT_INVALID","UNIONPAY_ENROLLMENT_NETWORK_ERROR","UNIONPAY_FETCH_CAPABILITIES_NETWORK_ERROR","UNIONPAY_TOKENIZATION_NETWORK_ERROR","UNIONPAY_MISSING_MOBILE_PHONE_DATA","UNIONPAY_FAILED_TOKENIZATION","205","fetchCapabilities","_initializeHostedFields","HOSTED_FIELDS_FETCH_CAPABILITIES","enroll","mobile","HOSTED_FIELDS_ENROLL","unionPayEnrollment","mobileCountryCode","mobileNumber","enrollmentId","unionPayEnrollmentId","smsCodeRequired","smsCode","tokenizedCard","HOSTED_FIELDS_TOKENIZE","_hostedFieldsFrame","_hostedFieldsInitializePromise","206","PLAID_LINK_JS","207","US_BANK_ACCOUNT_OPTION_REQUIRED","US_BANK_ACCOUNT_MUTUALLY_EXCLUSIVE_OPTIONS","US_BANK_ACCOUNT_LOGIN_LOAD_FAILED","US_BANK_ACCOUNT_LOGIN_CLOSED","US_BANK_ACCOUNT_LOGIN_REQUEST_ACTIVE","US_BANK_ACCOUNT_TOKENIZATION_NETWORK_ERROR","US_BANK_ACCOUNT_FAILED_TOKENIZATION","US_BANK_ACCOUNT_NOT_ENABLED","US_BANK_ACCOUNT_BANK_LOGIN_NOT_ENABLED","208","USBankAccount","209","TOKENIZE_BANK_DETAILS_MUTATION","createGraphQLMutation","TOKENIZE_BANK_LOGIN_MUTATION","_isTokenizingBankLogin","errorFrom","BRAINTREE_API_ACCESS_RESTRICTED","formatTokenizeResponseFromGraphQL","addLoadListeners","loadHandler","errorHandler","Plaid","formatBillingAddressForGraphQL","zipCode","formatDataForOwnershipType","ownershipType","individualOwner","businessOwner","businessName","mandateText","bankDetails","bankLogin","_tokenizeBankDetails","_tokenizeBankLogin","achMandate","routingNumber","accountNumber","isProduction","plaidConfig","_loadPlaid","plaidLoadErr","clientName","product","selectAccount","onExit","onSuccess","publicToken","accountId","account_id","subtype","usBankLogin","existingScript","_plaidScript","210","VAULT_MANAGER_DELETE_PAYMENT_METHOD_NONCE_REQUIRES_CLIENT_TOKEN","VAULT_MANAGER_PAYMENT_METHOD_NONCE_NOT_FOUND","VAULT_MANAGER_DELETE_PAYMENT_METHOD_UNKNOWN_ERROR","211","VaultManager","212","formatPaymentMethodPayload","formattedPaymentMethod","hasSubscription","fetchPaymentMethods","defaultFirst","paymentMethodsPayload","paymentMethods","deletePaymentMethod","singleUseTokenId","213","venmo_desktop_1","214","VENMO_PAYMENT_CONTEXT_STATUS_QUERY","LEGACY_VENMO_PAYMENT_CONTEXT_STATUS_QUERY","UPDATE_PAYMENT_CONTEXT_QUERY","LEGACY_UPDATE_PAYMENT_CONTEXT_QUERY","CREATE_PAYMENT_CONTEXT_QUERY","LEGACY_CREATE_PAYMENT_CONTEXT_QUERY","215","iframer_1","events_1","queries_1","VenmoDesktop","isHidden","profileId","paymentMethodUsage","shouldUseLegacyQRCodeMutation","frameUrl","apiRequest","alertBox","VENMO_DESKTOP_IFRAME_READY","VENMO_DESKTOP_REQUEST_NEW_QR_CODE","startPolling","launchDesktopFlow","launchDesktopPromiseRejectFunction","removeListeners","VENMO_DESKTOP_CUSTOMER_CANCELED","customerCancelledHandler","VENMO_DESKTOP_UNKNOWN_ERROR","unknownErrorHandler","allowUIToHandleError","updateVenmoDesktopPaymentContext","completedHandler","setAlert","venmoContextId","triggerCompleted","triggerRejected","hideDesktopFlow","VENMO_DESKTOP_CLOSED_FROM_PARENT","displayError","VENMO_DESKTOP_DISPLAY_ERROR","displayQRCode","VENMO_DESKTOP_DISPLAY_QR_CODE","authorize","VENMO_DESKTOP_AUTHORIZE","authorizing","VENMO_DESKTOP_AUTHORIZING","createVenmoDesktopPaymentContext","expiresIn","expiresAt","createdAt","expiredTime","pollForStatusChange","username","userName","paymentMethodId","lookupVenmoDesktopPaymentContext","newStatus","textContent","createPaymentContextFromGraphqlLegacyQRCodeMutation","createVenmoQRCodePaymentContext","venmoQRCodePaymentContext","createPaymentContextFromGraphQL","customerClient","merchantProfileId","createVenmoPaymentContext","venmoPaymentContext","context","additionalOptions","216","Venmo","supportsVenmo","VENMO_INVALID_PROFILE_ID","deepLinkReturnUrl","VENMO_INVALID_DEEP_LINK_RETURN_URL","VENMO_NOT_ENABLED","isBrowserSupported","217","isIosSafari","isFacebookOwnedBrowserOnAndroid","doesNotSupportWindowOpenInIos","218","DOCUMENT_VISIBILITY_CHANGE_EVENT_DELAY","DEFAULT_PROCESS_RESULTS_DELAY","VENMO_APP_OR_MOBILE_AUTH_URL","VENMO_MOBILE_APP_AUTH_ONLY_URL","VENMO_WEB_LOGIN_URL","219","VENMO_TOKENIZATION_REQUEST_ACTIVE","VENMO_TOKENIZATION_REQUEST_NOT_ACTIVE","VENMO_APP_FAILED","VENMO_APP_CANCELED","VENMO_CANCELED","VENMO_CUSTOMER_CANCELED","VENMO_NETWORK_ERROR","VENMO_DESKTOP_CANCELED","VENMO_TOKENIZATION_CANCELED_BY_MERCHANT","VENMO_MOBILE_PAYMENT_CONTEXT_SETUP_FAILED","VENMO_MOBILE_POLLING_TOKENIZATION_NETWORK_ERROR","VENMO_MOBILE_POLLING_TOKENIZATION_EXPIRED","VENMO_MOBILE_POLLING_TOKENIZATION_CANCELED","VENMO_MOBILE_POLLING_TOKENIZATION_TIMEOUT","VENMO_MOBILE_POLLING_TOKENIZATION_FAILED","VENMO_TOKENIZATION_FAILED","VENMO_ECD_DISABLED","220","VENMO_DESKTOP_AUTHORIZATION_TIMED_OUT","221","venmoConstants","useAllowDesktopWebLogin","mobileWebFallBack","222","merchantAllowsReturningToNewBrowserTab","merchantAllowsWebviews","merchantAllowsDesktopBrowsers","isMobileDevice","isMobileDeviceThatSupportsReturnToSameTab","isKnownUnsupportedMobileBrowser","allowDesktopWebLogin","allowDesktop","allowNewBrowserTab","allowWebviews","223","ELEMENT_IDS","venmoUrl","checkForStatusChange","cancelTokenization","extendedPromise","closeBackdrop","statusCheckError","buildAndStyleElements","backdropStylesElement","backdropDiv","backDropContentContainer","venmoLogoDiv","venmoMessageDiv","instructionsDiv","continueButton","cancelButton","alreadyRenderedBackdrop","innerText","runWebLogin","setupDesktopWebLogin","224","inIframe","getVenmoUrl","desktopWebLogin","createVenmoDesktop","graphqlQueries","_allowDesktopWebLogin","_mobileWebFallBack","_allowNewBrowserTab","_allowWebviews","_allowDesktop","_useRedirectForIOS","useRedirectForIOS","_profileId","_displayName","_deepLinkReturnUrl","_ignoreHistoryChanges","ignoreHistoryChanges","_paymentMethodUsage","_shouldUseLegacyFlow","_requireManualReturn","requireManualReturn","_useDesktopQRFlow","_isDesktop","_useAllowDesktopWebLogin","_cannotHaveReturnUrls","_allowAndroidRecreation","allowAndroidRecreation","_maxRetryCount","_collectCustomerBillingAddress","collectCustomerBillingAddress","_collectCustomerShippingAddress","collectCustomerShippingAddress","_lineItems","_subTotalAmount","subTotalAmount","_discountAmount","_taxAmount","taxAmount","_shippingAmount","_totalAmount","totalAmount","_shouldCreateVenmoPaymentContext","hasTokenizationResult","venmoDesktopInstance","_venmoDesktopInstance","_mobilePollingInterval","_mobilePollingExpiresThreshold","paymentContextPromise","webLoginPromise","analyticsCategory","_frameServiceInstance","desktopWebErr","_mobilePollingContextEnvironment","_createVenmoPaymentContext","isValidationError","paymentContextResult","promiseErr","getFragmentParameters","parsedParams","decodedKey","resourceId","formatUserName","documentVisibilityChangeEventName","visibilityChange","hidden","msHidden","webkitHidden","cancelIfTokenizationInProgress","transactionDetails","venmoConfiguration","transactionDetailsPresent","unitTaxAmount","detail","paysheetDetails","refreshIn","_refreshPaymentContextTimeout","_tokenizationInProgress","_venmoPaymentContextStatus","_venmoPaymentContextId","appSwitch","_shouldUseRedirectStrategy","currentUrl","braintreeData","resource_id","_shouldIncludeReturnUrls","braintree_merchant_id","braintree_access_token","braintree_environment","braintree_sdk_data","_hasTokenizationResult","venmoSuccess","venmoError","venmoCancel","_tokenizeForDesktopQRFlow","_tokenizeWebLoginWithRedirect","_tokenizeForMobileWithManualReturn","_tokenizeForMobileWithHashChangeListeners","formattedPayload","paymentContextId","formatTokenizePayload","_removeVisibilityEventListener","_tokenizePromise","_cancelMobilePaymentContext","_cancelVenmoDesktopContext","_checkPaymentContextStatusAndProcessResult","_queryPaymentContextStatus","retryCount","networkError","resultStatus","_pollForStatusChange","_mobilePollingContextExpiresIn","resultProcessingInProgress","visibilityChangeListenerTimeout","processHashChangeFlowResults","completeFlow","_previousHash","_onHashChangeListener","newURL","_visibilityChangeListener","delay","processResultsDelay","errorCode","_clearFragmentParameters","history","replaceState","pushState","225","VISA_CHECKOUT_NOT_ENABLED","VISA_CHECKOUT_INIT_OPTIONS_REQUIRED","VISA_CHECKOUT_PAYMENT_REQUIRED","VISA_CHECKOUT_TOKENIZATION","226","VisaCheckout","227","createInitOptions","visaCheckoutConfiguration","settings","dataLevel","cardBrands","callid","encKey","encPaymentData","visaCheckoutCard","callId","encryptedPaymentData","encryptedKey","visaCheckoutCards"],"mappings":"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","file":"static/js/792.4b2bc5eb.chunk.js","sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.braintree = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;idata
, is the returned server data. If no callback is provided, `getRewardsBalance` returns a promise that resolves with the server data.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var americanExpress = require('braintree-web/american-express');\n *\n * americanExpress.create({client: clientInstance}, function (createErr, americanExpressInstance) {\n * var options = {nonce: existingBraintreeNonce};\n * americanExpressInstance.getRewardsBalance(options, function (getErr, payload) {\n * if (getErr || payload.error) {\n * // Handle error\n * return;\n * }\n *\n * console.log('Rewards amount: ' + payload.rewardsAmount);\n * });\n * });\n */\nAmericanExpress.prototype.getRewardsBalance = function (options) {\n var nonce = options.nonce;\n var data;\n\n if (!nonce) {\n return Promise.reject(\n new BraintreeError({\n type: errors.AMEX_NONCE_REQUIRED.type,\n code: errors.AMEX_NONCE_REQUIRED.code,\n message: \"getRewardsBalance must be called with a nonce.\",\n })\n );\n }\n\n data = assign(\n {\n _meta: { source: \"american-express\" },\n paymentMethodNonce: nonce,\n },\n options\n );\n\n delete data.nonce;\n\n return this._client\n .request({\n method: \"get\",\n endpoint: \"payment_methods/amex_rewards_balance\",\n data: data,\n })\n .catch(function (err) {\n return Promise.reject(\n new BraintreeError({\n type: errors.AMEX_NETWORK_ERROR.type,\n code: errors.AMEX_NETWORK_ERROR.code,\n message:\n \"A network error occurred when getting the American Express rewards balance.\",\n details: {\n originalError: err,\n },\n })\n );\n });\n};\n\n/**\n * Gets the Express Checkout nonce profile given a nonce from American Express.\n * @public\n * @param {object} options Request options\n * @param {string} options.nonce An existing nonce from American Express (note that this is not a nonce from Braintree).\n * @param {callback} [callback] The second argument, data
, is the returned server data. If no callback is provided, `getExpressCheckoutProfile` returns a promise that resolves with the server data.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var americanExpress = require('braintree-web/american-express');\n *\n * americanExpress.create({client: clientInstance}, function (createErr, americanExpressInstance) {\n * var options = {nonce: existingAmericanExpressNonce};\n * americanExpressInstance.getExpressCheckoutProfile(options, function (getErr, payload) {\n * if (getErr) {\n * // Handle error\n * return;\n * }\n *\n * console.log('Number of cards: ' + payload.amexExpressCheckoutCards.length);\n * });\n * });\n */\nAmericanExpress.prototype.getExpressCheckoutProfile = function (options) {\n if (!options.nonce) {\n return Promise.reject(\n new BraintreeError({\n type: errors.AMEX_NONCE_REQUIRED.type,\n code: errors.AMEX_NONCE_REQUIRED.code,\n message: \"getExpressCheckoutProfile must be called with a nonce.\",\n })\n );\n }\n\n return this._client\n .request({\n method: \"get\",\n endpoint: \"payment_methods/amex_express_checkout_cards/\" + options.nonce,\n data: {\n _meta: { source: \"american-express\" },\n paymentMethodNonce: options.nonce,\n },\n })\n .catch(function (err) {\n return Promise.reject(\n new BraintreeError({\n type: errors.AMEX_NETWORK_ERROR.type,\n code: errors.AMEX_NETWORK_ERROR.code,\n message:\n \"A network error occurred when getting the American Express Checkout nonce profile.\",\n details: {\n originalError: err,\n },\n })\n );\n });\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/american-express.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * americanExpressInstance.teardown();\n * @example data
, is the Apple Pay merchant session object. If no callback is provided, `performValidation` returns a promise.\n * Pass the merchant session to your Apple Pay session's `completeMerchantValidation` method.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var applePay = require('braintree-web/apple-pay');\n *\n * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) {\n * if (applePayErr) {\n * // Handle error here\n * return;\n * }\n *\n * var paymentRequest = applePayInstance.createPaymentRequest({\n * total: {\n * label: 'My Company',\n * amount: '19.99'\n * }\n * });\n * var session = new ApplePaySession(3, paymentRequest);\n *\n * session.onvalidatemerchant = function (event) {\n * applePayInstance.performValidation({\n * validationURL: event.validationURL,\n * displayName: 'My Great Store'\n * }, function (validationErr, validationData) {\n * if (validationErr) {\n * console.error(validationErr);\n * session.abort();\n * return;\n * }\n *\n * session.completeMerchantValidation(validationData);\n * });\n * };\n * });\n */\nApplePay.prototype.performValidation = function (options) {\n var self = this;\n\n if (!options || !options.validationURL) {\n return Promise.reject(\n new BraintreeError(errors.APPLE_PAY_VALIDATION_URL_REQUIRED)\n );\n }\n\n return this._waitForClient()\n .then(function () {\n var applePayWebSession = {\n validationUrl: options.validationURL,\n domainName: options.domainName || window.location.hostname,\n merchantIdentifier:\n options.merchantIdentifier || self.merchantIdentifier,\n };\n\n if (options.displayName != null) {\n applePayWebSession.displayName = options.displayName;\n }\n\n return self._client.request({\n method: \"post\",\n endpoint: \"apple_pay_web/sessions\",\n data: {\n _meta: { source: \"apple-pay\" },\n applePayWebSession: applePayWebSession,\n },\n });\n })\n .then(function (response) {\n analytics.sendEvent(self._client, \"applepay.performValidation.succeeded\");\n\n return Promise.resolve(response);\n })\n .catch(function (err) {\n analytics.sendEvent(self._client, \"applepay.performValidation.failed\");\n\n if (err.code === \"CLIENT_REQUEST_ERROR\") {\n return Promise.reject(\n new BraintreeError({\n type: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.type,\n code: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.code,\n message: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.message,\n details: {\n originalError: err.details.originalError,\n },\n })\n );\n }\n\n return Promise.reject(\n new BraintreeError({\n type: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.type,\n code: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.code,\n message: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.message,\n details: {\n originalError: err,\n },\n })\n );\n });\n};\n\n/**\n * Tokenizes an Apple Pay payment. This will likely be called in your `ApplePaySession`'s `onpaymentauthorized` callback.\n * @public\n * @param {object} options Options\n * @param {object} options.token The `payment.token` property of an {@link external:ApplePayPaymentAuthorizedEvent}.\n * @param {callback} [callback] The second argument, data
, is a {@link ApplePay~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a promise that resolves with a {@link ApplePay~tokenizePayload|tokenizePayload}.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var applePay = require('braintree-web/apple-pay');\n *\n * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) {\n * if (applePayErr) {\n * // Handle error here\n * return;\n * }\n *\n * var paymentRequest = applePayInstance.createPaymentRequest({\n * total: {\n * label: 'My Company',\n * amount: '19.99'\n * }\n * });\n * var session = new ApplePaySession(3, paymentRequest);\n *\n * session.onpaymentauthorized = function (event) {\n * applePayInstance.tokenize({\n * token: event.payment.token\n * }, function (tokenizeErr, tokenizedPayload) {\n * if (tokenizeErr) {\n * session.completePayment(ApplePaySession.STATUS_FAILURE);\n * return;\n * }\n * // Send the tokenizedPayload to your server here!\n *\n * // Once the transaction is complete, call completePayment\n * // to close the Apple Pay sheet\n * session.completePayment(ApplePaySession.STATUS_SUCCESS);\n * });\n * };\n *\n * // ...\n * });\n */\nApplePay.prototype.tokenize = function (options) {\n var self = this;\n\n if (!options.token) {\n return Promise.reject(\n new BraintreeError(errors.APPLE_PAY_PAYMENT_TOKEN_REQUIRED)\n );\n }\n\n return this._waitForClient()\n .then(function () {\n return self._client.request({\n method: \"post\",\n endpoint: \"payment_methods/apple_payment_tokens\",\n data: {\n _meta: {\n source: \"apple-pay\",\n },\n applePaymentToken: Object.assign({}, options.token, {\n // The gateway requires this key to be base64-encoded.\n paymentData: btoa(JSON.stringify(options.token.paymentData)),\n }),\n },\n });\n })\n .then(function (response) {\n analytics.sendEvent(self._client, \"applepay.tokenize.succeeded\");\n\n return Promise.resolve(response.applePayCards[0]);\n })\n .catch(function (err) {\n analytics.sendEvent(self._client, \"applepay.tokenize.failed\");\n\n return Promise.reject(\n new BraintreeError({\n type: errors.APPLE_PAY_TOKENIZATION.type,\n code: errors.APPLE_PAY_TOKENIZATION.code,\n message: errors.APPLE_PAY_TOKENIZATION.message,\n details: {\n originalError: err,\n },\n })\n );\n });\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/apple-pay.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * applePayInstance.teardown();\n * @example data
, is the returned server data.\n * @example\n * braintree.client
module. It is used for creating {@link Client} instances that service communication to Braintree servers.\n * @param {object} options Object containing all {@link Client} options:\n * @param {string} options.authorization A tokenizationKey or clientToken.\n * @param {callback} [callback] The second argument, data
, is the {@link Client} instance.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * if (createErr) {\n * if (createErr.code === 'CLIENT_AUTHORIZATION_INVALID') {\n * // either the client token has expired, and a new one should be generated\n * // or the tokenization key was deactivated or deleted\n * } else {\n * console.log('something went wrong creating the client instance', createErr);\n * }\n * return;\n * }\n *\n * // set up other components\n * });\n * @static\n */\nfunction create(options) {\n if (!options.authorization) {\n return Promise.reject(\n new BraintreeError({\n type: sharedErrors.INSTANTIATION_OPTION_REQUIRED.type,\n code: sharedErrors.INSTANTIATION_OPTION_REQUIRED.code,\n message:\n \"options.authorization is required when instantiating a client.\",\n })\n );\n }\n\n return Client.initialize(options);\n}\n\nmodule.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of the SDK, i.e. `{@pkg version}`.\n * @type {string}\n */\n VERSION: VERSION,\n};\n\n},{\"../lib/braintree-error\":124,\"../lib/errors\":135,\"./client\":78,\"@braintree/wrap-promise\":43}],83:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar querystring = _dereq_(\"../../lib/querystring\");\nvar assign = _dereq_(\"../../lib/assign\").assign;\nvar prepBody = _dereq_(\"./prep-body\");\nvar parseBody = _dereq_(\"./parse-body\");\nvar xhr = _dereq_(\"./xhr\");\nvar isXHRAvailable = xhr.isAvailable;\nvar GraphQLRequest = _dereq_(\"./graphql/request\");\nvar DefaultRequest = _dereq_(\"./default-request\");\n\nvar MAX_TCP_RETRYCOUNT = 1;\nvar TCP_PRECONNECT_BUG_STATUS_CODE = 408;\n\nfunction requestShouldRetry(status) {\n return !status || status === TCP_PRECONNECT_BUG_STATUS_CODE;\n}\n\nfunction graphQLRequestShouldRetryWithClientApi(body) {\n var errorClass =\n !body.data &&\n body.errors &&\n body.errors[0] &&\n body.errors[0].extensions &&\n body.errors[0].extensions.errorClass;\n\n return errorClass === \"UNKNOWN\" || errorClass === \"INTERNAL\";\n}\n\nfunction _requestWithRetry(options, tcpRetryCount, cb) {\n var status, resBody, ajaxRequest, body, method, headers, parsedBody;\n var url = options.url;\n var graphQL = options.graphQL;\n var timeout = options.timeout;\n var req = xhr.getRequestObject();\n var callback = cb;\n var isGraphQLRequest = Boolean(\n graphQL && graphQL.isGraphQLRequest(url, options.data)\n );\n\n options.headers = assign(\n { \"Content-Type\": \"application/json\" },\n options.headers\n );\n\n if (isGraphQLRequest) {\n ajaxRequest = new GraphQLRequest(options);\n } else {\n ajaxRequest = new DefaultRequest(options);\n }\n\n url = ajaxRequest.getUrl();\n body = ajaxRequest.getBody();\n method = ajaxRequest.getMethod();\n headers = ajaxRequest.getHeaders();\n\n if (method === \"GET\") {\n url = querystring.queryify(url, body);\n body = null;\n }\n\n if (isXHRAvailable) {\n req.onreadystatechange = function () {\n if (req.readyState !== 4) {\n return;\n }\n\n if (req.status === 0 && isGraphQLRequest) {\n // If a merchant experiences a connection\n // issue to the GraphQL endpoint (possibly\n // due to a Content Security Policy), retry\n // the request against the old client API.\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n parsedBody = parseBody(req.responseText);\n resBody = ajaxRequest.adaptResponseBody(parsedBody);\n status = ajaxRequest.determineStatus(req.status, parsedBody);\n\n if (status >= 400 || status < 200) {\n if (\n isGraphQLRequest &&\n graphQLRequestShouldRetryWithClientApi(parsedBody)\n ) {\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n if (tcpRetryCount < MAX_TCP_RETRYCOUNT && requestShouldRetry(status)) {\n tcpRetryCount++;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n callback(resBody || \"error\", null, status || 500);\n } else {\n callback(null, resBody, status);\n }\n };\n } else {\n if (options.headers) {\n url = querystring.queryify(url, headers);\n }\n\n req.onload = function () {\n callback(null, parseBody(req.responseText), req.status);\n };\n\n req.onerror = function () {\n // XDomainRequest does not report a body or status for errors, so\n // hardcode to 'error' and 500, respectively\n callback(\"error\", null, 500);\n };\n\n // This must remain for IE9 to work\n req.onprogress = function () {};\n\n req.ontimeout = function () {\n callback(\"timeout\", null, -1);\n };\n }\n\n try {\n req.open(method, url, true);\n } catch (requestOpenError) {\n // If a merchant has a Content Security Policy and they have\n // not allowed our endpoints, some browsers may\n // synchronously throw an error. If it is not a GraphQL\n // request, we throw the error. If it is a GraphQL request\n // we remove the GraphQL option and try the request against\n // the old client API.\n if (!isGraphQLRequest) {\n throw requestOpenError;\n }\n\n delete options.graphQL;\n\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n req.timeout = timeout;\n\n if (isXHRAvailable) {\n Object.keys(headers).forEach(function (headerKey) {\n req.setRequestHeader(headerKey, headers[headerKey]);\n });\n }\n\n try {\n req.send(prepBody(method, body));\n } catch (e) {\n /* ignored */\n }\n}\n\nfunction request(options, cb) {\n _requestWithRetry(options, 0, cb);\n}\n\nmodule.exports = {\n request: request,\n};\n\n},{\"../../lib/assign\":121,\"../../lib/querystring\":157,\"./default-request\":84,\"./graphql/request\":91,\"./parse-body\":93,\"./prep-body\":94,\"./xhr\":95}],84:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction DefaultRequest(options) {\n this._url = options.url;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n}\n\nDefaultRequest.prototype.getUrl = function () {\n return this._url;\n};\n\nDefaultRequest.prototype.getBody = function () {\n return this._data;\n};\n\nDefaultRequest.prototype.getMethod = function () {\n return this._method;\n};\n\nDefaultRequest.prototype.getHeaders = function () {\n return this._headers;\n};\n\nDefaultRequest.prototype.adaptResponseBody = function (parsedBody) {\n return parsedBody;\n};\n\nDefaultRequest.prototype.determineStatus = function (status) {\n return status;\n};\n\nmodule.exports = DefaultRequest;\n\n},{}],85:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar errorResponseAdapter = _dereq_(\"./error\");\nvar assign = _dereq_(\"../../../../lib/assign\").assign;\n\n/* eslint-disable camelcase */\nvar cardTypeTransforms = {\n creditCard: {\n AMERICAN_EXPRESS: \"American Express\",\n DISCOVER: \"Discover\",\n INTERNATIONAL_MAESTRO: \"Maestro\",\n JCB: \"JCB\",\n MASTERCARD: \"MasterCard\",\n SOLO: \"Solo\",\n UK_MAESTRO: \"UK Maestro\",\n UNION_PAY: \"UnionPay\",\n VISA: \"Visa\",\n ELO: \"Elo\",\n HIPER: \"Hiper\",\n HIPERCARD: \"Hipercard\",\n },\n applePayWeb: {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n ELO: \"elo\",\n },\n visaCheckout: {\n VISA: \"Visa\",\n MASTERCARD: \"MasterCard\",\n DISCOVER: \"Discover\",\n AMERICAN_EXPRESS: \"American Express\",\n },\n googlePay: {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n ELO: \"elo\",\n },\n masterpass: {\n VISA: \"visa\",\n MASTERCARD: \"master\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n DINERS: \"diners\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n JCB: \"jcb\",\n },\n};\n/* eslint-enable camelcase */\n\nfunction configurationResponseAdapter(responseBody, ctx) {\n var adaptedResponse;\n\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptConfigurationResponseBody(responseBody, ctx);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n\n return adaptedResponse;\n}\n\nfunction adaptConfigurationResponseBody(body, ctx) {\n var configuration = body.data.clientConfiguration;\n var response;\n\n response = {\n environment: configuration.environment.toLowerCase(),\n clientApiUrl: configuration.clientApiUrl,\n assetsUrl: configuration.assetsUrl,\n analytics: {\n url: configuration.analyticsUrl,\n },\n merchantId: configuration.merchantId,\n venmo: \"off\",\n };\n\n if (configuration.supportedFeatures) {\n response.graphQL = {\n url: ctx._graphQL._config.url,\n features: configuration.supportedFeatures.map(function (feature) {\n return feature.toLowerCase();\n }),\n };\n }\n\n if (configuration.braintreeApi) {\n response.braintreeApi = configuration.braintreeApi;\n }\n\n if (configuration.applePayWeb) {\n response.applePayWeb = configuration.applePayWeb;\n response.applePayWeb.supportedNetworks = mapCardTypes(\n configuration.applePayWeb.supportedCardBrands,\n cardTypeTransforms.applePayWeb\n );\n\n delete response.applePayWeb.supportedCardBrands;\n }\n\n if (configuration.ideal) {\n response.ideal = configuration.ideal;\n }\n\n if (configuration.kount) {\n response.kount = {\n kountMerchantId: configuration.kount.merchantId,\n };\n }\n\n if (configuration.creditCard) {\n response.challenges = configuration.creditCard.challenges.map(function (\n challenge\n ) {\n return challenge.toLowerCase();\n });\n\n response.creditCards = {\n supportedCardTypes: mapCardTypes(\n configuration.creditCard.supportedCardBrands,\n cardTypeTransforms.creditCard\n ),\n };\n response.threeDSecureEnabled = configuration.creditCard.threeDSecureEnabled;\n response.threeDSecure = configuration.creditCard.threeDSecure;\n } else {\n response.challenges = [];\n response.creditCards = {\n supportedCardTypes: [],\n };\n response.threeDSecureEnabled = false;\n }\n\n if (configuration.googlePay) {\n response.androidPay = {\n displayName: configuration.googlePay.displayName,\n enabled: true,\n environment: configuration.googlePay.environment.toLowerCase(),\n googleAuthorizationFingerprint:\n configuration.googlePay.googleAuthorization,\n paypalClientId: configuration.googlePay.paypalClientId,\n supportedNetworks: mapCardTypes(\n configuration.googlePay.supportedCardBrands,\n cardTypeTransforms.googlePay\n ),\n };\n }\n\n if (configuration.venmo) {\n response.payWithVenmo = {\n merchantId: configuration.venmo.merchantId,\n accessToken: configuration.venmo.accessToken,\n environment: configuration.venmo.environment.toLowerCase(),\n enrichedCustomerDataEnabled:\n configuration.venmo.enrichedCustomerDataEnabled,\n };\n }\n\n if (configuration.paypal) {\n response.paypalEnabled = true;\n response.paypal = assign({}, configuration.paypal);\n response.paypal.currencyIsoCode = response.paypal.currencyCode;\n response.paypal.environment = response.paypal.environment.toLowerCase();\n\n delete response.paypal.currencyCode;\n } else {\n response.paypalEnabled = false;\n }\n\n if (configuration.unionPay) {\n response.unionPay = {\n enabled: true,\n merchantAccountId: configuration.unionPay.merchantAccountId,\n };\n }\n\n if (configuration.visaCheckout) {\n response.visaCheckout = {\n apikey: configuration.visaCheckout.apiKey,\n encryptionKey: configuration.visaCheckout.encryptionKey,\n externalClientId: configuration.visaCheckout.externalClientId,\n supportedCardTypes: mapCardTypes(\n configuration.visaCheckout.supportedCardBrands,\n cardTypeTransforms.visaCheckout\n ),\n };\n }\n\n if (configuration.masterpass) {\n response.masterpass = {\n merchantCheckoutId: configuration.masterpass.merchantCheckoutId,\n supportedNetworks: mapCardTypes(\n configuration.masterpass.supportedCardBrands,\n cardTypeTransforms.masterpass\n ),\n };\n }\n\n if (configuration.usBankAccount) {\n response.usBankAccount = {\n routeId: configuration.usBankAccount.routeId,\n plaid: {\n publicKey: configuration.usBankAccount.plaidPublicKey,\n },\n };\n }\n\n return response;\n}\n\nfunction mapCardTypes(cardTypes, cardTypeTransformMap) {\n return cardTypes.reduce(function (acc, type) {\n if (cardTypeTransformMap.hasOwnProperty(type)) {\n return acc.concat(cardTypeTransformMap[type]);\n }\n\n return acc;\n }, []);\n}\n\nmodule.exports = configurationResponseAdapter;\n\n},{\"../../../../lib/assign\":121,\"./error\":87}],86:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar errorResponseAdapter = _dereq_(\"./error\");\n\nvar CARD_BRAND_MAP = {\n /* eslint-disable camelcase */\n AMERICAN_EXPRESS: \"American Express\",\n DINERS: \"Discover\",\n DISCOVER: \"Discover\",\n ELO: \"Elo\",\n HIPER: \"Hiper\",\n HIPERCARD: \"Hipercard\",\n INTERNATIONAL_MAESTRO: \"Maestro\",\n JCB: \"JCB\",\n MASTERCARD: \"MasterCard\",\n UK_MAESTRO: \"Maestro\",\n UNION_PAY: \"UnionPay\",\n VISA: \"Visa\",\n /* eslint-enable camelcase */\n};\n\nvar BIN_DATA_MAP = {\n YES: \"Yes\",\n NO: \"No\",\n UNKNOWN: \"Unknown\",\n};\n\nvar AUTHENTICATION_INSIGHT_MAP = {\n PSDTWO: \"psd2\",\n};\n\nfunction creditCardTokenizationResponseAdapter(responseBody) {\n var adaptedResponse;\n\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptTokenizeCreditCardResponseBody(responseBody);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n\n return adaptedResponse;\n}\n\nfunction adaptTokenizeCreditCardResponseBody(body) {\n var data = body.data.tokenizeCreditCard;\n var creditCard = data.creditCard;\n var lastTwo = creditCard.last4 ? creditCard.last4.substr(2, 4) : \"\";\n var binData = creditCard.binData;\n var response, regulationEnvironment;\n\n if (binData) {\n [\n \"commercial\",\n \"debit\",\n \"durbinRegulated\",\n \"healthcare\",\n \"payroll\",\n \"prepaid\",\n ].forEach(function (key) {\n if (binData[key]) {\n binData[key] = BIN_DATA_MAP[binData[key]];\n } else {\n binData[key] = \"Unknown\";\n }\n });\n\n [\"issuingBank\", \"countryOfIssuance\", \"productId\"].forEach(function (key) {\n if (!binData[key]) {\n binData[key] = \"Unknown\";\n }\n });\n }\n\n response = {\n creditCards: [\n {\n binData: binData,\n consumed: false,\n description: lastTwo ? \"ending in \" + lastTwo : \"\",\n nonce: data.token,\n details: {\n cardholderName: creditCard.cardholderName,\n expirationMonth: creditCard.expirationMonth,\n expirationYear: creditCard.expirationYear,\n bin: creditCard.bin || \"\",\n cardType: CARD_BRAND_MAP[creditCard.brandCode] || \"Unknown\",\n lastFour: creditCard.last4 || \"\",\n lastTwo: lastTwo,\n },\n type: \"CreditCard\",\n threeDSecureInfo: null,\n },\n ],\n };\n\n if (data.authenticationInsight) {\n regulationEnvironment =\n data.authenticationInsight.customerAuthenticationRegulationEnvironment;\n response.creditCards[0].authenticationInsight = {\n regulationEnvironment:\n AUTHENTICATION_INSIGHT_MAP[regulationEnvironment] ||\n regulationEnvironment.toLowerCase(),\n };\n }\n\n return response;\n}\n\nmodule.exports = creditCardTokenizationResponseAdapter;\n\n},{\"./error\":87}],87:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction errorResponseAdapter(responseBody) {\n var response;\n var errorClass =\n responseBody.errors &&\n responseBody.errors[0] &&\n responseBody.errors[0].extensions &&\n responseBody.errors[0].extensions.errorClass;\n\n if (errorClass === \"VALIDATION\") {\n response = userErrorResponseAdapter(responseBody);\n } else if (errorClass) {\n response = errorWithClassResponseAdapter(responseBody);\n } else {\n response = {\n error: { message: \"There was a problem serving your request\" },\n fieldErrors: [],\n };\n }\n\n return response;\n}\n\nfunction errorWithClassResponseAdapter(responseBody) {\n return {\n error: { message: responseBody.errors[0].message },\n fieldErrors: [],\n };\n}\n\nfunction userErrorResponseAdapter(responseBody) {\n var fieldErrors = buildFieldErrors(responseBody.errors);\n\n if (fieldErrors.length === 0) {\n return { error: { message: responseBody.errors[0].message } };\n }\n\n return {\n error: { message: getLegacyMessage(fieldErrors) },\n fieldErrors: fieldErrors,\n };\n}\n\nfunction buildFieldErrors(errors) {\n var fieldErrors = [];\n\n errors.forEach(function (error) {\n if (!(error.extensions && error.extensions.inputPath)) {\n return;\n }\n addFieldError(error.extensions.inputPath.slice(1), error, fieldErrors);\n });\n\n return fieldErrors;\n}\n\nfunction addFieldError(inputPath, errorDetail, fieldErrors) {\n var fieldError;\n var legacyCode = errorDetail.extensions.legacyCode;\n var inputField = inputPath[0];\n\n if (inputPath.length === 1) {\n fieldErrors.push({\n code: legacyCode,\n field: inputField,\n message: errorDetail.message,\n });\n\n return;\n }\n\n fieldErrors.forEach(function (candidate) {\n if (candidate.field === inputField) {\n fieldError = candidate;\n }\n });\n\n if (!fieldError) {\n fieldError = { field: inputField, fieldErrors: [] };\n fieldErrors.push(fieldError);\n }\n\n addFieldError(inputPath.slice(1), errorDetail, fieldError.fieldErrors);\n}\n\nfunction getLegacyMessage(errors) {\n var legacyMessages = {\n creditCard: \"Credit card is invalid\",\n };\n\n var field = errors[0].field;\n\n return legacyMessages[field];\n}\n\nmodule.exports = errorResponseAdapter;\n\n},{}],88:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar CONFIGURATION_QUERY =\n \"query ClientConfiguration { \" +\n \" clientConfiguration { \" +\n \" analyticsUrl \" +\n \" environment \" +\n \" merchantId \" +\n \" assetsUrl \" +\n \" clientApiUrl \" +\n \" creditCard { \" +\n \" supportedCardBrands \" +\n \" challenges \" +\n \" threeDSecureEnabled \" +\n \" threeDSecure { \" +\n \" cardinalAuthenticationJWT \" +\n \" } \" +\n \" } \" +\n \" applePayWeb { \" +\n \" countryCode \" +\n \" currencyCode \" +\n \" merchantIdentifier \" +\n \" supportedCardBrands \" +\n \" } \" +\n \" googlePay { \" +\n \" displayName \" +\n \" supportedCardBrands \" +\n \" environment \" +\n \" googleAuthorization \" +\n \" paypalClientId \" +\n \" } \" +\n \" ideal { \" +\n \" routeId \" +\n \" assetsUrl \" +\n \" } \" +\n \" kount { \" +\n \" merchantId \" +\n \" } \" +\n \" masterpass { \" +\n \" merchantCheckoutId \" +\n \" supportedCardBrands \" +\n \" } \" +\n \" paypal { \" +\n \" displayName \" +\n \" clientId \" +\n \" assetsUrl \" +\n \" environment \" +\n \" environmentNoNetwork \" +\n \" unvettedMerchant \" +\n \" braintreeClientId \" +\n \" billingAgreementsEnabled \" +\n \" merchantAccountId \" +\n \" currencyCode \" +\n \" payeeEmail \" +\n \" } \" +\n \" unionPay { \" +\n \" merchantAccountId \" +\n \" } \" +\n \" usBankAccount { \" +\n \" routeId \" +\n \" plaidPublicKey \" +\n \" } \" +\n \" venmo { \" +\n \" merchantId \" +\n \" accessToken \" +\n \" environment \" +\n \" enrichedCustomerDataEnabled\" +\n \" } \" +\n \" visaCheckout { \" +\n \" apiKey \" +\n \" externalClientId \" +\n \" supportedCardBrands \" +\n \" } \" +\n \" braintreeApi { \" +\n \" accessToken \" +\n \" url \" +\n \" } \" +\n \" supportedFeatures \" +\n \" } \" +\n \"}\";\n\nfunction configuration() {\n return {\n query: CONFIGURATION_QUERY,\n operationName: \"ClientConfiguration\",\n };\n}\n\nmodule.exports = configuration;\n\n},{}],89:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar assign = _dereq_(\"../../../../lib/assign\").assign;\n\nfunction createMutation(config) {\n var hasAuthenticationInsight = config.hasAuthenticationInsight;\n var mutation = \"mutation TokenizeCreditCard($input: TokenizeCreditCardInput!\";\n\n if (hasAuthenticationInsight) {\n mutation += \", $authenticationInsightInput: AuthenticationInsightInput!\";\n }\n\n mutation +=\n \") { \" +\n \" tokenizeCreditCard(input: $input) { \" +\n \" token \" +\n \" creditCard { \" +\n \" bin \" +\n \" brandCode \" +\n \" last4 \" +\n \" cardholderName \" +\n \" expirationMonth\" +\n \" expirationYear\" +\n \" binData { \" +\n \" prepaid \" +\n \" healthcare \" +\n \" debit \" +\n \" durbinRegulated \" +\n \" commercial \" +\n \" payroll \" +\n \" issuingBank \" +\n \" countryOfIssuance \" +\n \" productId \" +\n \" } \" +\n \" } \";\n\n if (hasAuthenticationInsight) {\n mutation +=\n \" authenticationInsight(input: $authenticationInsightInput) {\" +\n \" customerAuthenticationRegulationEnvironment\" +\n \" }\";\n }\n\n mutation += \" } }\";\n\n return mutation;\n}\n\nfunction createCreditCardTokenizationBody(body, options) {\n var cc = body.creditCard;\n var billingAddress = cc && cc.billingAddress;\n var expDate = cc && cc.expirationDate;\n var expirationMonth =\n cc && (cc.expirationMonth || (expDate && expDate.split(\"/\")[0].trim()));\n var expirationYear =\n cc && (cc.expirationYear || (expDate && expDate.split(\"/\")[1].trim()));\n var variables = {\n input: {\n creditCard: {\n number: cc && cc.number,\n expirationMonth: expirationMonth,\n expirationYear: expirationYear,\n cvv: cc && cc.cvv,\n cardholderName: cc && cc.cardholderName,\n },\n options: {},\n },\n };\n\n if (options.hasAuthenticationInsight) {\n variables.authenticationInsightInput = {\n merchantAccountId: body.merchantAccountId,\n };\n }\n\n if (billingAddress) {\n variables.input.creditCard.billingAddress = billingAddress;\n }\n\n variables.input = addValidationRule(body, variables.input);\n\n return variables;\n}\n\nfunction addValidationRule(body, input) {\n var validate;\n\n if (\n body.creditCard &&\n body.creditCard.options &&\n typeof body.creditCard.options.validate === \"boolean\"\n ) {\n validate = body.creditCard.options.validate;\n } else if (\n (body.authorizationFingerprint && body.tokenizationKey) ||\n body.authorizationFingerprint\n ) {\n validate = true;\n } else if (body.tokenizationKey) {\n validate = false;\n }\n\n if (typeof validate === \"boolean\") {\n input.options = assign(\n {\n validate: validate,\n },\n input.options\n );\n }\n\n return input;\n}\n\nfunction creditCardTokenization(body) {\n var options = {\n hasAuthenticationInsight: Boolean(\n body.authenticationInsight && body.merchantAccountId\n ),\n };\n\n return {\n query: createMutation(options),\n variables: createCreditCardTokenizationBody(body, options),\n operationName: \"TokenizeCreditCard\",\n };\n}\n\nmodule.exports = creditCardTokenization;\n\n},{\"../../../../lib/assign\":121}],90:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar features = {\n tokenize_credit_cards: \"payment_methods/credit_cards\", // eslint-disable-line camelcase\n configuration: \"configuration\",\n};\n\nvar disallowedInputPaths = [\"creditCard.options.unionPayEnrollment\"];\n\nfunction GraphQL(config) {\n this._config = config.graphQL;\n}\n\nGraphQL.prototype.getGraphQLEndpoint = function () {\n return this._config.url;\n};\n\nGraphQL.prototype.isGraphQLRequest = function (url, body) {\n var featureEnabled;\n var path = this.getClientApiPath(url);\n\n if (!this._isGraphQLEnabled() || !path) {\n return false;\n }\n\n featureEnabled = this._config.features.some(function (feature) {\n return features[feature] === path;\n });\n\n if (containsDisallowedlistedKeys(body)) {\n return false;\n }\n\n return featureEnabled;\n};\n\nGraphQL.prototype.getClientApiPath = function (url) {\n var path;\n var clientApiPrefix = \"/client_api/v1/\";\n var pathParts = url.split(clientApiPrefix);\n\n if (pathParts.length > 1) {\n path = pathParts[1].split(\"?\")[0];\n }\n\n return path;\n};\n\nGraphQL.prototype._isGraphQLEnabled = function () {\n return Boolean(this._config);\n};\n\nfunction containsDisallowedlistedKeys(body) {\n return disallowedInputPaths.some(function (keys) {\n var value = keys.split(\".\").reduce(function (accumulator, key) {\n return accumulator && accumulator[key];\n }, body);\n\n return value !== undefined; // eslint-disable-line no-undefined\n });\n}\n\nmodule.exports = GraphQL;\n\n},{}],91:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BRAINTREE_VERSION = _dereq_(\"../../constants\").BRAINTREE_VERSION;\n\nvar assign = _dereq_(\"../../../lib/assign\").assign;\nvar snakeCaseToCamelCase = _dereq_(\"../../../lib/snake-case-to-camel-case\");\n\nvar creditCardTokenizationBodyGenerator = _dereq_(\"./generators/credit-card-tokenization\");\nvar creditCardTokenizationResponseAdapter = _dereq_(\"./adapters/credit-card-tokenization\");\n\nvar configurationBodyGenerator = _dereq_(\"./generators/configuration\");\nvar configurationResponseAdapter = _dereq_(\"./adapters/configuration\");\n\nvar generators = {\n \"payment_methods/credit_cards\": creditCardTokenizationBodyGenerator,\n configuration: configurationBodyGenerator,\n};\nvar adapters = {\n \"payment_methods/credit_cards\": creditCardTokenizationResponseAdapter,\n configuration: configurationResponseAdapter,\n};\n\nfunction GraphQLRequest(options) {\n var clientApiPath = options.graphQL.getClientApiPath(options.url);\n\n this._graphQL = options.graphQL;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n this._clientSdkMetadata = {\n source: options.metadata.source,\n integration: options.metadata.integration,\n sessionId: options.metadata.sessionId,\n };\n this._sendAnalyticsEvent = options.sendAnalyticsEvent || Function.prototype;\n\n this._generator = generators[clientApiPath];\n this._adapter = adapters[clientApiPath];\n\n this._sendAnalyticsEvent(\"graphql.init\");\n}\n\nGraphQLRequest.prototype.getUrl = function () {\n return this._graphQL.getGraphQLEndpoint();\n};\n\nGraphQLRequest.prototype.getBody = function () {\n var formattedBody = formatBodyKeys(this._data);\n var generatedBody = this._generator(formattedBody);\n var body = assign(\n { clientSdkMetadata: this._clientSdkMetadata },\n generatedBody\n );\n\n return JSON.stringify(body);\n};\n\nGraphQLRequest.prototype.getMethod = function () {\n return \"POST\";\n};\n\nGraphQLRequest.prototype.getHeaders = function () {\n var authorization, headers;\n\n if (this._data.authorizationFingerprint) {\n this._sendAnalyticsEvent(\"graphql.authorization-fingerprint\");\n authorization = this._data.authorizationFingerprint;\n } else {\n this._sendAnalyticsEvent(\"graphql.tokenization-key\");\n authorization = this._data.tokenizationKey;\n }\n\n headers = {\n Authorization: \"Bearer \" + authorization,\n \"Braintree-Version\": BRAINTREE_VERSION,\n };\n\n return assign({}, this._headers, headers);\n};\n\nGraphQLRequest.prototype.adaptResponseBody = function (parsedBody) {\n return this._adapter(parsedBody, this);\n};\n\nGraphQLRequest.prototype.determineStatus = function (\n httpStatus,\n parsedResponse\n) {\n var status, errorClass;\n\n if (httpStatus === 200) {\n errorClass =\n parsedResponse.errors &&\n parsedResponse.errors[0] &&\n parsedResponse.errors[0].extensions &&\n parsedResponse.errors[0].extensions.errorClass;\n\n if (parsedResponse.data && !parsedResponse.errors) {\n status = 200;\n } else if (errorClass === \"VALIDATION\") {\n status = 422;\n } else if (errorClass === \"AUTHORIZATION\") {\n status = 403;\n } else if (errorClass === \"AUTHENTICATION\") {\n status = 401;\n } else if (isGraphQLError(errorClass, parsedResponse)) {\n status = 403;\n } else {\n status = 500;\n }\n } else if (!httpStatus) {\n status = 500;\n } else {\n status = httpStatus;\n }\n\n this._sendAnalyticsEvent(\"graphql.status.\" + httpStatus);\n this._sendAnalyticsEvent(\"graphql.determinedStatus.\" + status);\n\n return status;\n};\n\nfunction isGraphQLError(errorClass, parsedResponse) {\n return !errorClass && parsedResponse.errors[0].message;\n}\n\nfunction formatBodyKeys(originalBody) {\n var body = {};\n\n Object.keys(originalBody).forEach(function (key) {\n var camelCaseKey = snakeCaseToCamelCase(key);\n\n if (typeof originalBody[key] === \"object\") {\n body[camelCaseKey] = formatBodyKeys(originalBody[key]);\n } else if (typeof originalBody[key] === \"number\") {\n body[camelCaseKey] = String(originalBody[key]);\n } else {\n body[camelCaseKey] = originalBody[key];\n }\n });\n\n return body;\n}\n\nmodule.exports = GraphQLRequest;\n\n},{\"../../../lib/assign\":121,\"../../../lib/snake-case-to-camel-case\":159,\"../../constants\":79,\"./adapters/configuration\":85,\"./adapters/credit-card-tokenization\":86,\"./generators/configuration\":88,\"./generators/credit-card-tokenization\":89}],92:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar once = _dereq_(\"../../lib/once\");\nvar AJAXDriver = _dereq_(\"./ajax-driver\");\n\nmodule.exports = function (options, cb) {\n cb = once(cb || Function.prototype);\n options.method = (options.method || \"GET\").toUpperCase();\n options.timeout = options.timeout == null ? 60000 : options.timeout;\n options.data = options.data || {};\n\n AJAXDriver.request(options, cb);\n};\n\n},{\"../../lib/once\":156,\"./ajax-driver\":83}],93:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (body) {\n try {\n body = JSON.parse(body);\n } catch (e) {\n /* ignored */\n }\n\n return body;\n};\n\n},{}],94:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (method, body) {\n if (typeof method !== \"string\") {\n throw new Error(\"Method must be a string\");\n }\n\n if (method.toLowerCase() !== \"get\" && body != null) {\n body = typeof body === \"string\" ? body : JSON.stringify(body);\n }\n\n return body;\n};\n\n},{}],95:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar isXHRAvailable =\n typeof window !== \"undefined\" &&\n window.XMLHttpRequest &&\n \"withCredentials\" in new window.XMLHttpRequest();\n\nfunction getRequestObject() {\n return isXHRAvailable\n ? new window.XMLHttpRequest()\n : new window.XDomainRequest();\n}\n\nmodule.exports = {\n isAvailable: isXHRAvailable,\n getRequestObject: getRequestObject,\n};\n\n},{}],96:[function(_dereq_,module,exports){\n\"use strict\";\n\n/**\n * @name BraintreeError.Data Collector - Creation Error Codes\n * @description Errors that occur when [creating the Data Collector component](./module-braintree-web_data-collector.html#.create).\n * @property {MERCHANT} DATA_COLLECTOR_KOUNT_NOT_ENABLED Occurs when Kount is enabled in creation options but is not enabled on the Braintree control panel.\n * @property {MERCHANT} DATA_COLLECTOR_KOUNT_ERROR Occurs when Kount errors while setting up.\n * @property {MERCHANT} DATA_COLLECTOR_REQUIRES_CREATE_OPTIONS Occurs when Kount or PayPal Fraudnet could not be enabled.\n */\n\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\n\nmodule.exports = {\n DATA_COLLECTOR_KOUNT_NOT_ENABLED: {\n type: BraintreeError.types.MERCHANT,\n code: \"DATA_COLLECTOR_KOUNT_NOT_ENABLED\",\n message: \"Kount is not enabled for this merchant.\",\n },\n DATA_COLLECTOR_KOUNT_ERROR: {\n type: BraintreeError.types.MERCHANT,\n code: \"DATA_COLLECTOR_KOUNT_ERROR\",\n },\n DATA_COLLECTOR_REQUIRES_CREATE_OPTIONS: {\n type: BraintreeError.types.MERCHANT,\n code: \"DATA_COLLECTOR_REQUIRES_CREATE_OPTIONS\",\n message: \"Data Collector must be created with Kount and/or PayPal.\",\n },\n};\n\n},{\"../lib/braintree-error\":124}],97:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar FRAUDNET_FNCLS = _dereq_(\"../lib/constants\").FRAUDNET_FNCLS;\nvar FRAUDNET_SOURCE = _dereq_(\"../lib/constants\").FRAUDNET_SOURCE;\nvar FRAUDNET_URL = _dereq_(\"../lib/constants\").FRAUDNET_URL;\nvar loadScript = _dereq_(\"../lib/assets\").loadScript;\n\nvar cachedSessionId;\n\nfunction setup(options) {\n var fraudNet = new Fraudnet();\n\n options = options || {};\n\n if (!options.sessionId && cachedSessionId) {\n fraudNet.sessionId = cachedSessionId;\n\n return Promise.resolve(fraudNet);\n }\n\n return fraudNet.initialize(options);\n}\n\nfunction clearSessionIdCache() {\n cachedSessionId = null;\n}\n\nfunction Fraudnet() {}\n\nFraudnet.prototype.initialize = function (options) {\n var environment = options.environment;\n var self = this;\n\n this.sessionId = options.sessionId || _generateSessionId();\n if (!options.sessionId) {\n cachedSessionId = this.sessionId;\n }\n this._beaconId = _generateBeaconId(this.sessionId);\n this._parameterBlock = _createParameterBlock(\n this.sessionId,\n this._beaconId,\n environment\n );\n\n return loadScript({\n src: FRAUDNET_URL,\n })\n .then(function (block) {\n self._thirdPartyBlock = block;\n\n return self;\n })\n .catch(function () {\n // if the fraudnet script fails to load\n // we just resolve with nothing\n // and data collector ignores it\n return null;\n });\n};\n\nFraudnet.prototype.teardown = function () {\n removeElementIfOnPage(document.querySelector('iframe[title=\"ppfniframe\"]'));\n removeElementIfOnPage(document.querySelector('iframe[title=\"pbf\"]'));\n\n removeElementIfOnPage(this._parameterBlock);\n removeElementIfOnPage(this._thirdPartyBlock);\n};\n\nfunction removeElementIfOnPage(element) {\n if (element && element.parentNode) {\n element.parentNode.removeChild(element);\n }\n}\n\nfunction _generateSessionId() {\n var i;\n var id = \"\";\n\n for (i = 0; i < 32; i++) {\n id += Math.floor(Math.random() * 16).toString(16);\n }\n\n return id;\n}\n\nfunction _generateBeaconId(sessionId) {\n var timestamp = new Date().getTime() / 1000;\n\n return (\n \"https://b.stats.paypal.com/counter.cgi\" +\n \"?i=127.0.0.1\" +\n \"&p=\" +\n sessionId +\n \"&t=\" +\n timestamp +\n \"&a=14\"\n );\n}\n\nfunction _createParameterBlock(sessionId, beaconId, environment) {\n var el = document.body.appendChild(document.createElement(\"script\"));\n var config = {\n f: sessionId,\n s: FRAUDNET_SOURCE,\n b: beaconId,\n };\n\n // for some reason, the presence of the sandbox\n // attribute in a production environment causes\n // some weird behavior with what url paths are\n // hit, so instead, we only apply this attribute\n // when it is not a production environment\n if (environment !== \"production\") {\n config.sandbox = true;\n }\n\n el.type = \"application/json\";\n el.setAttribute(\"fncls\", FRAUDNET_FNCLS);\n el.text = JSON.stringify(config);\n\n return el;\n}\n\nmodule.exports = {\n setup: setup,\n clearSessionIdCache: clearSessionIdCache,\n};\n\n},{\"../lib/assets\":120,\"../lib/constants\":126}],98:[function(_dereq_,module,exports){\n\"use strict\";\n/** @module braintree-web/data-collector */\n\nvar kount = _dereq_(\"./kount\");\nvar fraudnet = _dereq_(\"./fraudnet\");\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\nvar basicComponentVerification = _dereq_(\"../lib/basic-component-verification\");\nvar createDeferredClient = _dereq_(\"../lib/create-deferred-client\");\nvar createAssetsUrl = _dereq_(\"../lib/create-assets-url\");\nvar methods = _dereq_(\"../lib/methods\");\nvar convertMethodsToError = _dereq_(\"../lib/convert-methods-to-error\");\nvar VERSION = \"3.97.3\";\nvar wrapPromise = _dereq_(\"@braintree/wrap-promise\");\nvar errors = _dereq_(\"./errors\");\n\n/**\n * @class\n * @global\n * @name DataCollector\n * @description Do not use this constructor directly. Use {@link module:braintree-web/data-collector.create|braintree-web.data-collector.create} instead.\n * @classdesc This class is used for fraud integration with PayPal and Kount. Instances of this class have {@link DataCollector#deviceData|deviceData} which is used to correlate user sessions with server transactions.\n */\n\n/**\n * @memberof DataCollector\n * @name deviceData\n * @type string\n * @description JSON string to pass with server transactions.\n * @instance\n */\n\n/**\n * @memberof DataCollector\n * @name rawDeviceData\n * @type object\n * @description The device data as an object instead of a string.\n * @instance\n */\n\n/**\n * @memberof DataCollector\n * @name teardown\n * @function\n * @description Cleanly remove anything set up by {@link module:braintree-web/data-collector.create|create}.\n * @param {callback} [callback] Called on completion. If no callback is provided, `teardown` returns a promise.\n * @instance\n * @example\n * dataCollectorInstance.teardown();\n * @example ';\n }, 10);\n\n return iframe;\n};\n\nKount.prototype._initializeEnvironment = function (options) {\n var url = environmentUrls[options.environment];\n\n if (url == null) {\n throw new Error(\n options.environment + \" is not a valid environment for kount.environment\"\n );\n }\n\n return {\n url: url,\n name: options.environment,\n id: options.merchantId,\n };\n};\n\nmodule.exports = {\n setup: setup,\n Kount: Kount,\n environmentUrls: environmentUrls,\n};\n\n},{\"../lib/camel-case-to-snake-case\":125,\"./vendor/sjcl\":100}],100:[function(_dereq_,module,exports){\n\"use strict\";\nvar sjcl = {\n cipher: {},\n hash: {},\n keyexchange: {},\n mode: {},\n misc: {},\n codec: {},\n exception: {\n corrupt: function (a) {\n this.toString = function () {\n return \"CORRUPT: \" + this.message;\n };\n this.message = a;\n },\n invalid: function (a) {\n this.toString = function () {\n return \"INVALID: \" + this.message;\n };\n this.message = a;\n },\n bug: function (a) {\n this.toString = function () {\n return \"BUG: \" + this.message;\n };\n this.message = a;\n },\n notReady: function (a) {\n this.toString = function () {\n return \"NOT READY: \" + this.message;\n };\n this.message = a;\n },\n },\n};\nsjcl.cipher.aes = function (a) {\n this.l[0][0][0] || this.G();\n var b,\n c,\n d,\n e,\n f = this.l[0][4],\n g = this.l[1];\n b = a.length;\n var k = 1;\n if (4 !== b && 6 !== b && 8 !== b)\n throw new sjcl.exception.invalid(\"invalid aes key size\");\n this.b = [(d = a.slice(0)), (e = [])];\n for (a = b; a < 4 * b + 28; a++) {\n c = d[a - 1];\n if (0 === a % b || (8 === b && 4 === a % b))\n (c =\n (f[c >>> 24] << 24) ^\n (f[(c >> 16) & 255] << 16) ^\n (f[(c >> 8) & 255] << 8) ^\n f[c & 255]),\n 0 === a % b &&\n ((c = (c << 8) ^ (c >>> 24) ^ (k << 24)),\n (k = (k << 1) ^ (283 * (k >> 7))));\n d[a] = d[a - b] ^ c;\n }\n for (b = 0; a; b++, a--)\n (c = d[b & 3 ? a : a - 4]),\n (e[b] =\n 4 >= a || 4 > b\n ? c\n : g[0][f[c >>> 24]] ^\n g[1][f[(c >> 16) & 255]] ^\n g[2][f[(c >> 8) & 255]] ^\n g[3][f[c & 255]]);\n};\nsjcl.cipher.aes.prototype = {\n encrypt: function (a) {\n return t(this, a, 0);\n },\n decrypt: function (a) {\n return t(this, a, 1);\n },\n l: [\n [[], [], [], [], []],\n [[], [], [], [], []],\n ],\n G: function () {\n var a = this.l[0],\n b = this.l[1],\n c = a[4],\n d = b[4],\n e,\n f,\n g,\n k = [],\n l = [],\n p,\n n,\n h,\n m;\n for (e = 0; 0x100 > e; e++) l[(k[e] = (e << 1) ^ (283 * (e >> 7))) ^ e] = e;\n for (f = g = 0; !c[f]; f ^= p || 1, g = l[g] || 1)\n for (\n h = g ^ (g << 1) ^ (g << 2) ^ (g << 3) ^ (g << 4),\n h = (h >> 8) ^ (h & 255) ^ 99,\n c[f] = h,\n d[h] = f,\n n = k[(e = k[(p = k[f])])],\n m = (0x1010101 * n) ^ (0x10001 * e) ^ (0x101 * p) ^ (0x1010100 * f),\n n = (0x101 * k[h]) ^ (0x1010100 * h),\n e = 0;\n 4 > e;\n e++\n )\n (a[e][f] = n = (n << 24) ^ (n >>> 8)),\n (b[e][h] = m = (m << 24) ^ (m >>> 8));\n for (e = 0; 5 > e; e++) (a[e] = a[e].slice(0)), (b[e] = b[e].slice(0));\n },\n};\nfunction t(a, b, c) {\n if (4 !== b.length)\n throw new sjcl.exception.invalid(\"invalid aes block size\");\n var d = a.b[c],\n e = b[0] ^ d[0],\n f = b[c ? 3 : 1] ^ d[1],\n g = b[2] ^ d[2];\n b = b[c ? 1 : 3] ^ d[3];\n var k,\n l,\n p,\n n = d.length / 4 - 2,\n h,\n m = 4,\n q = [0, 0, 0, 0];\n k = a.l[c];\n a = k[0];\n var r = k[1],\n v = k[2],\n w = k[3],\n x = k[4];\n for (h = 0; h < n; h++)\n (k =\n a[e >>> 24] ^ r[(f >> 16) & 255] ^ v[(g >> 8) & 255] ^ w[b & 255] ^ d[m]),\n (l =\n a[f >>> 24] ^\n r[(g >> 16) & 255] ^\n v[(b >> 8) & 255] ^\n w[e & 255] ^\n d[m + 1]),\n (p =\n a[g >>> 24] ^\n r[(b >> 16) & 255] ^\n v[(e >> 8) & 255] ^\n w[f & 255] ^\n d[m + 2]),\n (b =\n a[b >>> 24] ^\n r[(e >> 16) & 255] ^\n v[(f >> 8) & 255] ^\n w[g & 255] ^\n d[m + 3]),\n (m += 4),\n (e = k),\n (f = l),\n (g = p);\n for (h = 0; 4 > h; h++)\n (q[c ? 3 & -h : h] =\n (x[e >>> 24] << 24) ^\n (x[(f >> 16) & 255] << 16) ^\n (x[(g >> 8) & 255] << 8) ^\n x[b & 255] ^\n d[m++]),\n (k = e),\n (e = f),\n (f = g),\n (g = b),\n (b = k);\n return q;\n}\nsjcl.bitArray = {\n bitSlice: function (a, b, c) {\n a = sjcl.bitArray.M(a.slice(b / 32), 32 - (b & 31)).slice(1);\n return void 0 === c ? a : sjcl.bitArray.clamp(a, c - b);\n },\n extract: function (a, b, c) {\n var d = Math.floor((-b - c) & 31);\n return (\n (((b + c - 1) ^ b) & -32\n ? (a[(b / 32) | 0] << (32 - d)) ^ (a[(b / 32 + 1) | 0] >>> d)\n : a[(b / 32) | 0] >>> d) &\n ((1 << c) - 1)\n );\n },\n concat: function (a, b) {\n if (0 === a.length || 0 === b.length) return a.concat(b);\n var c = a[a.length - 1],\n d = sjcl.bitArray.getPartial(c);\n return 32 === d\n ? a.concat(b)\n : sjcl.bitArray.M(b, d, c | 0, a.slice(0, a.length - 1));\n },\n bitLength: function (a) {\n var b = a.length;\n return 0 === b ? 0 : 32 * (b - 1) + sjcl.bitArray.getPartial(a[b - 1]);\n },\n clamp: function (a, b) {\n if (32 * a.length < b) return a;\n a = a.slice(0, Math.ceil(b / 32));\n var c = a.length;\n b = b & 31;\n 0 < c &&\n b &&\n (a[c - 1] = sjcl.bitArray.partial(\n b,\n a[c - 1] & (2147483648 >> (b - 1)),\n 1\n ));\n return a;\n },\n partial: function (a, b, c) {\n return 32 === a ? b : (c ? b | 0 : b << (32 - a)) + 0x10000000000 * a;\n },\n getPartial: function (a) {\n return Math.round(a / 0x10000000000) || 32;\n },\n equal: function (a, b) {\n if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) return !1;\n var c = 0,\n d;\n for (d = 0; d < a.length; d++) c |= a[d] ^ b[d];\n return 0 === c;\n },\n M: function (a, b, c, d) {\n var e;\n e = 0;\n for (void 0 === d && (d = []); 32 <= b; b -= 32) d.push(c), (c = 0);\n if (0 === b) return d.concat(a);\n for (e = 0; e < a.length; e++)\n d.push(c | (a[e] >>> b)), (c = a[e] << (32 - b));\n e = a.length ? a[a.length - 1] : 0;\n a = sjcl.bitArray.getPartial(e);\n d.push(sjcl.bitArray.partial((b + a) & 31, 32 < b + a ? c : d.pop(), 1));\n return d;\n },\n Y: function (a, b) {\n return [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]];\n },\n byteswapM: function (a) {\n var b, c;\n for (b = 0; b < a.length; ++b)\n (c = a[b]),\n (a[b] =\n (c >>> 24) | ((c >>> 8) & 0xff00) | ((c & 0xff00) << 8) | (c << 24));\n return a;\n },\n};\nsjcl.codec.utf8String = {\n fromBits: function (a) {\n var b = \"\",\n c = sjcl.bitArray.bitLength(a),\n d,\n e;\n for (d = 0; d < c / 8; d++)\n 0 === (d & 3) && (e = a[d / 4]),\n (b += String.fromCharCode(((e >>> 8) >>> 8) >>> 8)),\n (e <<= 8);\n return decodeURIComponent(escape(b));\n },\n toBits: function (a) {\n a = unescape(encodeURIComponent(a));\n var b = [],\n c,\n d = 0;\n for (c = 0; c < a.length; c++)\n (d = (d << 8) | a.charCodeAt(c)), 3 === (c & 3) && (b.push(d), (d = 0));\n c & 3 && b.push(sjcl.bitArray.partial(8 * (c & 3), d));\n return b;\n },\n};\nsjcl.codec.hex = {\n fromBits: function (a) {\n var b = \"\",\n c;\n for (c = 0; c < a.length; c++)\n b += ((a[c] | 0) + 0xf00000000000).toString(16).substr(4);\n return b.substr(0, sjcl.bitArray.bitLength(a) / 4);\n },\n toBits: function (a) {\n var b,\n c = [],\n d;\n a = a.replace(/\\s|0x/g, \"\");\n d = a.length;\n a = a + \"00000000\";\n for (b = 0; b < a.length; b += 8) c.push(parseInt(a.substr(b, 8), 16) ^ 0);\n return sjcl.bitArray.clamp(c, 4 * d);\n },\n};\nsjcl.hash.sha256 = function (a) {\n this.b[0] || this.G();\n a\n ? ((this.u = a.u.slice(0)), (this.o = a.o.slice(0)), (this.h = a.h))\n : this.reset();\n};\nsjcl.hash.sha256.hash = function (a) {\n return new sjcl.hash.sha256().update(a).finalize();\n};\nsjcl.hash.sha256.prototype = {\n blockSize: 512,\n reset: function () {\n this.u = this.K.slice(0);\n this.o = [];\n this.h = 0;\n return this;\n },\n update: function (a) {\n \"string\" === typeof a && (a = sjcl.codec.utf8String.toBits(a));\n var b,\n c = (this.o = sjcl.bitArray.concat(this.o, a));\n b = this.h;\n a = this.h = b + sjcl.bitArray.bitLength(a);\n if (0x1fffffffffffff < a)\n throw new sjcl.exception.invalid(\"Cannot hash more than 2^53 - 1 bits\");\n if (\"undefined\" !== typeof Uint32Array) {\n var d = new Uint32Array(c),\n e = 0;\n for (b = 512 + b - ((512 + b) & 0x1ff); b <= a; b += 512)\n u(this, d.subarray(16 * e, 16 * (e + 1))), (e += 1);\n c.splice(0, 16 * e);\n } else\n for (b = 512 + b - ((512 + b) & 0x1ff); b <= a; b += 512)\n u(this, c.splice(0, 16));\n return this;\n },\n finalize: function () {\n var a,\n b = this.o,\n c = this.u,\n b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1, 1)]);\n for (a = b.length + 2; a & 15; a++) b.push(0);\n b.push(Math.floor(this.h / 0x100000000));\n for (b.push(this.h | 0); b.length; ) u(this, b.splice(0, 16));\n this.reset();\n return c;\n },\n K: [],\n b: [],\n G: function () {\n function a(a) {\n return (0x100000000 * (a - Math.floor(a))) | 0;\n }\n for (var b = 0, c = 2, d, e; 64 > b; c++) {\n e = !0;\n for (d = 2; d * d <= c; d++)\n if (0 === c % d) {\n e = !1;\n break;\n }\n e &&\n (8 > b && (this.K[b] = a(Math.pow(c, 0.5))),\n (this.b[b] = a(Math.pow(c, 1 / 3))),\n b++);\n }\n },\n};\nfunction u(a, b) {\n var c,\n d,\n e,\n f = a.u,\n g = a.b,\n k = f[0],\n l = f[1],\n p = f[2],\n n = f[3],\n h = f[4],\n m = f[5],\n q = f[6],\n r = f[7];\n for (c = 0; 64 > c; c++)\n 16 > c\n ? (d = b[c])\n : ((d = b[(c + 1) & 15]),\n (e = b[(c + 14) & 15]),\n (d = b[c & 15] =\n (((d >>> 7) ^ (d >>> 18) ^ (d >>> 3) ^ (d << 25) ^ (d << 14)) +\n ((e >>> 17) ^ (e >>> 19) ^ (e >>> 10) ^ (e << 15) ^ (e << 13)) +\n b[c & 15] +\n b[(c + 9) & 15]) |\n 0)),\n (d =\n d +\n r +\n ((h >>> 6) ^\n (h >>> 11) ^\n (h >>> 25) ^\n (h << 26) ^\n (h << 21) ^\n (h << 7)) +\n (q ^ (h & (m ^ q))) +\n g[c]),\n (r = q),\n (q = m),\n (m = h),\n (h = (n + d) | 0),\n (n = p),\n (p = l),\n (l = k),\n (k =\n (d +\n ((l & p) ^ (n & (l ^ p))) +\n ((l >>> 2) ^\n (l >>> 13) ^\n (l >>> 22) ^\n (l << 30) ^\n (l << 19) ^\n (l << 10))) |\n 0);\n f[0] = (f[0] + k) | 0;\n f[1] = (f[1] + l) | 0;\n f[2] = (f[2] + p) | 0;\n f[3] = (f[3] + n) | 0;\n f[4] = (f[4] + h) | 0;\n f[5] = (f[5] + m) | 0;\n f[6] = (f[6] + q) | 0;\n f[7] = (f[7] + r) | 0;\n}\nsjcl.prng = function (a) {\n this.c = [new sjcl.hash.sha256()];\n this.i = [0];\n this.H = 0;\n this.v = {};\n this.F = 0;\n this.J = {};\n this.L = this.f = this.j = this.T = 0;\n this.b = [0, 0, 0, 0, 0, 0, 0, 0];\n this.g = [0, 0, 0, 0];\n this.C = void 0;\n this.D = a;\n this.s = !1;\n this.B = { progress: {}, seeded: {} };\n this.m = this.S = 0;\n this.w = 1;\n this.A = 2;\n this.O = 0x10000;\n this.I = [0, 48, 64, 96, 128, 192, 0x100, 384, 512, 768, 1024];\n this.P = 3e4;\n this.N = 80;\n};\nsjcl.prng.prototype = {\n randomWords: function (a, b) {\n var c = [],\n d;\n d = this.isReady(b);\n var e;\n if (d === this.m)\n throw new sjcl.exception.notReady(\"generator isn't seeded\");\n if (d & this.A) {\n d = !(d & this.w);\n e = [];\n var f = 0,\n g;\n this.L = e[0] = new Date().valueOf() + this.P;\n for (g = 0; 16 > g; g++) e.push((0x100000000 * Math.random()) | 0);\n for (\n g = 0;\n g < this.c.length &&\n ((e = e.concat(this.c[g].finalize())),\n (f += this.i[g]),\n (this.i[g] = 0),\n d || !(this.H & (1 << g)));\n g++\n );\n this.H >= 1 << this.c.length &&\n (this.c.push(new sjcl.hash.sha256()), this.i.push(0));\n this.f -= f;\n f > this.j && (this.j = f);\n this.H++;\n this.b = sjcl.hash.sha256.hash(this.b.concat(e));\n this.C = new sjcl.cipher.aes(this.b);\n for (\n d = 0;\n 4 > d && ((this.g[d] = (this.g[d] + 1) | 0), !this.g[d]);\n d++\n );\n }\n for (d = 0; d < a; d += 4)\n 0 === (d + 1) % this.O && y(this),\n (e = z(this)),\n c.push(e[0], e[1], e[2], e[3]);\n y(this);\n return c.slice(0, a);\n },\n setDefaultParanoia: function (a, b) {\n if (\n 0 === a &&\n \"Setting paranoia=0 will ruin your security; use it only for testing\" !==\n b\n )\n throw new sjcl.exception.invalid(\n \"Setting paranoia=0 will ruin your security; use it only for testing\"\n );\n this.D = a;\n },\n addEntropy: function (a, b, c) {\n c = c || \"user\";\n var d,\n e,\n f = new Date().valueOf(),\n g = this.v[c],\n k = this.isReady(),\n l = 0;\n d = this.J[c];\n void 0 === d && (d = this.J[c] = this.T++);\n void 0 === g && (g = this.v[c] = 0);\n this.v[c] = (this.v[c] + 1) % this.c.length;\n switch (typeof a) {\n case \"number\":\n void 0 === b && (b = 1);\n this.c[g].update([d, this.F++, 1, b, f, 1, a | 0]);\n break;\n case \"object\":\n c = Object.prototype.toString.call(a);\n if (\"[object Uint32Array]\" === c) {\n e = [];\n for (c = 0; c < a.length; c++) e.push(a[c]);\n a = e;\n } else\n for (\n \"[object Array]\" !== c && (l = 1), c = 0;\n c < a.length && !l;\n c++\n )\n \"number\" !== typeof a[c] && (l = 1);\n if (!l) {\n if (void 0 === b)\n for (c = b = 0; c < a.length; c++)\n for (e = a[c]; 0 < e; ) b++, (e = e >>> 1);\n this.c[g].update([d, this.F++, 2, b, f, a.length].concat(a));\n }\n break;\n case \"string\":\n void 0 === b && (b = a.length);\n this.c[g].update([d, this.F++, 3, b, f, a.length]);\n this.c[g].update(a);\n break;\n default:\n l = 1;\n }\n if (l)\n throw new sjcl.exception.bug(\n \"random: addEntropy only supports number, array of numbers or string\"\n );\n this.i[g] += b;\n this.f += b;\n k === this.m &&\n (this.isReady() !== this.m && A(\"seeded\", Math.max(this.j, this.f)),\n A(\"progress\", this.getProgress()));\n },\n isReady: function (a) {\n a = this.I[void 0 !== a ? a : this.D];\n return this.j && this.j >= a\n ? this.i[0] > this.N && new Date().valueOf() > this.L\n ? this.A | this.w\n : this.w\n : this.f >= a\n ? this.A | this.m\n : this.m;\n },\n getProgress: function (a) {\n a = this.I[a ? a : this.D];\n return this.j >= a ? 1 : this.f > a ? 1 : this.f / a;\n },\n startCollectors: function () {\n if (!this.s) {\n this.a = {\n loadTimeCollector: B(this, this.V),\n mouseCollector: B(this, this.W),\n keyboardCollector: B(this, this.U),\n accelerometerCollector: B(this, this.R),\n touchCollector: B(this, this.X),\n };\n if (window.addEventListener)\n window.addEventListener(\"load\", this.a.loadTimeCollector, !1),\n window.addEventListener(\"mousemove\", this.a.mouseCollector, !1),\n window.addEventListener(\"keypress\", this.a.keyboardCollector, !1),\n window.addEventListener(\n \"devicemotion\",\n this.a.accelerometerCollector,\n !1\n ),\n window.addEventListener(\"touchmove\", this.a.touchCollector, !1);\n else if (document.attachEvent)\n document.attachEvent(\"onload\", this.a.loadTimeCollector),\n document.attachEvent(\"onmousemove\", this.a.mouseCollector),\n document.attachEvent(\"keypress\", this.a.keyboardCollector);\n else throw new sjcl.exception.bug(\"can't attach event\");\n this.s = !0;\n }\n },\n stopCollectors: function () {\n this.s &&\n (window.removeEventListener\n ? (window.removeEventListener(\"load\", this.a.loadTimeCollector, !1),\n window.removeEventListener(\"mousemove\", this.a.mouseCollector, !1),\n window.removeEventListener(\"keypress\", this.a.keyboardCollector, !1),\n window.removeEventListener(\n \"devicemotion\",\n this.a.accelerometerCollector,\n !1\n ),\n window.removeEventListener(\"touchmove\", this.a.touchCollector, !1))\n : document.detachEvent &&\n (document.detachEvent(\"onload\", this.a.loadTimeCollector),\n document.detachEvent(\"onmousemove\", this.a.mouseCollector),\n document.detachEvent(\"keypress\", this.a.keyboardCollector)),\n (this.s = !1));\n },\n addEventListener: function (a, b) {\n this.B[a][this.S++] = b;\n },\n removeEventListener: function (a, b) {\n var c,\n d,\n e = this.B[a],\n f = [];\n for (d in e) e.hasOwnProperty(d) && e[d] === b && f.push(d);\n for (c = 0; c < f.length; c++) (d = f[c]), delete e[d];\n },\n U: function () {\n C(this, 1);\n },\n W: function (a) {\n var b, c;\n try {\n (b = a.x || a.clientX || a.offsetX || 0),\n (c = a.y || a.clientY || a.offsetY || 0);\n } catch (d) {\n c = b = 0;\n }\n 0 != b && 0 != c && this.addEntropy([b, c], 2, \"mouse\");\n C(this, 0);\n },\n X: function (a) {\n a = a.touches[0] || a.changedTouches[0];\n this.addEntropy([a.pageX || a.clientX, a.pageY || a.clientY], 1, \"touch\");\n C(this, 0);\n },\n V: function () {\n C(this, 2);\n },\n R: function (a) {\n a =\n a.accelerationIncludingGravity.x ||\n a.accelerationIncludingGravity.y ||\n a.accelerationIncludingGravity.z;\n if (window.orientation) {\n var b = window.orientation;\n \"number\" === typeof b && this.addEntropy(b, 1, \"accelerometer\");\n }\n a && this.addEntropy(a, 2, \"accelerometer\");\n C(this, 0);\n },\n};\nfunction A(a, b) {\n var c,\n d = sjcl.random.B[a],\n e = [];\n for (c in d) d.hasOwnProperty(c) && e.push(d[c]);\n for (c = 0; c < e.length; c++) e[c](b);\n}\nfunction C(a, b) {\n \"undefined\" !== typeof window &&\n window.performance &&\n \"function\" === typeof window.performance.now\n ? a.addEntropy(window.performance.now(), b, \"loadtime\")\n : a.addEntropy(new Date().valueOf(), b, \"loadtime\");\n}\nfunction y(a) {\n a.b = z(a).concat(z(a));\n a.C = new sjcl.cipher.aes(a.b);\n}\nfunction z(a) {\n for (var b = 0; 4 > b && ((a.g[b] = (a.g[b] + 1) | 0), !a.g[b]); b++);\n return a.C.encrypt(a.g);\n}\nfunction B(a, b) {\n return function () {\n b.apply(a, arguments);\n };\n}\nsjcl.random = new sjcl.prng(6);\na: try {\n var D, E, F, G;\n if ((G = \"undefined\" !== typeof module && module.exports)) {\n var H;\n try {\n H = _dereq_(\"crypto\");\n } catch (a) {\n H = null;\n }\n G = E = H;\n }\n if (G && E.randomBytes)\n (D = E.randomBytes(128)),\n (D = new Uint32Array(new Uint8Array(D).buffer)),\n sjcl.random.addEntropy(D, 1024, \"crypto['randomBytes']\");\n else if (\n \"undefined\" !== typeof window &&\n \"undefined\" !== typeof Uint32Array\n ) {\n F = new Uint32Array(32);\n if (window.crypto && window.crypto.getRandomValues)\n window.crypto.getRandomValues(F);\n else if (window.msCrypto && window.msCrypto.getRandomValues)\n window.msCrypto.getRandomValues(F);\n else break a;\n sjcl.random.addEntropy(F, 1024, \"crypto['getRandomValues']\");\n }\n} catch (a) {\n \"undefined\" !== typeof window &&\n window.console &&\n (console.log(\"There was an error collecting entropy from the browser:\"),\n console.log(a));\n}\n\"undefined\" !== typeof module && module.exports && (module.exports = sjcl);\n\"function\" === typeof define &&\n define([], function () {\n return sjcl;\n });\n\n},{\"crypto\":undefined}],101:[function(_dereq_,module,exports){\n\"use strict\";\n\n/**\n * @name BraintreeError.Google Payment - Creation Error Codes\n * @description Errors that occur when [creating the Google Payment component](./module-braintree-web_google-payment.html#.create).\n * @property {MERCHANT} GOOGLE_PAYMENT_NOT_ENABLED Occurs when Google Pay is not enabled on the Braintree control panel.\n * @property {MERCHANT} GOOGLE_PAYMENT_UNSUPPORTED_VERSION Occurs when a Google Pay version is used that is not supported by the Braintree SDK.\n */\n\n/**\n * @name BraintreeError.Google Payment - parseResponse Error Codes\n * @description Errors that occur when [parsing the response from Google](./GooglePayment.html#parseResponse).\n * @property {UNKNOWN} GOOGLE_PAYMENT_GATEWAY_ERROR Occurs when Google Pay could not be tokenized.\n */\n\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\n\nmodule.exports = {\n GOOGLE_PAYMENT_NOT_ENABLED: {\n type: BraintreeError.types.MERCHANT,\n code: \"GOOGLE_PAYMENT_NOT_ENABLED\",\n message: \"Google Pay is not enabled for this merchant.\",\n },\n GOOGLE_PAYMENT_GATEWAY_ERROR: {\n code: \"GOOGLE_PAYMENT_GATEWAY_ERROR\",\n message:\n \"There was an error when tokenizing the Google Pay payment method.\",\n type: BraintreeError.types.UNKNOWN,\n },\n GOOGLE_PAYMENT_UNSUPPORTED_VERSION: {\n code: \"GOOGLE_PAYMENT_UNSUPPORTED_VERSION\",\n type: BraintreeError.types.MERCHANT,\n },\n};\n\n},{\"../lib/braintree-error\":124}],102:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar analytics = _dereq_(\"../lib/analytics\");\nvar assign = _dereq_(\"../lib/assign\").assign;\nvar convertMethodsToError = _dereq_(\"../lib/convert-methods-to-error\");\nvar find = _dereq_(\"../lib/find\");\nvar generateGooglePayConfiguration = _dereq_(\"../lib/generate-google-pay-configuration\");\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\nvar errors = _dereq_(\"./errors\");\nvar methods = _dereq_(\"../lib/methods\");\nvar wrapPromise = _dereq_(\"@braintree/wrap-promise\");\n\nvar CREATE_PAYMENT_DATA_REQUEST_METHODS = {\n 1: \"_createV1PaymentDataRequest\",\n 2: \"_createV2PaymentDataRequest\",\n};\n\n/**\n * @typedef {object} GooglePayment~tokenizePayload\n * @property {string} nonce The payment method nonce.\n * @property {object} details Additional account details.\n * @property {string} details.cardType Type of card, ex: Visa, MasterCard.\n * @property {string} details.lastFour Last four digits of card number.\n * @property {string} details.lastTwo Last two digits of card number.\n * @property {boolean} details.isNetworkTokenized True if the card is network tokenized.\n * @property {string} details.bin First six digits of card number.\n * @property {string} description A human-readable description.\n * @property {string} type The payment method type, `CreditCard` or `AndroidPayCard`.\n * @property {object} binData Information about the card based on the bin.\n * @property {string} binData.commercial Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.countryOfIssuance The country of issuance.\n * @property {string} binData.debit Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.durbinRegulated Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.healthcare Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.issuingBank The issuing bank.\n * @property {string} binData.payroll Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.prepaid Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.productId The product id.\n */\n\n/**\n * @class GooglePayment\n * @param {object} options Google Payment {@link module:braintree-web/google-payment.create create} options.\n * @description Do not use this constructor directly. Use {@link module:braintree-web/google-payment.create|braintree-web.google-payment.create} instead.\n * @classdesc This class represents a Google Payment component produced by {@link module:braintree-web/google-payment.create|braintree-web/google-payment.create}. Instances of this class have methods for initializing the Google Pay flow.\n */\nfunction GooglePayment(options) {\n this._createPromise = options.createPromise;\n this._client = options.client;\n this._useDeferredClient = options.useDeferredClient;\n // NEXT_MAJOR_VERSION this should be updated to 2 (or whatever the current latest version is)\n this._googlePayVersion = options.googlePayVersion || 1;\n this._googleMerchantId = options.googleMerchantId;\n\n if (this._isUnsupportedGooglePayAPIVersion()) {\n throw new BraintreeError({\n code: errors.GOOGLE_PAYMENT_UNSUPPORTED_VERSION.code,\n message:\n \"The Braintree SDK does not support Google Pay version \" +\n this._googlePayVersion +\n \". Please upgrade the version of your Braintree SDK and contact support if this error persists.\",\n type: errors.GOOGLE_PAYMENT_UNSUPPORTED_VERSION.type,\n });\n }\n}\n\nGooglePayment.prototype._waitForClient = function () {\n if (this._client) {\n return Promise.resolve();\n }\n\n return this._createPromise.then(\n function (client) {\n this._client = client;\n }.bind(this)\n );\n};\n\nGooglePayment.prototype._isUnsupportedGooglePayAPIVersion = function () {\n // if we don't have createPaymentDatqRequest method for the specific\n // API version, then the version is not supported\n return !(this._googlePayVersion in CREATE_PAYMENT_DATA_REQUEST_METHODS);\n};\n\nGooglePayment.prototype._getDefaultConfig = function () {\n if (!this._defaultConfig) {\n this._defaultConfig = generateGooglePayConfiguration(\n this._client.getConfiguration(),\n this._googlePayVersion,\n this._googleMerchantId\n );\n }\n\n return this._defaultConfig;\n};\n\nGooglePayment.prototype._createV1PaymentDataRequest = function (\n paymentDataRequest\n) {\n var defaultConfig = this._getDefaultConfig();\n var overrideCardNetworks =\n paymentDataRequest.cardRequirements &&\n paymentDataRequest.cardRequirements.allowedCardNetworks;\n var defaultConfigCardNetworks =\n defaultConfig.cardRequirements.allowedCardNetworks;\n var allowedCardNetworks = overrideCardNetworks || defaultConfigCardNetworks;\n\n paymentDataRequest = assign({}, defaultConfig, paymentDataRequest);\n\n // this way we can preserve allowedCardNetworks from default integration\n // if merchant did not pass any in `cardRequirements`\n paymentDataRequest.cardRequirements.allowedCardNetworks = allowedCardNetworks;\n\n return paymentDataRequest;\n};\n\nGooglePayment.prototype._createV2PaymentDataRequest = function (\n paymentDataRequest\n) {\n var defaultConfig = this._getDefaultConfig();\n\n if (paymentDataRequest.allowedPaymentMethods) {\n paymentDataRequest.allowedPaymentMethods.forEach(function (paymentMethod) {\n var defaultPaymentMethod = find(\n defaultConfig.allowedPaymentMethods,\n \"type\",\n paymentMethod.type\n );\n\n if (defaultPaymentMethod) {\n applyDefaultsToPaymentMethodConfiguration(\n paymentMethod,\n defaultPaymentMethod\n );\n }\n });\n }\n\n paymentDataRequest = assign({}, defaultConfig, paymentDataRequest);\n\n return paymentDataRequest;\n};\n\n/**\n * Create a configuration object for use in the `loadPaymentData` method.\n *\n * **Note**: Version 1 of the Google Pay Api is deprecated and will become unsupported in a future version. Until then, version 1 will continue to be used by default, and version 1 schema parameters and overrides will remain functional on existing integrations. However, new integrations and all following examples will be presented in the GooglePay version 2 schema. See [Google Pay's upgrade guide](https://developers.google.com/pay/api/web/guides/resources/update-to-latest-version) to see how to update your integration.\n *\n * If `options.googlePayVersion === 2` was set during the initial {@link module:braintree-web/google-payment.create|create} call, overrides must match the Google Pay v2 schema to be valid.\n *\n * @public\n * @param {object} overrides The supplied parameters for creating the PaymentDataRequest object. Required parameters are:\n * @param {object} overrides.transactionInfo Object according to the [Google Pay Transaction Info](https://developers.google.com/pay/api/web/reference/object#TransactionInfo) spec.\n * Optionally, any of the parameters in the [PaymentDataRequest](https://developers.google.com/pay/api/web/reference/object#PaymentDataRequest) parameters can be overridden, but note that it is recommended only to override top level parameters to avoid squashing deeply nested configuration objects. An example can be found below showing how to safely edit these deeply nested objects.\n * @example\n * var paymentDataRequest = googlePaymentInstance.createPaymentDataRequest({\n * merchantInfo: {\n * merchantId: 'my-merchant-id-from-google'\n * },\n * transactionInfo: {\n * currencyCode: 'USD',\n * totalPriceStatus: 'FINAL',\n * totalPrice: '100.00'\n * }\n * });\n *\n * // Update card payment methods to require billing address\n * var cardPaymentMethod = paymentDataRequest.allowedPaymentMethods;\n * cardPaymentMethod.parameters.billingAddressRequired = true;\n * cardPaymentMethod.parameters.billingAddressParameters = {\n * format: 'FULL',\n * phoneNumberRequired: true\n * };\n *\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * })\n *\n * paymentsClient.loadPaymentData(paymentDataRequest).then(function (response) {\n * // handle response with googlePaymentInstance.parseResponse\n * // (see below)\n * });\n * @example
data
, is a {@link GooglePay~tokenizePayload|tokenizePayload}. If no callback is provided, `parseResponse` returns a promise that resolves with a {@link GooglePayment~tokenizePayload|tokenizePayload}.\n * @example with callback\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * })\n *\n * paymentsClient.loadPaymentData(paymentDataRequestFromCreatePaymentDataRequest).then(function (response) {\n * googlePaymentInstance.parseResponse(response, function (err, data) {\n * if (err) {\n * // handle errors\n * }\n * // send parsedResponse.nonce to your server\n * });\n * });\n * @example with promise\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * })\n *\n * paymentsClient.loadPaymentData(paymentDataRequestFromCreatePaymentDataRequest).then(function (response) {\n * return googlePaymentInstance.parseResponse(response);\n * }).then(function (parsedResponse) {\n * // send parsedResponse.nonce to your server\n * }).catch(function (err) {\n * // handle errors\n * });\n * @returns {(Promise|void)} Returns a promise that resolves the parsed response if no callback is provided.\n */\nGooglePayment.prototype.parseResponse = function (response) {\n var self = this;\n\n return Promise.resolve()\n .then(function () {\n var payload;\n var rawResponse =\n response.apiVersion === 2\n ? response.paymentMethodData.tokenizationData.token\n : response.paymentMethodToken.token;\n var parsedResponse = JSON.parse(rawResponse);\n var error = parsedResponse.error;\n\n if (error) {\n return Promise.reject(error);\n }\n\n analytics.sendEvent(\n self._createPromise,\n \"google-payment.parseResponse.succeeded\"\n );\n\n if (parsedResponse.paypalAccounts) {\n payload = parsedResponse.paypalAccounts[0];\n analytics.sendEvent(\n self._createPromise,\n \"google-payment.parseResponse.succeeded.paypal\"\n );\n\n return Promise.resolve({\n nonce: payload.nonce,\n type: payload.type,\n description: payload.description,\n });\n }\n payload = parsedResponse.androidPayCards[0];\n analytics.sendEvent(\n self._createPromise,\n \"google-payment.parseResponse.succeeded.google-payment\"\n );\n\n return Promise.resolve({\n nonce: payload.nonce,\n type: payload.type,\n description: payload.description,\n details: {\n cardType: payload.details.cardType,\n lastFour: payload.details.lastFour,\n lastTwo: payload.details.lastTwo,\n isNetworkTokenized: payload.details.isNetworkTokenized,\n bin: payload.details.bin,\n },\n binData: payload.binData,\n });\n })\n .catch(function (error) {\n analytics.sendEvent(\n self._createPromise,\n \"google-payment.parseResponse.failed\"\n );\n\n return Promise.reject(\n new BraintreeError({\n code: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.code,\n message: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.message,\n type: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.type,\n details: {\n originalError: error,\n },\n })\n );\n });\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/google-payment.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * googlePaymentInstance.teardown();\n * @example
\n * - `\"number\"`\n * - `\"cvv\"`\n * - `\"expirationDate\"`\n * - `\"expirationMonth\"`\n * - `\"expirationYear\"`\n * - `\"postalCode\"`\n * - `\"cardholderName\"`\n * @property {object} fields\n * @property {?HostedFields~hostedFieldsFieldData} fields.number {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the number field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.cvv {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the CVV field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.expirationDate {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration date field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.expirationMonth {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration month field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.expirationYear {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration year field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.postalCode {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the postal code field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.cardholderName {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the cardholder name field, if it is present.\n */\n\n/**\n * @typedef {object} HostedFields~binPayload\n * @description The event payload sent from {@link HostedFields#on|on} when the {@link HostedFields#event:binAvailable|binAvailable} event is emitted.\n * @property {string} bin The first 6 digits of the card number.\n */\n\n/**\n * @typedef {object} HostedFields~hostedFieldsFieldData\n * @description Data about Hosted Fields fields, sent in {@link HostedFields~stateObject|stateObjects}.\n * @property {HTMLElement} container Reference to the container DOM element on your page associated with the current event.\n * @property {boolean} isFocused Whether or not the input is currently focused.\n * @property {boolean} isEmpty Whether or not the user has entered a value in the input.\n * @property {boolean} isPotentiallyValid\n * A determination based on the future validity of the input value.\n * This is helpful when a user is entering a card number and types \"41\"
.\n * While that value is not valid for submission, it is still possible for\n * it to become a fully qualified entry. However, if the user enters \"4x\"
\n * it is clear that the card number can never become valid and isPotentiallyValid will\n * return false.\n * @property {boolean} isValid Whether or not the value of the associated input is fully qualified for submission.\n */\n\n/**\n * @typedef {object} HostedFields~hostedFieldsCard\n * @description Information about the card type, sent in {@link HostedFields~stateObject|stateObjects}.\n * @property {string} type The code-friendly representation of the card type. It will be one of the following strings:\n * - `american-express`\n * - `diners-club`\n * - `discover`\n * - `jcb`\n * - `maestro`\n * - `master-card`\n * - `unionpay`\n * - `visa`\n * @property {string} niceType The pretty-printed card type. It will be one of the following strings:\n * - `American Express`\n * - `Diners Club`\n * - `Discover`\n * - `JCB`\n * - `Maestro`\n * - `MasterCard`\n * - `UnionPay`\n * - `Visa`\n * @property {object} code\n * This object contains data relevant to the security code requirements of the card brand.\n * For example, on a Visa card there will be a CVV
of 3 digits, whereas an\n * American Express card requires a 4-digit CID
.\n * @property {string} code.name \"CVV\"
\"CID\"
\"CVC\"
\n * @property {number} code.size The expected length of the security code. Typically, this is 3 or 4.\n */\n\n/**\n * @name HostedFields#on\n * @function\n * @param {string} event The name of the event to which you are subscribing.\n * @param {function} handler A callback to handle the event.\n * @description Subscribes a handler function to a named event.\n *\n * **Events that emit a {@link HostedFields~stateObject|stateObject}.**\n * * {@link HostedFields#event:blur|blur}\n * * {@link HostedFields#event:focus|focus}\n * * {@link HostedFields#event:empty|empty}\n * * {@link HostedFields#event:notEmpty|notEmpty}\n * * {@link HostedFields#event:cardTypeChange|cardTypeChange}\n * * {@link HostedFields#event:validityChange|validityChange}\n * * {@link HostedFields#event:inputSubmitRequest|inputSubmitRequest}\n *\n * **Other Events**\n * * {@link HostedFields#event:binAvailable|binAvailable} - emits a {@link HostedFields~binPayload|bin payload}. Note: If you are using a [Referrer-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) header that prevents the origin from being sent, this event will not fire.\n * @example\n * data
, is a {@link HostedFields~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a function that resolves with a {@link HostedFields~tokenizePayload|tokenizePayload}.\n * @example
data
, is a {@link UnionPay~enrollPayload|enrollPayload}. If no callback is provided, `enroll` returns a promise that resolves with {@link UnionPay~enrollPayload|enrollPayload}.\n * @returns {void}\n */\nUnionPay.prototype.enroll = function (options) {\n var self = this;\n var client = this._options.client;\n var card = options.card;\n var mobile = options.mobile;\n var hostedFields = options.hostedFields;\n var data;\n\n if (!mobile) {\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_MISSING_MOBILE_PHONE_DATA)\n );\n }\n\n if (hostedFields) {\n if (!hostedFields._bus) {\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_HOSTED_FIELDS_INSTANCE_INVALID)\n );\n } else if (card) {\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_CARD_AND_HOSTED_FIELDS_INSTANCES)\n );\n }\n\n return new Promise(function (resolve, reject) {\n self._initializeHostedFields().then(function () {\n self._bus.emit(\n events.HOSTED_FIELDS_ENROLL,\n { hostedFields: hostedFields, mobile: mobile },\n function (response) {\n if (response.err) {\n reject(new BraintreeError(response.err));\n\n return;\n }\n\n resolve(response.payload);\n }\n );\n });\n });\n } else if (card && card.number) {\n data = {\n _meta: { source: \"unionpay\" },\n unionPayEnrollment: {\n number: card.number,\n mobileCountryCode: mobile.countryCode,\n mobileNumber: mobile.number,\n },\n };\n\n if (card.expirationDate) {\n data.unionPayEnrollment.expirationDate = card.expirationDate;\n } else if (card.expirationMonth || card.expirationYear) {\n if (card.expirationMonth && card.expirationYear) {\n data.unionPayEnrollment.expirationYear = card.expirationYear;\n data.unionPayEnrollment.expirationMonth = card.expirationMonth;\n } else {\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_EXPIRATION_DATE_INCOMPLETE)\n );\n }\n }\n\n return client\n .request({\n method: \"post\",\n endpoint: \"union_pay_enrollments\",\n data: data,\n })\n .then(function (response) {\n analytics.sendEvent(client, \"unionpay.enrollment-succeeded\");\n\n return {\n enrollmentId: response.unionPayEnrollmentId,\n smsCodeRequired: response.smsCodeRequired,\n };\n })\n .catch(function (err) {\n var error;\n var status = err.details && err.details.httpStatus;\n\n if (status === 403) {\n error = err;\n } else if (status < 500) {\n error = new BraintreeError(\n errors.UNIONPAY_ENROLLMENT_CUSTOMER_INPUT_INVALID\n );\n error.details = { originalError: err };\n } else {\n error = new BraintreeError(errors.UNIONPAY_ENROLLMENT_NETWORK_ERROR);\n error.details = { originalError: err };\n }\n\n analytics.sendEvent(client, \"unionpay.enrollment-failed\");\n\n return Promise.reject(error);\n });\n }\n\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_CARD_OR_HOSTED_FIELDS_INSTANCE_REQUIRED)\n );\n};\n\n/**\n * @typedef {object} UnionPay~tokenizePayload\n * @property {string} nonce The payment method nonce.\n * @property {string} type Always CreditCard
.\n * @property {object} details Additional account details:\n * @property {string} details.cardType Type of card, ex: Visa, MasterCard.\n * @property {string} details.lastFour Last four digits of card number.\n * @property {string} details.lastTwo Last two digits of card number.\n * @property {string} description A human-readable description.\n */\n\n/**\n * Tokenizes a UnionPay card and returns a nonce payload.\n * @public\n * @param {object} options UnionPay tokenization options:\n * @param {object} [options.card] The card to enroll. Required if you are not using the `hostedFields` option.\n * @param {string} options.card.number The card number.\n * @param {string} [options.card.expirationDate] The card's expiration date. May be in the form `MM/YY` or `MM/YYYY`. When defined `expirationMonth` and `expirationYear` are ignored.\n * @param {string} [options.card.expirationMonth] The card's expiration month. This should be used with the `expirationYear` parameter. When `expirationDate` is defined this parameter is ignored.\n * @param {string} [options.card.expirationYear] The card's expiration year. This should be used with the `expirationMonth` parameter. When `expirationDate` is defined this parameter is ignored.\n * @param {string} [options.card.cvv] The card's security number.\n * @param {HostedFields} [options.hostedFields] The Hosted Fields instance used to collect card data. Required if you are not using the `card` option.\n * @param {string} options.enrollmentId The enrollment ID from {@link UnionPay#enroll}.\n * @param {string} [options.smsCode] The SMS code received from the user if {@link UnionPay#enroll} payload have `smsCodeRequired`. if `smsCodeRequired` is false, smsCode should not be passed.\n * @param {callback} [callback] The second argument, data
, is a {@link UnionPay~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a promise that resolves with a {@link UnionPay~tokenizePayload|tokenizePayload}.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nUnionPay.prototype.tokenize = function (options) {\n var data;\n var self = this;\n var client = this._options.client;\n var card = options.card;\n var hostedFields = options.hostedFields;\n\n if (card && hostedFields) {\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_CARD_AND_HOSTED_FIELDS_INSTANCES)\n );\n } else if (card) {\n data = {\n _meta: { source: \"unionpay\" },\n creditCard: {\n number: options.card.number,\n options: {\n unionPayEnrollment: {\n id: options.enrollmentId,\n },\n },\n },\n };\n\n if (options.smsCode) {\n data.creditCard.options.unionPayEnrollment.smsCode = options.smsCode;\n }\n\n if (card.expirationDate) {\n data.creditCard.expirationDate = card.expirationDate;\n } else if (card.expirationMonth && card.expirationYear) {\n data.creditCard.expirationYear = card.expirationYear;\n data.creditCard.expirationMonth = card.expirationMonth;\n }\n\n if (options.card.cvv) {\n data.creditCard.cvv = options.card.cvv;\n }\n\n return client\n .request({\n method: \"post\",\n endpoint: \"payment_methods/credit_cards\",\n data: data,\n })\n .then(function (response) {\n var tokenizedCard = response.creditCards[0];\n\n delete tokenizedCard.consumed;\n delete tokenizedCard.threeDSecureInfo;\n\n analytics.sendEvent(client, \"unionpay.nonce-received\");\n\n return tokenizedCard;\n })\n .catch(function (err) {\n var error;\n var status = err.details && err.details.httpStatus;\n\n analytics.sendEvent(client, \"unionpay.nonce-failed\");\n\n if (status === 403) {\n error = err;\n } else if (status < 500) {\n error = new BraintreeError(errors.UNIONPAY_FAILED_TOKENIZATION);\n error.details = { originalError: err };\n } else {\n error = new BraintreeError(\n errors.UNIONPAY_TOKENIZATION_NETWORK_ERROR\n );\n error.details = { originalError: err };\n }\n\n return Promise.reject(error);\n });\n } else if (hostedFields) {\n if (!hostedFields._bus) {\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_HOSTED_FIELDS_INSTANCE_INVALID)\n );\n }\n\n return new Promise(function (resolve, reject) {\n self._initializeHostedFields().then(function () {\n self._bus.emit(\n events.HOSTED_FIELDS_TOKENIZE,\n options,\n function (response) {\n if (response.err) {\n reject(new BraintreeError(response.err));\n\n return;\n }\n\n resolve(response.payload);\n }\n );\n });\n });\n }\n\n return Promise.reject(\n new BraintreeError(errors.UNIONPAY_CARD_OR_HOSTED_FIELDS_INSTANCE_REQUIRED)\n );\n};\n\n/**\n * Cleanly remove anything set up by {@link module:braintree-web/unionpay.create|create}. This only needs to be called when using UnionPay with Hosted Fields.\n * @public\n * @param {callback} [callback] Called on completion. If no callback is provided, returns a promise.\n * @example\n * unionpayInstance.teardown();\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nUnionPay.prototype.teardown = function () {\n if (this._bus) {\n this._hostedFieldsFrame.parentNode.removeChild(this._hostedFieldsFrame);\n this._bus.teardown();\n }\n\n convertMethodsToError(this, methods(UnionPay.prototype));\n\n return Promise.resolve();\n};\n\nUnionPay.prototype._initializeHostedFields = function () {\n var assetsUrl, isDebug;\n var componentId = uuid();\n var self = this;\n\n if (this._hostedFieldsInitializePromise) {\n return this._hostedFieldsInitializePromise;\n }\n\n this._hostedFieldsInitializePromise = new Promise(function (resolve) {\n assetsUrl =\n self._options.client.getConfiguration().gatewayConfiguration.assetsUrl;\n isDebug = self._options.client.getConfiguration().isDebug;\n\n self._bus = new Bus({\n channel: componentId,\n verifyDomain: isVerifiedDomain,\n });\n self._hostedFieldsFrame = iFramer({\n name: constants.HOSTED_FIELDS_FRAME_NAME + \"_\" + componentId,\n src:\n assetsUrl +\n \"/web/\" +\n VERSION +\n \"/html/unionpay-hosted-fields-frame\" +\n useMin(isDebug) +\n \".html\",\n height: 0,\n width: 0,\n });\n\n self._bus.on(BUS_CONFIGURATION_REQUEST_EVENT, function (reply) {\n reply(self._options.client);\n\n resolve();\n });\n\n document.body.appendChild(self._hostedFieldsFrame);\n });\n\n return this._hostedFieldsInitializePromise;\n};\n\nmodule.exports = wrapPromise.wrapPrototype(UnionPay);\n\n},{\"../../lib/analytics\":119,\"../../lib/braintree-error\":124,\"../../lib/constants\":126,\"../../lib/convert-methods-to-error\":127,\"../../lib/is-verified-domain\":153,\"../../lib/methods\":155,\"../../lib/use-min\":160,\"./constants\":203,\"./errors\":204,\"@braintree/iframer\":35,\"@braintree/uuid\":39,\"@braintree/wrap-promise\":43,\"framebus\":52}],206:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = {\n PLAID_LINK_JS: \"https://cdn.plaid.com/link/v2/stable/link-initialize.js\",\n};\n\n},{}],207:[function(_dereq_,module,exports){\n\"use strict\";\n\n/**\n * @name BraintreeError.Us Bank Account - Creation Error Codes\n * @description Errors that occur when [creating the Us Bank Account component](./module-braintree-web_us-bank-account.html#.create).\n * @property {MERCHANT} US_BANK_ACCOUNT_NOT_ENABLED Occurs when US Bank Account is not enabled in the Braintree control panel.\n */\n\n/**\n * @name BraintreeError.Us Bank Account - tokenize Error Codes\n * @description Errors that occur when using the [`tokenize` method](./UsBankAccount.html#tokenize).\n * @property {MERCHANT} US_BANK_ACCOUNT_OPTION_REQUIRED Occurs when a required option is not passed.\n * @property {MERCHANT} US_BANK_ACCOUNT_MUTUALLY_EXCLUSIVE_OPTIONS Occurs when 1 or more incompatible options are passed.\n * @property {NETWORK} US_BANK_ACCOUNT_LOGIN_LOAD_FAILED Occurs when bank login flow fails.\n * @property {CUSTOMER} US_BANK_ACCOUNT_LOGIN_CLOSED Occurs when bank login window is closed.\n * @property {MERCHANT} US_BANK_ACCOUNT_LOGIN_REQUEST_ACTIVE Occurs when a bank login flow is already active.\n * @property {NETWORK} US_BANK_ACCOUNT_TOKENIZATION_NETWORK_ERROR Occurs when payment details could not be tokenized.\n * @property {CUSTOMER} US_BANK_ACCOUNT_FAILED_TOKENIZATION Occurs when payment details failed to be tokenized.\n * @property {MERCHANT} US_BANK_ACCOUNT_BANK_LOGIN_NOT_ENABLED Occurs when bank login flow is not enabled in the Braintree control panel.\n */\n\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\n\nmodule.exports = {\n US_BANK_ACCOUNT_OPTION_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: \"US_BANK_ACCOUNT_OPTION_REQUIRED\",\n },\n US_BANK_ACCOUNT_MUTUALLY_EXCLUSIVE_OPTIONS: {\n type: BraintreeError.types.MERCHANT,\n code: \"US_BANK_ACCOUNT_MUTUALLY_EXCLUSIVE_OPTIONS\",\n },\n US_BANK_ACCOUNT_LOGIN_LOAD_FAILED: {\n type: BraintreeError.types.NETWORK,\n code: \"US_BANK_ACCOUNT_LOGIN_LOAD_FAILED\",\n message: \"Bank login flow failed to load.\",\n },\n US_BANK_ACCOUNT_LOGIN_CLOSED: {\n type: BraintreeError.types.CUSTOMER,\n code: \"US_BANK_ACCOUNT_LOGIN_CLOSED\",\n message: \"Customer closed bank login flow before authorizing.\",\n },\n US_BANK_ACCOUNT_LOGIN_REQUEST_ACTIVE: {\n type: BraintreeError.types.MERCHANT,\n code: \"US_BANK_ACCOUNT_LOGIN_REQUEST_ACTIVE\",\n message: \"Another bank login tokenization request is active.\",\n },\n US_BANK_ACCOUNT_TOKENIZATION_NETWORK_ERROR: {\n type: BraintreeError.types.NETWORK,\n code: \"US_BANK_ACCOUNT_TOKENIZATION_NETWORK_ERROR\",\n message: \"A tokenization network error occurred.\",\n },\n US_BANK_ACCOUNT_FAILED_TOKENIZATION: {\n type: BraintreeError.types.CUSTOMER,\n code: \"US_BANK_ACCOUNT_FAILED_TOKENIZATION\",\n message: \"The supplied data failed tokenization.\",\n },\n US_BANK_ACCOUNT_NOT_ENABLED: {\n type: BraintreeError.types.MERCHANT,\n code: \"US_BANK_ACCOUNT_NOT_ENABLED\",\n message: \"US bank account is not enabled.\",\n },\n US_BANK_ACCOUNT_BANK_LOGIN_NOT_ENABLED: {\n type: BraintreeError.types.MERCHANT,\n code: \"US_BANK_ACCOUNT_BANK_LOGIN_NOT_ENABLED\",\n message: \"Bank login is not enabled.\",\n },\n};\n\n},{\"../lib/braintree-error\":124}],208:[function(_dereq_,module,exports){\n\"use strict\";\n/**\n * @module braintree-web/us-bank-account\n * @description This module is for accepting payments of US bank accounts.\n */\n\nvar basicComponentVerification = _dereq_(\"../lib/basic-component-verification\");\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\nvar createDeferredClient = _dereq_(\"../lib/create-deferred-client\");\nvar createAssetsUrl = _dereq_(\"../lib/create-assets-url\");\nvar errors = _dereq_(\"./errors\");\nvar USBankAccount = _dereq_(\"./us-bank-account\");\nvar VERSION = \"3.97.3\";\nvar wrapPromise = _dereq_(\"@braintree/wrap-promise\");\n\n/**\n * @static\n * @function create\n * @param {object} options Creation options:\n * @param {Client} [options.client] A {@link Client} instance.\n * @param {string} [options.authorization] A tokenizationKey or clientToken. Can be used in place of `options.client`.\n * @param {callback} [callback] The second argument, `data`, is the {@link USBankAccount} instance. If no callback is provided, `create` returns a promise that resolves with the {@link USBankAccount} instance.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nfunction create(options) {\n var name = \"US Bank Account\";\n\n return basicComponentVerification\n .verify({\n name: name,\n client: options.client,\n authorization: options.authorization,\n })\n .then(function () {\n return createDeferredClient.create({\n authorization: options.authorization,\n client: options.client,\n debug: options.debug,\n assetsUrl: createAssetsUrl.create(options.authorization),\n name: name,\n });\n })\n .then(function (client) {\n var usBankAccount;\n\n options.client = client;\n\n usBankAccount =\n options.client.getConfiguration().gatewayConfiguration.usBankAccount;\n if (!usBankAccount) {\n return Promise.reject(\n new BraintreeError(errors.US_BANK_ACCOUNT_NOT_ENABLED)\n );\n }\n\n return new USBankAccount(options);\n });\n}\n\nmodule.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of the SDK, i.e. `{@pkg version}`.\n * @type {string}\n */\n VERSION: VERSION,\n};\n\n},{\"../lib/basic-component-verification\":122,\"../lib/braintree-error\":124,\"../lib/create-assets-url\":129,\"../lib/create-deferred-client\":131,\"./errors\":207,\"./us-bank-account\":209,\"@braintree/wrap-promise\":43}],209:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\nvar constants = _dereq_(\"./constants\");\nvar errors = _dereq_(\"./errors\");\nvar sharedErrors = _dereq_(\"../lib/errors\");\nvar analytics = _dereq_(\"../lib/analytics\");\nvar once = _dereq_(\"../lib/once\");\nvar convertMethodsToError = _dereq_(\"../lib/convert-methods-to-error\");\nvar methods = _dereq_(\"../lib/methods\");\nvar wrapPromise = _dereq_(\"@braintree/wrap-promise\");\n\nvar TOKENIZE_BANK_DETAILS_MUTATION = createGraphQLMutation(\"UsBankAccount\");\nvar TOKENIZE_BANK_LOGIN_MUTATION = createGraphQLMutation(\"UsBankLogin\");\n\n/**\n * @typedef {object} USBankAccount~tokenizePayload\n * @property {string} nonce The payment method nonce.\n * @property {string} type The payment method type, always `us_bank_account`.\n * @property {object} details Additional account details. Currently empty.\n */\n\n/**\n * @class\n * @param {object} options See {@link module:braintree-web/us-bank-account.create|us-bank-account.create}.\n * @classdesc This class represents a US Bank Account component. Instances of this class can tokenize raw bank details or present a bank login. You cannot use this constructor directly. Use {@link module:braintree-web/us-bank-account.create|braintree.us-bank-account.create} instead.\n */\nfunction USBankAccount(options) {\n this._client = options.client;\n\n this._isTokenizingBankLogin = false;\n\n analytics.sendEvent(this._client, \"usbankaccount.initialized\");\n}\n\n/**\n * Tokenizes bank information to return a payment method nonce. You can tokenize bank details by providing information like account and routing numbers. You can also tokenize with a bank login UI that prompts the customer to log into their bank account.\n * @public\n * @param {object} options All tokenization options for the US Bank Account component.\n * @param {string} options.mandateText A string for proof of customer authorization. For example, `'I authorize Braintree to debit my bank account on behalf of My Online Store.'`.\n * @param {object} [options.bankDetails] Bank detail information (such as account and routing numbers). `bankDetails` or `bankLogin` option must be provided.\n * @param {string} options.bankDetails.routingNumber The customer's bank routing number, such as `'307075259'`.\n * @param {string} options.bankDetails.accountNumber The customer's bank account number, such as `'999999999'`.\n * @param {string} options.bankDetails.accountType The customer's bank account type. Must be `'checking'` or `'savings'`.\n * @param {string} options.bankDetails.ownershipType The customer's bank account ownership type. Must be `'personal'` or `'business'`.\n * @param {string} [options.bankDetails.firstName] The customer's first name. Required when account ownership type is `personal`.\n * @param {string} [options.bankDetails.lastName] The customer's last name. Required when account ownership type is `personal`.\n * @param {string} [options.bankDetails.businessName] The customer's business name. Required when account ownership type is `business`.\n * @param {object} options.bankDetails.billingAddress The customer's billing address.\n * @param {string} options.bankDetails.billingAddress.streetAddress The street address for the customer's billing address, such as `'123 Fake St'`.\n * @param {string} [options.bankDetails.billingAddress.extendedAddress] The extended street address for the customer's billing address, such as `'Apartment B'`.\n * @param {string} options.bankDetails.billingAddress.locality The locality for the customer's billing address. This is typically a city, such as `'San Francisco'`.\n * @param {string} options.bankDetails.billingAddress.region The region for the customer's billing address. This is typically a state, such as `'CA'`.\n * @param {string} options.bankDetails.billingAddress.postalCode The postal code for the customer's billing address. This is typically a ZIP code, such as `'94119'`.\n * @param {object} [options.bankLogin] Bank login information. `bankLogin` or `bankDetails` option must be provided.\n * @param {string} options.bankLogin.displayName Display name for the bank login UI, such as `'My Store'`.\n * @param {string} options.bankLogin.ownershipType The customer's bank account ownership type. Must be `'personal'` or `'business'`.\n * @param {string} [options.bankLogin.firstName] The customer's first name. Required when account ownership type is `personal`.\n * @param {string} [options.bankLogin.lastName] The customer's last name. Required when account ownership type is `personal`.\n * @param {string} [options.bankLogin.businessName] The customer's business name. Required when account ownership type is `business`.\n * @param {object} options.bankLogin.billingAddress The customer's billing address.\n * @param {string} options.bankLogin.billingAddress.streetAddress The street address for the customer's billing address, such as `'123 Fake St'`.\n * @param {string} [options.bankLogin.billingAddress.extendedAddress] The extended street address for the customer's billing address, such as `'Apartment B'`.\n * @param {string} options.bankLogin.billingAddress.locality The locality for the customer's billing address. This is typically a city, such as `'San Francisco'`.\n * @param {string} options.bankLogin.billingAddress.region The region for the customer's billing address. This is typically a state, such as `'CA'`.\n * @param {string} options.bankLogin.billingAddress.postalCode The postal code for the customer's billing address. This is typically a ZIP code, such as `'94119'`.\n * @param {callback} [callback] The second argument, data
, is a {@link USBankAccount~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a promise that resolves with {@link USBankAccount~tokenizePayload|tokenizePayload}.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * data
, is a {@link Venmo~tokenizePayload|tokenizePayload}. If no callback is provided, the method will return a Promise that resolves with a {@link Venmo~tokenizePayload|tokenizePayload}.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * button.addEventListener('click', function () {\n * // Disable the button so that we don't attempt to open multiple popups.\n * button.setAttribute('disabled', 'disabled');\n *\n * // Because tokenize opens a new window, this must be called\n * // as a result of a user action, such as a button click.\n * venmoInstance.tokenize().then(function (payload) {\n * // Submit payload.nonce to your server\n * // Use payload.username to get the Venmo username and display any UI\n * }).catch(function (tokenizeError) {\n * // Handle flow errors or premature flow closure\n * switch (tokenizeErr.code) {\n * case 'VENMO_APP_CANCELED':\n * console.log('User canceled Venmo flow.');\n * break;\n * case 'VENMO_CANCELED':\n * console.log('User canceled Venmo, or Venmo app is not available.');\n * break;\n * default:\n * console.error('Error!', tokenizeErr);\n * }\n * }).then(function () {\n * button.removeAttribute('disabled');\n * });\n * });\n */\nVenmo.prototype.tokenize = function (options) {\n var self = this;\n var tokenizationPromise;\n\n options = options || {};\n\n if (this._tokenizationInProgress === true) {\n return Promise.reject(\n new BraintreeError(errors.VENMO_TOKENIZATION_REQUEST_ACTIVE)\n );\n }\n\n this._tokenizationInProgress = true;\n if (this._useDesktopQRFlow) {\n // for the desktop flow, we create a venmo payment\n // context and then present a qr code modal to the\n // customer and they will open up their venmo app\n // and scan it and approve the purchase on their\n // mobile device. The sdk will start polling\n // in order to determine when the status of the\n // payment context has updated and then pass the\n // resulting nonce back to the merchant.\n tokenizationPromise = this._tokenizeForDesktopQRFlow(options);\n } else if (this._useAllowDesktopWebLogin) {\n /**\n * For Desktop Web Login, we open a browser popup to allow for authorization. Once authorized, the redirect urls are used by Venmo, and we query the API for a payment context status update.\n *\n * - Payment context is created on initialization\n * - Popup is opened to Venmo login url.\n * - The payment is authorized or canceled, and the popup is closed\n * - Once the popup is closed, we query the API for a payment context status update\n *\n * This is an alternate, opt-in flow to be used the Desktop QR Flow is not desired for Pay with Venmo desktop experiences.\n */\n tokenizationPromise = this._tokenizeWebLoginWithRedirect();\n } else if (this._cannotHaveReturnUrls) {\n // in the manual return strategy, we create the payment\n // context on initialization, then continually poll once\n // the app switch begins until we get a response indiciating\n // the payment context was approved by the customer on the\n // Venmo app. The payment context response also includes a\n // nonce. There are 2 cases where we use the manual return\n // strategy:\n // 1. the sdk is instantiated in an iframe, because\n // the venmo app is unable to redirect automatically\n // when that is the case so we rely on the customer\n // to do a manual redirect and continunally poll for\n // updates on the payment context to get the nonce\n // 2. same deal for when `requireManualReturn` is configured\n tokenizationPromise = this._tokenizeForMobileWithManualReturn();\n } else {\n // the default mobile flow is to app switch to the\n // venmo app, and then have the venmo app switch\n // back to the page with the venmo nonce details\n // encoded into the hash portion of the url. If\n // `paymentMethodUsage` is provided when instantiating\n // the sdk, we also create a payment context and pass\n // the resource id to the Venmo app during the app switch.\n // Once we get a succesful return, we ping the payment\n // context query to get any additional data needed\n // to send back to the merchant.\n tokenizationPromise =\n this._tokenizeForMobileWithHashChangeListeners(options);\n }\n\n return tokenizationPromise\n .then(function (payload) {\n return self._createPromise\n .then(function (client) {\n return self._createVenmoPaymentContext(client);\n })\n .then(function () {\n self._tokenizationInProgress = false;\n\n return formatTokenizePayload(payload);\n });\n })\n .catch(function (err) {\n return self._createPromise\n .then(function (client) {\n // We create a new Payment Context because if the last one failed, then presumably we don't want to use it again.\n // On the first pass, we create the payment context at initialization, and since we used that first one we now need to create a new one\n // for the next time someone tries to tokenize.\n return self._createVenmoPaymentContext(client);\n })\n .then(function () {\n self._tokenizationInProgress = false;\n\n return Promise.reject(err);\n });\n });\n};\n\n/**\n * Cancels the venmo tokenization process\n *\n * @public\n * @function Venmo~cancelTokenization\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * venmoTokenizeButton.addEventListener('click', function () {\n * venmoInstance.tokenize().then(function (payload) {\n * // handle payload\n * }).catch(function (err) {\n * if (err.code === 'VENMO_TOKENIZATION_CANCELED_BY_MERCHANT') {\n * // tokenization was canceled by calling cancelTokenization\n * }\n * });\n * });\n *\n * venmoCancelButton.addEventListener('click', function () {\n * // Hide the button when the venmo flow is not in progress\n * venmoCancelButton.style.display = \"none\";\n *\n * venmoInstance.cancelTokenization().then(function () {\n * // done canceling the flow\n * }).catch(function (err) {\n * // should only get here if there is no tokenization in progress\n * });\n * });\n */\nVenmo.prototype.cancelTokenization = function () {\n if (!this._tokenizationInProgress) {\n return Promise.reject(\n new BraintreeError(errors.VENMO_TOKENIZATION_REQUEST_NOT_ACTIVE)\n );\n }\n\n this._removeVisibilityEventListener();\n\n // important to reject the tokenization promise first\n // so the tokenize method rejects with this error\n // rather than a customer canceled error in the mobile\n // polling and desktop flows\n if (this._tokenizePromise) {\n this._tokenizePromise.reject(\n new BraintreeError(errors.VENMO_TOKENIZATION_CANCELED_BY_MERCHANT)\n );\n }\n\n return Promise.all([\n this._cancelMobilePaymentContext(),\n this._cancelVenmoDesktopContext(),\n ]);\n};\n\nVenmo.prototype._tokenizeWebLoginWithRedirect = function () {\n var self = this;\n\n analytics.sendEvent(self._createPromise, \"venmo.tokenize.web-login.start\");\n this._tokenizePromise = new ExtendedPromise();\n\n return this.getUrl().then(function (url) {\n desktopWebLogin\n .runWebLogin({\n checkForStatusChange:\n self._checkPaymentContextStatusAndProcessResult.bind(self),\n cancelTokenization: self.cancelTokenization.bind(self),\n frameServiceInstance: self._frameServiceInstance,\n venmoUrl: url,\n debug: self._isDebug,\n })\n .then(function (payload) {\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.web-login.success\"\n );\n\n self._tokenizePromise.resolve({\n paymentMethodNonce: payload.paymentMethodId,\n username: payload.userName,\n payerInfo: payload.payerInfo,\n id: self._venmoPaymentContextId,\n });\n })\n .catch(function (err) {\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.web-login.failure\"\n );\n\n self._tokenizePromise.reject(err);\n });\n\n return self._tokenizePromise;\n });\n};\n\nVenmo.prototype._queryPaymentContextStatus = function (id) {\n var self = this;\n\n return this._createPromise\n .then(function (client) {\n var query = self._shouldUseLegacyFlow\n ? graphqlQueries.LEGACY_VENMO_PAYMENT_CONTEXT_STATUS_QUERY\n : graphqlQueries.VENMO_PAYMENT_CONTEXT_STATUS_QUERY;\n\n return client.request({\n api: \"graphQLApi\",\n data: {\n query: query,\n variables: {\n id: id,\n },\n },\n });\n })\n .then(function (response) {\n return response.data.node;\n });\n};\n\n/**\n * Queries the GraphQL API to get the payment context and process the status. Retries until there is an update to the payment context status.\n * @name Venmo~checkPaymentContextStatusAndProcessResult\n * @ignore\n * @param {number} retryCount The counter for tracking number of retries made against the API.\n * @returns {Promise} Returns a promise\n */\nVenmo.prototype._checkPaymentContextStatusAndProcessResult = function (\n retryCount\n) {\n var self = this;\n\n return self\n ._queryPaymentContextStatus(self._venmoPaymentContextId)\n .catch(function (networkError) {\n return Promise.reject(\n new BraintreeError({\n type: errors.VENMO_NETWORK_ERROR.type,\n code: errors.VENMO_NETWORK_ERROR.code,\n message: errors.VENMO_NETWORK_ERROR.message,\n details: networkError,\n })\n );\n })\n .then(function (node) {\n var resultStatus = node.status;\n\n if (resultStatus !== self._venmoPaymentContextStatus) {\n self._venmoPaymentContextStatus = resultStatus;\n\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.web-login.status-change\"\n );\n\n switch (resultStatus) {\n case \"APPROVED\":\n return Promise.resolve(node);\n case \"CANCELED\":\n return Promise.reject(\n new BraintreeError(errors.VENMO_CUSTOMER_CANCELED)\n );\n case \"FAILED\":\n return Promise.reject(\n new BraintreeError(errors.VENMO_TOKENIZATION_FAILED)\n );\n default:\n }\n }\n\n return new Promise(function (resolve, reject) {\n if (retryCount < self._maxRetryCount) {\n retryCount++;\n\n return self\n ._checkPaymentContextStatusAndProcessResult(retryCount)\n .then(resolve)\n .catch(reject);\n }\n\n return reject(new BraintreeError(errors.VENMO_TOKENIZATION_FAILED));\n });\n });\n};\n\nVenmo.prototype._pollForStatusChange = function () {\n var self = this;\n\n if (Date.now() > self._mobilePollingContextExpiresIn) {\n return Promise.reject(\n new BraintreeError(errors.VENMO_MOBILE_POLLING_TOKENIZATION_TIMEOUT)\n );\n }\n\n return this._queryPaymentContextStatus(this._venmoPaymentContextId)\n .catch(function (networkError) {\n return Promise.reject(\n new BraintreeError({\n type: errors.VENMO_MOBILE_POLLING_TOKENIZATION_NETWORK_ERROR.type,\n code: errors.VENMO_MOBILE_POLLING_TOKENIZATION_NETWORK_ERROR.code,\n message:\n errors.VENMO_MOBILE_POLLING_TOKENIZATION_NETWORK_ERROR.message,\n details: {\n originalError: networkError,\n },\n })\n );\n })\n .then(function (node) {\n var newStatus = node.status;\n\n if (newStatus !== self._venmoPaymentContextStatus) {\n self._venmoPaymentContextStatus = newStatus;\n\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.manual-return.status-change.\" +\n newStatus.toLowerCase()\n );\n\n switch (newStatus) {\n case \"EXPIRED\":\n case \"FAILED\":\n case \"CANCELED\":\n return Promise.reject(\n new BraintreeError(\n errors[\"VENMO_MOBILE_POLLING_TOKENIZATION_\" + newStatus]\n )\n );\n case \"APPROVED\":\n return Promise.resolve(node);\n case \"CREATED\":\n case \"SCANNED\":\n default:\n // any other statuses are irrelevant to the polling\n // and can just be ignored\n }\n }\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n self._pollForStatusChange().then(resolve).catch(reject);\n }, self._mobilePollingInterval);\n });\n });\n};\n\nVenmo.prototype._tokenizeForMobileWithManualReturn = function () {\n var self = this;\n\n analytics.sendEvent(\n this._createPromise,\n \"venmo.tokenize.manual-return.start\"\n );\n\n this._mobilePollingContextExpiresIn =\n Date.now() + this._mobilePollingExpiresThreshold;\n this._tokenizePromise = new ExtendedPromise();\n\n this._pollForStatusChange()\n .then(function (payload) {\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.manual-return.success\"\n );\n\n self._tokenizePromise.resolve({\n paymentMethodNonce: payload.paymentMethodId,\n username: payload.userName,\n payerInfo: payload.payerInfo,\n id: self._venmoPaymentContextId,\n });\n })\n .catch(function (err) {\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.manual-return.failure\"\n );\n\n self._tokenizePromise.reject(err);\n });\n\n return this.getUrl().then(function (url) {\n self.appSwitch(url);\n\n return self._tokenizePromise;\n });\n};\n\nVenmo.prototype._shouldUseRedirectStrategy = function () {\n if (!browserDetection.isIos()) {\n return false;\n }\n\n if (this._mobileWebFallBack === true) {\n return true;\n }\n\n return this._useRedirectForIOS;\n};\n\nVenmo.prototype._tokenizeForMobileWithHashChangeListeners = function (options) {\n var self = this;\n var resultProcessingInProgress, visibilityChangeListenerTimeout;\n\n if (this.hasTokenizationResult()) {\n return this.processHashChangeFlowResults();\n }\n\n analytics.sendEvent(this._createPromise, \"venmo.tokenize.mobile.start\");\n this._tokenizePromise = new ExtendedPromise();\n\n this._previousHash = window.location.hash;\n\n function completeFlow(hash) {\n var error;\n\n self\n .processHashChangeFlowResults(hash)\n .catch(function (err) {\n error = err;\n })\n .then(function (res) {\n if (\n !self._ignoreHistoryChanges &&\n window.location.hash !== self._previousHash\n ) {\n window.location.hash = self._previousHash;\n }\n self._removeVisibilityEventListener();\n\n if (error) {\n self._tokenizePromise.reject(error);\n } else {\n self._tokenizePromise.resolve(res);\n }\n delete self._tokenizePromise;\n });\n }\n\n // The Venmo SDK app switches back with the results of the\n // tokenization encoded in the hash\n this._onHashChangeListener = function (e) {\n var hash = e.newURL.split(\"#\")[1];\n\n if (!self._hasTokenizationResult(hash)) {\n return;\n }\n\n resultProcessingInProgress = true;\n clearTimeout(visibilityChangeListenerTimeout);\n completeFlow(hash);\n };\n\n window.addEventListener(\"hashchange\", this._onHashChangeListener, false);\n\n // Subscribe to document visibility change events to detect when app switch\n // has returned. Acts as a fallback for the hashchange listener and catches\n // the cancel case via manual app switch back\n this._visibilityChangeListener = function () {\n var delay =\n options.processResultsDelay || constants.DEFAULT_PROCESS_RESULTS_DELAY;\n\n if (!window.document.hidden) {\n if (!resultProcessingInProgress) {\n visibilityChangeListenerTimeout = setTimeout(completeFlow, delay);\n }\n }\n };\n\n return this.getUrl().then(function (url) {\n self.appSwitch(url);\n\n // Add a brief delay to ignore visibility change events that occur right before app switch\n setTimeout(function () {\n window.document.addEventListener(\n documentVisibilityChangeEventName(),\n self._visibilityChangeListener\n );\n }, constants.DOCUMENT_VISIBILITY_CHANGE_EVENT_DELAY);\n\n return self._tokenizePromise;\n });\n};\n\nVenmo.prototype._tokenizeForDesktopQRFlow = function () {\n var self = this;\n\n analytics.sendEvent(this._createPromise, \"venmo.tokenize.desktop.start\");\n\n this._tokenizePromise = new ExtendedPromise();\n\n this._createPromise\n .then(function () {\n return self._venmoDesktopInstance.launchDesktopFlow();\n })\n .then(function (payload) {\n self._venmoDesktopInstance.hideDesktopFlow();\n\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.desktop.success\"\n );\n\n self._tokenizePromise.resolve(payload);\n })\n .catch(function (err) {\n analytics.sendEvent(\n self._createPromise,\n \"venmo.tokenize.desktop.failure\"\n );\n\n if (self._venmoDesktopInstance) {\n self._venmoDesktopInstance.hideDesktopFlow();\n }\n\n if (err && err.reason === \"CUSTOMER_CANCELED\") {\n self._tokenizePromise.reject(\n new BraintreeError(errors.VENMO_DESKTOP_CANCELED)\n );\n\n return;\n }\n\n self._tokenizePromise.reject(\n new BraintreeError({\n type: errors.VENMO_DESKTOP_UNKNOWN_ERROR.type,\n code: errors.VENMO_DESKTOP_UNKNOWN_ERROR.code,\n message: errors.VENMO_DESKTOP_UNKNOWN_ERROR.message,\n details: {\n originalError: err,\n },\n })\n );\n });\n\n return this._tokenizePromise;\n};\n\nVenmo.prototype._cancelMobilePaymentContext = function () {\n var self = this;\n\n return this._createPromise.then(function (client) {\n var query;\n\n if (self._venmoPaymentContextId) {\n query = self._shouldUseLegacyFlow\n ? graphqlQueries.LEGACY_UPDATE_PAYMENT_CONTEXT_QUERY\n : graphqlQueries.UPDATE_PAYMENT_CONTEXT_QUERY;\n\n return client.request({\n api: \"graphQLApi\",\n data: {\n query: query,\n variables: {\n input: {\n id: self._venmoPaymentContextId,\n status: \"CANCELED\",\n },\n },\n },\n });\n }\n\n return Promise.resolve();\n });\n};\n\nVenmo.prototype._cancelVenmoDesktopContext = function () {\n var self = this;\n\n return this._createPromise.then(function () {\n if (self._venmoDesktopInstance) {\n self._venmoDesktopInstance.updateVenmoDesktopPaymentContext(\"CANCELED\");\n }\n\n return Promise.resolve();\n });\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/venmo.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * venmoInstance.teardown();\n * @example tokenizePayload
is a {@link VisaCheckout~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a promise that resolves with the {@link VisaCheckout~tokenizePayload|tokenizePayload}.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nVisaCheckout.prototype.tokenize = function (payment) {\n var self = this;\n\n if (!payment.callid || !payment.encKey || !payment.encPaymentData) {\n return Promise.reject(\n new BraintreeError(errors.VISA_CHECKOUT_PAYMENT_REQUIRED)\n );\n }\n\n return this._client\n .request({\n method: \"post\",\n endpoint: \"payment_methods/visa_checkout_cards\",\n data: {\n _meta: {\n source: \"visa-checkout\",\n },\n visaCheckoutCard: {\n callId: payment.callid,\n encryptedPaymentData: payment.encPaymentData,\n encryptedKey: payment.encKey,\n },\n },\n })\n .then(function (response) {\n analytics.sendEvent(self._client, \"visacheckout.tokenize.succeeded\");\n\n return response.visaCheckoutCards[0];\n })\n .catch(function (err) {\n analytics.sendEvent(self._client, \"visacheckout.tokenize.failed\");\n\n return Promise.reject(\n new BraintreeError({\n type: errors.VISA_CHECKOUT_TOKENIZATION.type,\n code: errors.VISA_CHECKOUT_TOKENIZATION.code,\n message: errors.VISA_CHECKOUT_TOKENIZATION.message,\n details: {\n originalError: err,\n },\n })\n );\n });\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/visa-checkout.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * visaCheckoutInstance.teardown();\n * @example