{"version":3,"file":"js/74-a2f2d6cc49dfbb65cf0b.chunk.js","mappings":"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AK1+C,OAAOg0C,WAM/D,CAEA,SAASk3B,IACPtsE,SAAS0gC,eAAe,8BAA8BgC,UAAUwJ,IAAI,SACtE,CAEA,SAASugC,IACP,IAAIC,EAAiB,CACnB,IAAMf,EAAYC,eAAiB,KACnC,iBACA,IACA,IAAMD,EAAY7S,SAAW,KAC7B,uBACA,mBACA,mBACA,UACA,WACA,aACA,eACA,kCACA,KAEE6T,EAA0B,CAC5B,IAAMhB,EAAYE,kBAAoB,KACtC,iBACA,yBACA,2BACA,uBACA,eACA,gBACA,0BACA,KAGEe,EAAqB,CACvB,IAAMjB,EAAYG,aAAe,KACjC,gBACA,gBACA,+DACA,sBACA,oBACA,mBACA,qBACA,sBACA,iCACA,gBACA,kBACA,oBACA,KAGEe,EAAuB,CACzB,IAAMlB,EAAYI,eAAiB,KACnC,gBACA,gBACA,uBACA,uBACA,gBACA,+DACA,sBACA,oBACA,mBACA,kBACA,oBACA,KAGEe,EAAgB,CAClB,IAAMnB,EAAYv2D,QAAU,KAC5B,+DACA,sBACA,oBACA,mBACA,qBACA,sBACA,kBACA,oBACA,KAGE23D,EAAoB,CACtB,IAAMpB,EAAYK,aAAe,KACjC,+DACA,sBACA,oBACA,mBACA,qBACA,sBACA,kBACA,oBACA,gBACA,KAWF,OARgBU,EAAe96D,OAC7B+6D,EACAC,EACAC,EACAC,EACAC,GAGe79B,KAAK,KACxB,CAEA,SAAS89B,IACP,IACIC,EACFC,EACAC,EACAC,EACAC,EACAC,EACAvB,EACAD,EAREyB,EAA0BvtE,SAAS0gC,eAAeirC,EAAY7S,UAU9DyU,EACFA,EAAwB7qC,UAAUsE,OAAO,WAI3CimC,EAAwBjtE,SAASC,cAAc,SAC/CitE,EAAcltE,SAASC,cAAc,OACrCktE,EAA2BntE,SAASC,cAAc,OAClDmtE,EAAeptE,SAASC,cAAc,OACtCotE,EAAkBrtE,SAASC,cAAc,OACzCqtE,EAAkBttE,SAASC,cAAc,OACzC8rE,EAAiB/rE,SAASC,cAAc,UACxC6rE,EAAe9rE,SAASC,cAAc,UAEtCgtE,EAAsB1sE,GAAK,qCAC3B0sE,EAAsBt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","sources":["webpack://app/./node_modules/braintree-web/dist/browser/index.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.4\";\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.4\";\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